- Update headers

svn path=/trunk/; revision=32946
This commit is contained in:
Dmitry Chapyshev 2008-04-13 18:21:20 +00:00
parent 73c8871a92
commit 512c0021fa
8 changed files with 1245 additions and 894 deletions

View file

@ -141,7 +141,9 @@ typedef struct _avistreamheader
} rcFrame; } rcFrame;
} AVISTREAMHEADER; } AVISTREAMHEADER;
#if defined(_MSC_VER)
#pragma warning(disable:4200) #pragma warning(disable:4200)
#endif
typedef struct _avioldindex typedef struct _avioldindex
{ {

View file

@ -10,6 +10,7 @@
<file>mediaobj.idl</file> <file>mediaobj.idl</file>
<file>medparam.idl</file> <file>medparam.idl</file>
<file>mmstream.idl</file> <file>mmstream.idl</file>
<file>qedit.idl</file>
<file>regbag.idl</file> <file>regbag.idl</file>
<file>tvratings.idl</file> <file>tvratings.idl</file>
<file>vidcap.idl</file> <file>vidcap.idl</file>

View file

@ -0,0 +1,168 @@
/*
* Copyright (C) 2008 Google (Lei Zhang)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
import "ocidl.idl";
/* import "dxtrans.idl"; */
import "amstream.idl";
import "msxml.idl";
[
object,
uuid(0579154A-2B53-4994-B0D0-E773148EFF85),
local,
pointer_default(unique)
]
interface ISampleGrabberCB : IUnknown
{
HRESULT SampleCB(
double SampleTime,
IMediaSample * pSample
);
HRESULT BufferCB(
double SampleTime,
BYTE * pBuffer,
long BufferLen
);
}
[
object,
uuid(6B652FFF-11FE-4fce-92AD-0266B5D7C78F),
local,
pointer_default(unique)
]
interface ISampleGrabber: IUnknown
{
HRESULT SetOneShot(
BOOL OneShot
);
HRESULT SetMediaType(
const AM_MEDIA_TYPE * pType
);
HRESULT GetConnectedMediaType(
AM_MEDIA_TYPE * pType
);
HRESULT SetBufferSamples(
BOOL BufferThem
);
HRESULT GetCurrentBuffer(
[in,out] long * pBufferSize,
[out] long * pBuffer
);
HRESULT GetCurrentSample(
[out] IMediaSample ** ppSample
);
HRESULT SetCallback(
ISampleGrabberCB * pCallback,
long WhichMethodToCallback
);
};
[
object,
uuid(65bd0710-24d2-4FF7-9324-ed2e5d3abafa),
pointer_default(unique)
]
interface IMediaDet : IUnknown
{
HRESULT get_Filter(
[out] IUnknown* *pVal
);
HRESULT put_Filter(
IUnknown* newVal
);
HRESULT get_OutputStreams(
[out] long *pVal
);
HRESULT get_CurrentStream(
[out] long *pVal
);
HRESULT put_CurrentStream(
long newVal
);
HRESULT get_StreamType(
[out] GUID *pVal
);
HRESULT get_StreamTypeB(
[out] BSTR *pVal
);
HRESULT get_StreamLength(
[out] double *pVal
);
HRESULT get_Filename(
[out] BSTR *pVal
);
HRESULT put_Filename(
BSTR newVal
);
HRESULT GetBitmapBits(
double StreamTime,
long * pBufferSize,
char * pBuffer,
long Width,
long Height
);
HRESULT WriteBitmapBits(
double StreamTime,
long Width,
long Height,
BSTR Filename
);
HRESULT get_StreamMediaType(
[out] AM_MEDIA_TYPE * pVal
);
HRESULT GetSampleGrabber(
[out] ISampleGrabber ** ppVal
);
HRESULT get_FrameRate(
[out] double *pVal
);
HRESULT EnterBitmapGrabMode(
double SeekTime
);
};
[
uuid(65BD0711-24D2-4ff7-9324-ED2E5D3ABAFA),
]
coclass MediaDet
{
[default] interface IMediaDet;
};

View file

@ -375,6 +375,9 @@ OUR_GUID_ENTRY(CLSID_TVEFilterStatsProperties, 0x05500283, 0xFAA5, 0x4D
OUR_GUID_ENTRY(CLSID_IVideoEncoderProxy, 0xB43c4eec, 0x8C32, 0x4791, 0x91, 0x02, 0x50, 0x8A, 0xda, 0x5E, 0xE8, 0xE7) OUR_GUID_ENTRY(CLSID_IVideoEncoderProxy, 0xB43c4eec, 0x8C32, 0x4791, 0x91, 0x02, 0x50, 0x8A, 0xda, 0x5E, 0xE8, 0xE7)
OUR_GUID_ENTRY(CLSID_ICodecAPIProxy, 0x7ff0997a, 0x1999, 0x4286, 0xA7, 0x3C, 0x62, 0x2B, 0x88, 0x14, 0xE7, 0xEB) OUR_GUID_ENTRY(CLSID_ICodecAPIProxy, 0x7ff0997a, 0x1999, 0x4286, 0xA7, 0x3C, 0x62, 0x2B, 0x88, 0x14, 0xE7, 0xEB)
OUR_GUID_ENTRY(CLSID_IVideoEncoderCodecAPIProxy, 0xB05dabd9, 0x56e5, 0x4Fdc, 0xAF, 0xA4, 0x8A, 0x47, 0xE9, 0x1F, 0x1C, 0x9C) OUR_GUID_ENTRY(CLSID_IVideoEncoderCodecAPIProxy, 0xB05dabd9, 0x56e5, 0x4Fdc, 0xAF, 0xA4, 0x8A, 0x47, 0xE9, 0x1F, 0x1C, 0x9C)
OUR_GUID_ENTRY(CLSID_AVIDocWriter, 0xd3588ab1, 0x0781, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70)
OUR_GUID_ENTRY(CLSID_NullRenderer, 0xc1f400a4, 0x3f08, 0x11d3, 0x9f, 0x0b, 0x00, 0x60, 0x08, 0x03, 0x9e, 0x37)
OUR_GUID_ENTRY(CLSID_WAVEParser, 0xd51bd5a1, 0x7548, 0x11cf, 0xa5, 0x20, 0x00, 0x80, 0xc7, 0x7e, 0xf5, 0x8a)
#ifndef __ENCODER_API_GUIDS__ #ifndef __ENCODER_API_GUIDS__
#define __ENCODER_API_GUIDS__ #define __ENCODER_API_GUIDS__

View file

@ -95,7 +95,8 @@ extern "C" {
#define MMSYSERR_DELETEERROR (MMSYSERR_BASE + 18) #define MMSYSERR_DELETEERROR (MMSYSERR_BASE + 18)
#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE + 19) #define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE + 19)
#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE + 20) #define MMSYSERR_NODRIVERCB (MMSYSERR_BASE + 20)
#define MMSYSERR_LASTERROR (MMSYSERR_BASE+20) #define MMSYSERR_MOREDATA (MMSYSERR_BASE + 21)
#define MMSYSERR_LASTERROR (MMSYSERR_BASE + 21)
#define DRV_LOAD 1 #define DRV_LOAD 1
#define DRV_ENABLE 2 #define DRV_ENABLE 2
#define DRV_OPEN 3 #define DRV_OPEN 3
@ -914,6 +915,7 @@ typedef UINT MCIDEVICEID;
typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD); typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
typedef UINT MMVERSION; typedef UINT MMVERSION;
typedef UINT MMRESULT; typedef UINT MMRESULT;
typedef struct mmtime_tag { typedef struct mmtime_tag {
UINT wType; UINT wType;
union { union {
@ -935,18 +937,22 @@ typedef struct mmtime_tag {
} midi; } midi;
} u; } u;
} MMTIME,*PMMTIME,*LPMMTIME; } MMTIME,*PMMTIME,*LPMMTIME;
DECLARE_HANDLE(HDRVR); DECLARE_HANDLE(HDRVR);
typedef struct tagDRVCONFIGINFO { typedef struct tagDRVCONFIGINFO {
DWORD dwDCISize; DWORD dwDCISize;
LPCWSTR lpszDCISectionName; LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName; LPCWSTR lpszDCIAliasName;
} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO; } DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
typedef struct DRVCONFIGINFOEX { typedef struct DRVCONFIGINFOEX {
DWORD dwDCISize; DWORD dwDCISize;
LPCWSTR lpszDCISectionName; LPCWSTR lpszDCISectionName;
LPCWSTR lpszDCIAliasName; LPCWSTR lpszDCIAliasName;
DWORD dnDevNode; DWORD dnDevNode;
} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX; } DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM); typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD); typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
typedef DRVCALLBACK *LPDRVCALLBACK; typedef DRVCALLBACK *LPDRVCALLBACK;
@ -958,6 +964,7 @@ typedef HWAVEIN *LPHWAVEIN;
typedef HWAVEOUT *LPHWAVEOUT; typedef HWAVEOUT *LPHWAVEOUT;
typedef DRVCALLBACK WAVECALLBACK; typedef DRVCALLBACK WAVECALLBACK;
typedef WAVECALLBACK *LPWAVECALLBACK; typedef WAVECALLBACK *LPWAVECALLBACK;
typedef struct wavehdr_tag { typedef struct wavehdr_tag {
LPSTR lpData; LPSTR lpData;
DWORD dwBufferLength; DWORD dwBufferLength;
@ -968,6 +975,7 @@ typedef struct wavehdr_tag {
struct wavehdr_tag *lpNext; struct wavehdr_tag *lpNext;
DWORD reserved; DWORD reserved;
} WAVEHDR,*PWAVEHDR,*LPWAVEHDR; } WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
typedef struct tagWAVEOUTCAPSA { typedef struct tagWAVEOUTCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -978,6 +986,7 @@ typedef struct tagWAVEOUTCAPSA {
WORD wReserved1; WORD wReserved1;
DWORD dwSupport; DWORD dwSupport;
} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA; } WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
typedef struct tagWAVEOUTCAPSW { typedef struct tagWAVEOUTCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -988,6 +997,7 @@ typedef struct tagWAVEOUTCAPSW {
WORD wReserved1; WORD wReserved1;
DWORD dwSupport; DWORD dwSupport;
} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW; } WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
typedef struct tagWAVEINCAPSA { typedef struct tagWAVEINCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -997,6 +1007,7 @@ typedef struct tagWAVEINCAPSA {
WORD wChannels; WORD wChannels;
WORD wReserved1; WORD wReserved1;
} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA; } WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
typedef struct tagWAVEINCAPSW { typedef struct tagWAVEINCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1006,6 +1017,7 @@ typedef struct tagWAVEINCAPSW {
WORD wChannels; WORD wChannels;
WORD wReserved1; WORD wReserved1;
} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW; } WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
typedef struct waveformat_tag { typedef struct waveformat_tag {
WORD wFormatTag; WORD wFormatTag;
WORD nChannels; WORD nChannels;
@ -1013,10 +1025,12 @@ typedef struct waveformat_tag {
DWORD nAvgBytesPerSec; DWORD nAvgBytesPerSec;
WORD nBlockAlign; WORD nBlockAlign;
} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT; } WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
typedef struct pcmwaveformat_tag { typedef struct pcmwaveformat_tag {
WAVEFORMAT wf; WAVEFORMAT wf;
WORD wBitsPerSample; WORD wBitsPerSample;
} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT; } PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
#ifndef _WAVEFORMATEX_ #ifndef _WAVEFORMATEX_
#define _WAVEFORMATEX_ #define _WAVEFORMATEX_
typedef struct tWAVEFORMATEX { typedef struct tWAVEFORMATEX {
@ -1028,12 +1042,15 @@ typedef struct tWAVEFORMATEX {
WORD wBitsPerSample; WORD wBitsPerSample;
WORD cbSize; WORD cbSize;
} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX; } WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
typedef const WAVEFORMATEX *LPCWAVEFORMATEX; typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
#endif #endif
DECLARE_HANDLE(HMIDI); DECLARE_HANDLE(HMIDI);
DECLARE_HANDLE(HMIDIIN); DECLARE_HANDLE(HMIDIIN);
DECLARE_HANDLE(HMIDIOUT); DECLARE_HANDLE(HMIDIOUT);
DECLARE_HANDLE(HMIDISTRM); DECLARE_HANDLE(HMIDISTRM);
typedef HMIDI *LPHMIDI; typedef HMIDI *LPHMIDI;
typedef HMIDIIN *LPHMIDIIN; typedef HMIDIIN *LPHMIDIIN;
typedef HMIDIOUT *LPHMIDIOUT; typedef HMIDIOUT *LPHMIDIOUT;
@ -1044,6 +1061,7 @@ typedef WORD PATCHARRAY[MIDIPATCHSIZE];
typedef WORD *LPPATCHARRAY; typedef WORD *LPPATCHARRAY;
typedef WORD KEYARRAY[MIDIPATCHSIZE]; typedef WORD KEYARRAY[MIDIPATCHSIZE];
typedef WORD *LPKEYARRAY; typedef WORD *LPKEYARRAY;
typedef struct tagMIDIOUTCAPSA { typedef struct tagMIDIOUTCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1055,6 +1073,7 @@ typedef struct tagMIDIOUTCAPSA {
WORD wChannelMask; WORD wChannelMask;
DWORD dwSupport; DWORD dwSupport;
} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA; } MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
typedef struct tagMIDIOUTCAPSW { typedef struct tagMIDIOUTCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1066,6 +1085,7 @@ typedef struct tagMIDIOUTCAPSW {
WORD wChannelMask; WORD wChannelMask;
DWORD dwSupport; DWORD dwSupport;
} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW; } MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
typedef struct tagMIDIINCAPSA { typedef struct tagMIDIINCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1073,6 +1093,7 @@ typedef struct tagMIDIINCAPSA {
CHAR szPname[MAXPNAMELEN]; CHAR szPname[MAXPNAMELEN];
DWORD dwSupport; DWORD dwSupport;
} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA; } MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
typedef struct tagMIDIINCAPSW { typedef struct tagMIDIINCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1080,6 +1101,7 @@ typedef struct tagMIDIINCAPSW {
WCHAR szPname[MAXPNAMELEN]; WCHAR szPname[MAXPNAMELEN];
DWORD dwSupport; DWORD dwSupport;
} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW; } MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
typedef struct midihdr_tag { typedef struct midihdr_tag {
LPSTR lpData; LPSTR lpData;
DWORD dwBufferLength; DWORD dwBufferLength;
@ -1091,25 +1113,30 @@ typedef struct midihdr_tag {
DWORD dwOffset; DWORD dwOffset;
DWORD dwReserved[8]; DWORD dwReserved[8];
} MIDIHDR,*PMIDIHDR,*LPMIDIHDR; } MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
typedef struct midievent_tag { typedef struct midievent_tag {
DWORD dwDeltaTime; DWORD dwDeltaTime;
DWORD dwStreamID; DWORD dwStreamID;
DWORD dwEvent; DWORD dwEvent;
DWORD dwParms[1]; DWORD dwParms[1];
} MIDIEVENT; } MIDIEVENT;
typedef struct midistrmbuffver_tag { typedef struct midistrmbuffver_tag {
DWORD dwVersion; DWORD dwVersion;
DWORD dwMid; DWORD dwMid;
DWORD dwOEMVersion; DWORD dwOEMVersion;
} MIDISTRMBUFFVER; } MIDISTRMBUFFVER;
typedef struct midiproptimediv_tag { typedef struct midiproptimediv_tag {
DWORD cbStruct; DWORD cbStruct;
DWORD dwTimeDiv; DWORD dwTimeDiv;
} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV; } MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
typedef struct midiproptempo_tag { typedef struct midiproptempo_tag {
DWORD cbStruct; DWORD cbStruct;
DWORD dwTempo; DWORD dwTempo;
} MIDIPROPTEMPO,*LPMIDIPROPTEMPO; } MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
typedef struct tagAUXCAPSA { typedef struct tagAUXCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1119,6 +1146,7 @@ typedef struct tagAUXCAPSA {
WORD wReserved1; WORD wReserved1;
DWORD dwSupport; DWORD dwSupport;
} AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA; } AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA;
typedef struct tagAUXCAPSW { typedef struct tagAUXCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1128,10 +1156,12 @@ typedef struct tagAUXCAPSW {
WORD wReserved1; WORD wReserved1;
DWORD dwSupport; DWORD dwSupport;
} AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW; } AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW;
DECLARE_HANDLE(HMIXEROBJ); DECLARE_HANDLE(HMIXEROBJ);
typedef HMIXEROBJ *LPHMIXEROBJ; typedef HMIXEROBJ *LPHMIXEROBJ;
DECLARE_HANDLE(HMIXER); DECLARE_HANDLE(HMIXER);
typedef HMIXER *LPHMIXER; typedef HMIXER *LPHMIXER;
typedef struct tagMIXERCAPSA { typedef struct tagMIXERCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1140,6 +1170,7 @@ typedef struct tagMIXERCAPSA {
DWORD fdwSupport; DWORD fdwSupport;
DWORD cDestinations; DWORD cDestinations;
} MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA; } MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
typedef struct tagMIXERCAPSW { typedef struct tagMIXERCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1148,6 +1179,7 @@ typedef struct tagMIXERCAPSW {
DWORD fdwSupport; DWORD fdwSupport;
DWORD cDestinations; DWORD cDestinations;
} MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW; } MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
typedef struct tagMIXERLINEA { typedef struct tagMIXERLINEA {
DWORD cbStruct; DWORD cbStruct;
DWORD dwDestination; DWORD dwDestination;
@ -1170,6 +1202,7 @@ typedef struct tagMIXERLINEA {
CHAR szPname[MAXPNAMELEN]; CHAR szPname[MAXPNAMELEN];
} Target; } Target;
} MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA; } MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
typedef struct tagMIXERLINEW { typedef struct tagMIXERLINEW {
DWORD cbStruct; DWORD cbStruct;
DWORD dwDestination; DWORD dwDestination;
@ -1192,6 +1225,7 @@ typedef struct tagMIXERLINEW {
WCHAR szPname[MAXPNAMELEN]; WCHAR szPname[MAXPNAMELEN];
} Target; } Target;
} MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW; } MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
typedef struct tagMIXERCONTROLA { typedef struct tagMIXERCONTROLA {
DWORD cbStruct; DWORD cbStruct;
DWORD dwControlID; DWORD dwControlID;
@ -1217,6 +1251,7 @@ typedef struct tagMIXERCONTROLA {
DWORD dwReserved[6]; DWORD dwReserved[6];
} Metrics; } Metrics;
} MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA; } MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
typedef struct tagMIXERCONTROLW { typedef struct tagMIXERCONTROLW {
DWORD cbStruct; DWORD cbStruct;
DWORD dwControlID; DWORD dwControlID;
@ -1242,6 +1277,7 @@ typedef struct tagMIXERCONTROLW {
DWORD dwReserved[6]; DWORD dwReserved[6];
} Metrics; } Metrics;
} MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW; } MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
typedef struct tagMIXERLINECONTROLSA { typedef struct tagMIXERLINECONTROLSA {
DWORD cbStruct; DWORD cbStruct;
DWORD dwLineID; DWORD dwLineID;
@ -1253,6 +1289,7 @@ typedef struct tagMIXERLINECONTROLSA {
DWORD cbmxctrl; DWORD cbmxctrl;
LPMIXERCONTROLA pamxctrl; LPMIXERCONTROLA pamxctrl;
} MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA; } MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
typedef struct tagMIXERLINECONTROLSW { typedef struct tagMIXERLINECONTROLSW {
DWORD cbStruct; DWORD cbStruct;
DWORD dwLineID; DWORD dwLineID;
@ -1264,6 +1301,7 @@ typedef struct tagMIXERLINECONTROLSW {
DWORD cbmxctrl; DWORD cbmxctrl;
LPMIXERCONTROLW pamxctrl; LPMIXERCONTROLW pamxctrl;
} MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW; } MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
typedef struct tMIXERCONTROLDETAILS { typedef struct tMIXERCONTROLDETAILS {
DWORD cbStruct; DWORD cbStruct;
DWORD dwControlID; DWORD dwControlID;
@ -1275,31 +1313,40 @@ typedef struct tMIXERCONTROLDETAILS {
DWORD cbDetails; DWORD cbDetails;
PVOID paDetails; PVOID paDetails;
} MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS; } MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA { typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
DWORD dwParam1; DWORD dwParam1;
DWORD dwParam2; DWORD dwParam2;
CHAR szName[MIXER_LONG_NAME_CHARS]; CHAR szName[MIXER_LONG_NAME_CHARS];
} MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA; } MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW { typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
DWORD dwParam1; DWORD dwParam1;
DWORD dwParam2; DWORD dwParam2;
WCHAR szName[MIXER_LONG_NAME_CHARS]; WCHAR szName[MIXER_LONG_NAME_CHARS];
} MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW; } MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
typedef struct tMIXERCONTROLDETAILS_BOOLEAN { typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
LONG fValue; LONG fValue;
} MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN; } MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
typedef struct tMIXERCONTROLDETAILS_SIGNED { typedef struct tMIXERCONTROLDETAILS_SIGNED {
LONG lValue; LONG lValue;
} MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED; } MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
typedef struct tMIXERCONTROLDETAILS_UNSIGNED { typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
DWORD dwValue; DWORD dwValue;
} MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED; } MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD); typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD);
typedef TIMECALLBACK *LPTIMECALLBACK; typedef TIMECALLBACK *LPTIMECALLBACK;
typedef struct timecaps_tag { typedef struct timecaps_tag {
UINT wPeriodMin; UINT wPeriodMin;
UINT wPeriodMax; UINT wPeriodMax;
} TIMECAPS,*PTIMECAPS,*LPTIMECAPS; } TIMECAPS,*PTIMECAPS,*LPTIMECAPS;
typedef struct tagJOYCAPSA { typedef struct tagJOYCAPSA {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1326,6 +1373,7 @@ typedef struct tagJOYCAPSA {
CHAR szRegKey[MAXPNAMELEN]; CHAR szRegKey[MAXPNAMELEN];
CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
} JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA; } JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA;
typedef struct tagJOYCAPSW { typedef struct tagJOYCAPSW {
WORD wMid; WORD wMid;
WORD wPid; WORD wPid;
@ -1352,12 +1400,14 @@ typedef struct tagJOYCAPSW {
WCHAR szRegKey[MAXPNAMELEN]; WCHAR szRegKey[MAXPNAMELEN];
WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
} JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW; } JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW;
typedef struct joyinfo_tag { typedef struct joyinfo_tag {
UINT wXpos; UINT wXpos;
UINT wYpos; UINT wYpos;
UINT wZpos; UINT wZpos;
UINT wButtons; UINT wButtons;
} JOYINFO,*PJOYINFO,*LPJOYINFO; } JOYINFO,*PJOYINFO,*LPJOYINFO;
typedef struct joyinfoex_tag { typedef struct joyinfoex_tag {
DWORD dwSize; DWORD dwSize;
DWORD dwFlags; DWORD dwFlags;
@ -1373,11 +1423,17 @@ typedef struct joyinfoex_tag {
DWORD dwReserved1; DWORD dwReserved1;
DWORD dwReserved2; DWORD dwReserved2;
} JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX; } JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX;
typedef DWORD FOURCC; typedef DWORD FOURCC;
typedef char *HPSTR; typedef char *HPSTR;
DECLARE_HANDLE(HMMIO); DECLARE_HANDLE(HMMIO);
typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM); typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM);
typedef MMIOPROC *LPMMIOPROC; typedef MMIOPROC *LPMMIOPROC;
typedef struct _MMIOINFO { typedef struct _MMIOINFO {
DWORD dwFlags; DWORD dwFlags;
FOURCC fccIOProc; FOURCC fccIOProc;
@ -1396,7 +1452,9 @@ typedef struct _MMIOINFO {
DWORD dwReserved2; DWORD dwReserved2;
HMMIO hmmio; HMMIO hmmio;
} MMIOINFO,*PMMIOINFO,*LPMMIOINFO; } MMIOINFO,*PMMIOINFO,*LPMMIOINFO;
typedef const MMIOINFO *LPCMMIOINFO; typedef const MMIOINFO *LPCMMIOINFO;
typedef struct _MMCKINFO { typedef struct _MMCKINFO {
FOURCC ckid; FOURCC ckid;
DWORD cksize; DWORD cksize;
@ -1404,10 +1462,13 @@ typedef struct _MMCKINFO {
DWORD dwDataOffset; DWORD dwDataOffset;
DWORD dwFlags; DWORD dwFlags;
} MMCKINFO,*PMMCKINFO,*LPMMCKINFO; } MMCKINFO,*PMMCKINFO,*LPMMCKINFO;
typedef const MMCKINFO *LPCMMCKINFO; typedef const MMCKINFO *LPCMMCKINFO;
typedef struct tagMCI_GENERIC_PARMS { typedef struct tagMCI_GENERIC_PARMS {
DWORD dwCallback; DWORD dwCallback;
} MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS; } MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
typedef struct tagMCI_OPEN_PARMSA { typedef struct tagMCI_OPEN_PARMSA {
DWORD dwCallback; DWORD dwCallback;
MCIDEVICEID wDeviceID; MCIDEVICEID wDeviceID;
@ -1415,6 +1476,7 @@ typedef struct tagMCI_OPEN_PARMSA {
LPCSTR lpstrElementName; LPCSTR lpstrElementName;
LPCSTR lpstrAlias; LPCSTR lpstrAlias;
} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA; } MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
typedef struct tagMCI_OPEN_PARMSW { typedef struct tagMCI_OPEN_PARMSW {
DWORD dwCallback; DWORD dwCallback;
MCIDEVICEID wDeviceID; MCIDEVICEID wDeviceID;
@ -1422,36 +1484,43 @@ typedef struct tagMCI_OPEN_PARMSW {
LPCWSTR lpstrElementName; LPCWSTR lpstrElementName;
LPCWSTR lpstrAlias; LPCWSTR lpstrAlias;
} MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW; } MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
typedef struct tagMCI_PLAY_PARMS { typedef struct tagMCI_PLAY_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwFrom; DWORD dwFrom;
DWORD dwTo; DWORD dwTo;
} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS; } MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
typedef struct tagMCI_SEEK_PARMS { typedef struct tagMCI_SEEK_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwTo; DWORD dwTo;
} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS; } MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
typedef struct tagMCI_STATUS_PARMS { typedef struct tagMCI_STATUS_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwReturn; DWORD dwReturn;
DWORD dwItem; DWORD dwItem;
DWORD dwTrack; DWORD dwTrack;
} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS; } MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
typedef struct tagMCI_INFO_PARMSA { typedef struct tagMCI_INFO_PARMSA {
DWORD dwCallback; DWORD dwCallback;
LPSTR lpstrReturn; LPSTR lpstrReturn;
DWORD dwRetSize; DWORD dwRetSize;
} MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA; } MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
typedef struct tagMCI_INFO_PARMSW { typedef struct tagMCI_INFO_PARMSW {
DWORD dwCallback; DWORD dwCallback;
LPWSTR lpstrReturn; LPWSTR lpstrReturn;
DWORD dwRetSize; DWORD dwRetSize;
} MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW; } MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
typedef struct tagMCI_GETDEVCAPS_PARMS { typedef struct tagMCI_GETDEVCAPS_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwReturn; DWORD dwReturn;
DWORD dwItem; DWORD dwItem;
} MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS; } MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
typedef struct tagMCI_SYSINFO_PARMSA { typedef struct tagMCI_SYSINFO_PARMSA {
DWORD dwCallback; DWORD dwCallback;
LPSTR lpstrReturn; LPSTR lpstrReturn;
@ -1459,6 +1528,7 @@ typedef struct tagMCI_SYSINFO_PARMSA {
DWORD dwNumber; DWORD dwNumber;
UINT wDeviceType; UINT wDeviceType;
} MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA; } MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
typedef struct tagMCI_SYSINFO_PARMSW { typedef struct tagMCI_SYSINFO_PARMSW {
DWORD dwCallback; DWORD dwCallback;
LPWSTR lpstrReturn; LPWSTR lpstrReturn;
@ -1466,55 +1536,67 @@ typedef struct tagMCI_SYSINFO_PARMSW {
DWORD dwNumber; DWORD dwNumber;
UINT wDeviceType; UINT wDeviceType;
} MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW; } MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
typedef struct tagMCI_SET_PARMS { typedef struct tagMCI_SET_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwTimeFormat; DWORD dwTimeFormat;
DWORD dwAudio; DWORD dwAudio;
} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS; } MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
typedef struct tagMCI_BREAK_PARMS { typedef struct tagMCI_BREAK_PARMS {
DWORD dwCallback; DWORD dwCallback;
int nVirtKey; int nVirtKey;
HWND hwndBreak; HWND hwndBreak;
} MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS; } MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
typedef struct tagMCI_SAVE_PARMSA { typedef struct tagMCI_SAVE_PARMSA {
DWORD dwCallback; DWORD dwCallback;
LPCSTR lpfilename; LPCSTR lpfilename;
} MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA; } MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
typedef struct tagMCI_SAVE_PARMSW { typedef struct tagMCI_SAVE_PARMSW {
DWORD dwCallback; DWORD dwCallback;
LPCWSTR lpfilename; LPCWSTR lpfilename;
} MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW; } MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
typedef struct tagMCI_LOAD_PARMSA { typedef struct tagMCI_LOAD_PARMSA {
DWORD dwCallback; DWORD dwCallback;
LPCSTR lpfilename; LPCSTR lpfilename;
} MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA; } MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
typedef struct tagMCI_LOAD_PARMSW { typedef struct tagMCI_LOAD_PARMSW {
DWORD dwCallback; DWORD dwCallback;
LPCWSTR lpfilename; LPCWSTR lpfilename;
} MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW; } MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
typedef struct tagMCI_RECORD_PARMS { typedef struct tagMCI_RECORD_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwFrom; DWORD dwFrom;
DWORD dwTo; DWORD dwTo;
} MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS; } MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
typedef struct tagMCI_VD_PLAY_PARMS { typedef struct tagMCI_VD_PLAY_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwFrom; DWORD dwFrom;
DWORD dwTo; DWORD dwTo;
DWORD dwSpeed; DWORD dwSpeed;
} MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS; } MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
typedef struct tagMCI_VD_STEP_PARMS { typedef struct tagMCI_VD_STEP_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwFrames; DWORD dwFrames;
} MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS; } MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
typedef struct tagMCI_VD_ESCAPE_PARMSA { typedef struct tagMCI_VD_ESCAPE_PARMSA {
DWORD dwCallback; DWORD dwCallback;
LPCSTR lpstrCommand; LPCSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA; } MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
typedef struct tagMCI_VD_ESCAPE_PARMSW { typedef struct tagMCI_VD_ESCAPE_PARMSW {
DWORD dwCallback; DWORD dwCallback;
LPCWSTR lpstrCommand; LPCWSTR lpstrCommand;
} MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW; } MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
typedef struct tagMCI_WAVE_OPEN_PARMSA { typedef struct tagMCI_WAVE_OPEN_PARMSA {
DWORD dwCallback; DWORD dwCallback;
MCIDEVICEID wDeviceID; MCIDEVICEID wDeviceID;
@ -1523,6 +1605,7 @@ typedef struct tagMCI_WAVE_OPEN_PARMSA {
LPCSTR lpstrAlias; LPCSTR lpstrAlias;
DWORD dwBufferSeconds; DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA; } MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
typedef struct tagMCI_WAVE_OPEN_PARMSW { typedef struct tagMCI_WAVE_OPEN_PARMSW {
DWORD dwCallback; DWORD dwCallback;
MCIDEVICEID wDeviceID; MCIDEVICEID wDeviceID;
@ -1531,11 +1614,13 @@ typedef struct tagMCI_WAVE_OPEN_PARMSW {
LPCWSTR lpstrAlias; LPCWSTR lpstrAlias;
DWORD dwBufferSeconds; DWORD dwBufferSeconds;
} MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW; } MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
typedef struct tagMCI_WAVE_DELETE_PARMS { typedef struct tagMCI_WAVE_DELETE_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwFrom; DWORD dwFrom;
DWORD dwTo; DWORD dwTo;
} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS; } MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
typedef struct tagMCI_WAVE_SET_PARMS { typedef struct tagMCI_WAVE_SET_PARMS {
DWORD dwCallback; DWORD dwCallback;
DWORD dwTimeFormat; DWORD dwTimeFormat;

View file

@ -245,7 +245,9 @@ typedef enum
typedef struct IQueryAssociations *LPQUERYASSOCIATIONS; typedef struct IQueryAssociations *LPQUERYASSOCIATIONS;
#ifndef INTERFACE
#define INTERFACE IQueryAssociations #define INTERFACE IQueryAssociations
#endif
DECLARE_INTERFACE_(IQueryAssociations,IUnknown) DECLARE_INTERFACE_(IQueryAssociations,IUnknown)
{ {
/*** IUnknown methods ***/ /*** IUnknown methods ***/

View file

@ -15,7 +15,7 @@
* *
* You should have received a copy of the GNU Lesser General Public * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software * License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#ifndef __WINE_MMREG_H #ifndef __WINE_MMREG_H
@ -114,6 +114,10 @@ typedef struct _WAVEFORMATEX {
#define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */ #define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
#define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */ #define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
#if !defined(WAVE_FORMAT_EXTENSIBLE)
#define WAVE_FORMAT_EXTENSIBLE 0xFFFE /* Microsoft */
#endif
#define WAVE_FORMAT_DEVELOPMENT (0xFFFF) #define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
typedef struct adpcmcoef_tag { typedef struct adpcmcoef_tag {
@ -358,8 +362,7 @@ typedef struct csimaadpcmwaveformat_tag {
typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT, typedef CSIMAADPCMWAVEFORMAT *PCSIMAADPCMWAVEFORMAT,
*NPCSIMAADPCMWAVEFORMAT, *LPCSIMAADPCMWAVEFORMAT; *NPCSIMAADPCMWAVEFORMAT, *LPCSIMAADPCMWAVEFORMAT;
typedef struct typedef struct mpeg1waveformat_tag {
{
WAVEFORMATEX wfx; WAVEFORMATEX wfx;
WORD fwHeadLayer; WORD fwHeadLayer;
DWORD dwHeadBitrate; DWORD dwHeadBitrate;
@ -385,8 +388,7 @@ typedef struct
#define ACM_MPEG_PROTECTIONBIT 0x0008 #define ACM_MPEG_PROTECTIONBIT 0x0008
#define ACM_MPEG_ID_MPEG1 0x0010 #define ACM_MPEG_ID_MPEG1 0x0010
typedef struct typedef struct mpeglayer3waveformat_tag {
{
WAVEFORMATEX wfx; WAVEFORMATEX wfx;
WORD wID; WORD wID;
DWORD fdwFlags; DWORD fdwFlags;
@ -405,4 +407,92 @@ typedef struct
#define MPEGLAYER3_FLAG_PADDING_ON 0x00000001 #define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
#define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002 #define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
#ifdef GUID_DEFINED
#ifndef _WAVEFORMATEXTENSIBLE_
#define _WAVEFORMATEXTENSIBLE_
typedef struct {
WAVEFORMATEX Format;
union {
WORD wValidBitsPerSample;
WORD wSamplesPerBlock;
WORD wReserved;
} Samples;
DWORD dwChannelMask;
GUID SubFormat;
} WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;
#endif /* _WAVEFORMATEXTENSIBLE_ */
#endif /* GUID_DEFINED */
typedef WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX;
typedef WAVEFORMATPCMEX* PWAVEFORMATPCMEX;
typedef WAVEFORMATPCMEX* NPWAVEFORMATPCMEX;
typedef WAVEFORMATPCMEX* LPWAVEFORMATPCMEX;
typedef WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX;
typedef WAVEFORMATIEEEFLOATEX* PWAVEFORMATIEEEFLOATEX;
typedef WAVEFORMATIEEEFLOATEX* NPWAVEFORMATIEEEFLOATEX;
typedef WAVEFORMATIEEEFLOATEX* LPWAVEFORMATIEEEFLOATEX;
#ifndef _SPEAKER_POSITIONS_
#define _SPEAKER_POSITIONS_
#define SPEAKER_FRONT_LEFT 0x00000001
#define SPEAKER_FRONT_RIGHT 0x00000002
#define SPEAKER_FRONT_CENTER 0x00000004
#define SPEAKER_LOW_FREQUENCY 0x00000008
#define SPEAKER_BACK_LEFT 0x00000010
#define SPEAKER_BACK_RIGHT 0x00000020
#define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040
#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080
#define SPEAKER_BACK_CENTER 0x00000100
#define SPEAKER_SIDE_LEFT 0x00000200
#define SPEAKER_SIDE_RIGHT 0x00000400
#define SPEAKER_TOP_CENTER 0x00000800
#define SPEAKER_TOP_FRONT_LEFT 0x00001000
#define SPEAKER_TOP_FRONT_CENTER 0x00002000
#define SPEAKER_TOP_FRONT_RIGHT 0x00004000
#define SPEAKER_TOP_BACK_LEFT 0x00008000
#define SPEAKER_TOP_BACK_CENTER 0x00010000
#define SPEAKER_TOP_BACK_RIGHT 0x00020000
#define SPEAKER_RESERVED 0x7FFC0000
#define SPEAKER_ALL 0x80000000
#endif /* _SPEAKER_POSITIONS_ */
/* DIB stuff */
#ifndef BI_BITFIELDS
#define BI_BITFIELDS 3
#endif
#ifndef QUERYDIBSUPPORT
#define QUERYDIBSUPPORT 3073
#define QDI_SETDIBITS 1
#define QDI_GETDIBITS 2
#define QDI_DIBTOSCREEN 4
#define QDI_STRETCHDIB 8
#endif
/*#ifndef NOBITMAP
typedef struct tagEXBMINFOHEADER {
BITMAPINFOHEADER bmi;
DWORD biExtDataOffset;
} EXBMINFOHEADER;
#endif*/
/* Video stuff */
#ifndef NONEWIC
#ifndef ICTYPE_VIDEO
#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
#endif
#endif
#endif /* __WINE_MMREG_H */ #endif /* __WINE_MMREG_H */