35#define MM_MSFT_WDMAUDIO_WAVEOUT 0x64
36#define MM_MSFT_WDMAUDIO_WAVEIN 0x65
37#define MM_MSFT_WDMAUDIO_MIDIOUT 0x66
38#define MM_MSFT_WDMAUDIO_MIDIIN 0x67
39#define MM_MSFT_WDMAUDIO_MIXER 0x68
40#define MM_MSFT_WDMAUDIO_AUX 0x69
42#ifndef _ACM_WAVEFILTER
43#define _ACM_WAVEFILTER
45#define WAVE_FILTER_UNKNOWN 0x0000
46#define WAVE_FILTER_DEVELOPMENT 0xFFFF
56#ifndef WAVE_FILTER_VOLUME
57#define WAVE_FILTER_VOLUME 0x0001
65#ifndef WAVE_FILTER_ECHO
66#define WAVE_FILTER_ECHO 0x0002
90#ifndef WAVE_FORMAT_PCM
91#define WAVE_FORMAT_PCM 0x0001
95#define WAVE_FORMAT_UNKNOWN 0x0000
96#define WAVE_FORMAT_ADPCM 0x0002
97#define WAVE_FORMAT_IEEE_FLOAT 0x0003
98#define WAVE_FORMAT_IBM_CVSD 0x0005
99#define WAVE_FORMAT_ALAW 0x0006
100#define WAVE_FORMAT_MULAW 0x0007
101#define WAVE_FORMAT_OKI_ADPCM 0x0010
102#define WAVE_FORMAT_DVI_ADPCM 0x0011
103#define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM)
104#define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012
105#define WAVE_FORMAT_SIERRA_ADPCM 0x0013
106#define WAVE_FORMAT_G723_ADPCM 0x0014
107#define WAVE_FORMAT_DIGISTD 0x0015
108#define WAVE_FORMAT_DIGIFIX 0x0016
109#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017
110#define WAVE_FORMAT_YAMAHA_ADPCM 0x0020
111#define WAVE_FORMAT_SONARC 0x0021
112#define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022
113#define WAVE_FORMAT_ECHOSC1 0x0023
114#define WAVE_FORMAT_AUDIOFILE_AF36 0x0024
115#define WAVE_FORMAT_APTX 0x0025
116#define WAVE_FORMAT_AUDIOFILE_AF10 0x0026
117#define WAVE_FORMAT_DOLBY_AC2 0x0030
118#define WAVE_FORMAT_GSM610 0x0031
119#define WAVE_FORMAT_ANTEX_ADPCME 0x0033
120#define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034
121#define WAVE_FORMAT_DIGIREAL 0x0035
122#define WAVE_FORMAT_DIGIADPCM 0x0036
123#define WAVE_FORMAT_CONTROL_RES_CR10 0x0037
124#define WAVE_FORMAT_NMS_VBXADPCM 0x0038
125#define WAVE_FORMAT_G721_ADPCM 0x0040
126#define WAVE_FORMAT_MPEG 0x0050
127#define WAVE_FORMAT_MPEGLAYER3 0x0055
128#define WAVE_FORMAT_MSRT24 0x0082
129#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
130#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200
131#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202
132#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203
133#define WAVE_FORMAT_FM_TOWNS_SND 0x0300
134#define WAVE_FORMAT_OLIGSM 0x1000
135#define WAVE_FORMAT_OLIADPCM 0x1001
136#define WAVE_FORMAT_OLICELP 0x1002
137#define WAVE_FORMAT_OLISBC 0x1003
138#define WAVE_FORMAT_OLIOPR 0x1004
140#define MM_UNMAPPED 0xffff
141#define MM_PID_UNMAPPED MM_UNMAPPED
144#define MM_MICROSOFT 0x01
146#define MM_MSFT_ACM_MSADPCM 0x21
147#define MM_MSFT_ACM_IMAADPCM 0x22
148#define MM_MSFT_ACM_GSM610 0x24
149#define MM_MSFT_ACM_G711 0x25
150#define MM_MSFT_ACM_PCM 0x26
152#define MM_FRAUNHOFER_IIS 0xAC
153#define MM_FHGIIS_MPEGLAYER3_DECODE 0x09
154#define MM_FHGIIS_MPEGLAYER3_PROFESSIONAL 0x0d
156#if !defined(WAVE_FORMAT_EXTENSIBLE)
157#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
160#define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
416#define ACM_MPEG_LAYER1 0x0001
417#define ACM_MPEG_LAYER2 0x0002
418#define ACM_MPEG_LAYER3 0x0004
420#define ACM_MPEG_STEREO 0x0001
421#define ACM_MPEG_JOINTSTEREO 0x0002
422#define ACM_MPEG_DUALCHANNEL 0x0004
423#define ACM_MPEG_SINGLECHANNEL 0x0008
424#define ACM_MPEG_PRIVATEBIT 0x0001
425#define ACM_MPEG_COPYRIGHT 0x0002
426#define ACM_MPEG_ORIGINALHOME 0x0004
427#define ACM_MPEG_PROTECTIONBIT 0x0008
428#define ACM_MPEG_ID_MPEG1 0x0010
439#define MPEGLAYER3_WFX_EXTRA_BYTES 12
441#define MPEGLAYER3_ID_UNKNOWN 0
442#define MPEGLAYER3_ID_MPEG 1
443#define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
445#define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000
446#define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
447#define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
451#ifndef _WAVEFORMATEXTENSIBLE_
452#define _WAVEFORMATEXTENSIBLE_
456 WORD wValidBitsPerSample;
457 WORD wSamplesPerBlock;
477#ifndef _SPEAKER_POSITIONS_
478#define _SPEAKER_POSITIONS_
480#define SPEAKER_FRONT_LEFT 0x00000001
481#define SPEAKER_FRONT_RIGHT 0x00000002
482#define SPEAKER_FRONT_CENTER 0x00000004
483#define SPEAKER_LOW_FREQUENCY 0x00000008
484#define SPEAKER_BACK_LEFT 0x00000010
485#define SPEAKER_BACK_RIGHT 0x00000020
486#define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040
487#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080
488#define SPEAKER_BACK_CENTER 0x00000100
489#define SPEAKER_SIDE_LEFT 0x00000200
490#define SPEAKER_SIDE_RIGHT 0x00000400
491#define SPEAKER_TOP_CENTER 0x00000800
492#define SPEAKER_TOP_FRONT_LEFT 0x00001000
493#define SPEAKER_TOP_FRONT_CENTER 0x00002000
494#define SPEAKER_TOP_FRONT_RIGHT 0x00004000
495#define SPEAKER_TOP_BACK_LEFT 0x00008000
496#define SPEAKER_TOP_BACK_CENTER 0x00010000
497#define SPEAKER_TOP_BACK_RIGHT 0x00020000
498#define SPEAKER_RESERVED 0x7FFC0000
499#define SPEAKER_ALL 0x80000000
507#define BI_BITFIELDS 3
510#ifndef QUERYDIBSUPPORT
511#define QUERYDIBSUPPORT 3073
512#define QDI_SETDIBITS 1
513#define QDI_GETDIBITS 2
514#define QDI_DIBTOSCREEN 4
515#define QDI_STRETCHDIB 8
531#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
532#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
562 DWORD nSamplesPerSec;
563 DWORD nAvgBytesPerSec;
567 WORD wValidBitsPerSample;
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
IMAADPCMWAVEFORMAT * PIMAADPCMWAVEFORMAT
WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX
CREATIVEFASTSPEECH10WAVEFORMAT * NPCREATIVEFASTSPEECH10WAVEFORMAT
DIGIFIXWAVEFORMAT * LPDIGIFIXWAVEFORMAT
struct g721_adpcmwaveformat_tag G721_ADPCMWAVEFORMAT
struct _WAVEFILTER_VOLUME * LPVOLUMEWAVEFILTER
IMAADPCMWAVEFORMAT * LPIMAADPCMWAVEFORMAT
struct digifixwaveformat_tag DIGIFIXWAVEFORMAT
CONTRESCR10WAVEFORMAT * LPCONTRESCR10WAVEFORMAT
WAVEFORMATPCMEX * LPWAVEFORMATPCMEX
CREATIVEADPCMWAVEFORMAT * LPCREATIVEADPCMWAVEFORMAT
APTXWAVEFORMAT * NPAPTXWAVEFORMAT
DIGIREALWAVEFORMAT * LPDIGIREALWAVEFORMAT
struct creative_fastspeech10format_tag CREATIVEFASTSPEECH10WAVEFORMAT
ADPCMEWAVEFORMAT * PADPCMEWAVEFORMAT
OLIADPCMWAVEFORMAT * NPOLIADPCMWAVEFORMAT
struct creative_fastspeech8format_tag CREATIVEFASTSPEECH8WAVEFORMAT
OLICELPWAVEFORMAT * LPOLICELPWAVEFORMAT
AUDIOFILE_AF10WAVEFORMAT * PAUDIOFILE_AF10WAVEFORMAT
ADPCMEWAVEFORMAT * NPADPCMEWAVEFORMAT
AUDIOFILE_AF36WAVEFORMAT * LPAUDIOFILE_AF36WAVEFORMAT
ADPCMWAVEFORMAT * LPADPCMWAVEFORMAT
struct _WAVEFILTER_VOLUME VOLUMEWAVEFILTER
OLIADPCMWAVEFORMAT * LPOLIADPCMWAVEFORMAT
DVIADPCMWAVEFORMAT * LPDVIADPCMWAVEFORMAT
struct _WAVEFILTER * LPWAVEFILTER
struct oligsmwaveformat_tag OLIGSMWAVEFORMAT
G723_ADPCMWAVEFORMAT * PG723_ADPCMWAVEFORMAT
DIGIFIXWAVEFORMAT * NPDIGIFIXWAVEFORMAT
struct _WAVEFORMATEX * NPWAVEFORMATEX
struct aptxwaveformat_tag APTXWAVEFORMAT
DIGISTDWAVEFORMAT * LPDIGISTDWAVEFORMAT
G721_ADPCMWAVEFORMAT * PG721_ADPCMWAVEFORMAT
GSM610WAVEFORMAT * LPGSM610WAVEFORMAT
TRUESPEECHWAVEFORMAT * LPTRUESPEECHWAVEFORMAT
CREATIVEADPCMWAVEFORMAT * NPCREATIVEADPCMWAVEFORMAT
struct csimaadpcmwaveformat_tag CSIMAADPCMWAVEFORMAT
SIERRAADPCMWAVEFORMAT * NPSIERRAADPCMWAVEFORMAT
SIERRAADPCMWAVEFORMAT * LPSIERRAADPCMWAVEFORMAT
struct ima_adpcmwaveformat_tag IMAADPCMWAVEFORMAT
NMS_VBXADPCMWAVEFORMAT * NPNMS_VBXADPCMWAVEFORMAT
CONTRESVQLPCWAVEFORMAT * NPCONTRESVQLPCWAVEFORMAT
OLISBCWAVEFORMAT * LPOLISBCWAVEFORMAT
WAVEFORMATPCMEX * PWAVEFORMATPCMEX
SONARCWAVEFORMAT * NPSONARCWAVEFORMAT
MEDIASPACEADPCMWAVEFORMAT * LPMEDIASPACEADPCMWAVEFORMAT
FMTOWNS_SND_WAVEFORMAT * LPFMTOWNS_SND_WAVEFORMAT
struct _WAVEFILTER_VOLUME * NPVOLUMEWAVEFILTER
MEDIASPACEADPCMWAVEFORMAT * PMEDIASPACEADPCMWAVEFORMAT
struct gsm610waveformat_tag GSM610WAVEFORMAT
struct olicelpwaveformat_tag OLICELPWAVEFORMAT
FMTOWNS_SND_WAVEFORMAT * PFMTOWNS_SND_WAVEFORMAT
struct audiofile_af36waveformat_tag AUDIOFILE_AF36WAVEFORMAT
SONARCWAVEFORMAT * LPSONARCWAVEFORMAT
G721_ADPCMWAVEFORMAT * LPG721_ADPCMWAVEFORMAT
OLIGSMWAVEFORMAT * POLIGSMWAVEFORMAT
OLISBCWAVEFORMAT * NPOLISBCWAVEFORMAT
ECHOSC1WAVEFORMAT * LPECHOSC1WAVEFORMAT
struct yamaha_adpmcwaveformat_tag YAMAHA_ADPCMWAVEFORMAT
CSIMAADPCMWAVEFORMAT * PCSIMAADPCMWAVEFORMAT
struct echosc1waveformat_tag ECHOSC1WAVEFORMAT
OLICELPWAVEFORMAT * NPOLICELPWAVEFORMAT
GSM610WAVEFORMAT * NPGSM610WAVEFORMAT
struct contres_vqlpcwaveformat_tag CONTRESVQLPCWAVEFORMAT
CONTRESVQLPCWAVEFORMAT * LPCONTRESVQLPCWAVEFORMAT
NMS_VBXADPCMWAVEFORMAT * PNMS_VBXADPCMWAVEFORMAT
DIGIADPCMWAVEFORMAT * PDIGIADPCMWAVEFORMAT
struct g723_adpcmwaveformat_tag G723_ADPCMWAVEFORMAT
OLIADPCMWAVEFORMAT * POLIADPCMWAVEFORMAT
CONTRESCR10WAVEFORMAT * PCONTRESCR10WAVEFORMAT
ADPCMCOEFSET * LPADPCMCOEFSET
struct WAVEFILTER_ECHO * LPECHOWAVEFILTER
OLIOPRWAVEFORMAT * POLIOPRWAVEFORMAT
DIGIADPCMWAVEFORMAT * LPDIGIADPCMWAVEFORMAT
IMAADPCMWAVEFORMAT * NPIMAADPCMWAVEFORMAT
DIALOGICOKIADPCMWAVEFORMAT * NPDIALOGICOKIADPCMWAVEFORMAT
TRUESPEECHWAVEFORMAT * NPTRUESPEECHWAVEFORMAT
CSIMAADPCMWAVEFORMAT * NPCSIMAADPCMWAVEFORMAT
YAMAHA_ADPCMWAVEFORMAT * LPYAMAHA_ADPCMWAVEFORMAT
struct digistdwaveformat_tag DIGISTDWAVEFORMAT
ADPCMEWAVEFORMAT * LPADPCMEWAVEFORMAT
CREATIVEFASTSPEECH8WAVEFORMAT * PCREATIVEFASTSPEECH8WAVEFORMAT
WAVEFORMATIEEEFLOATEX * PWAVEFORMATIEEEFLOATEX
CREATIVEFASTSPEECH8WAVEFORMAT * NPCREATIVEFASTSPEECH8WAVEFORMAT
struct olisbcwaveformat_tag OLISBCWAVEFORMAT
struct _WAVEFORMATEX * PWAVEFORMATEX
YAMAHA_ADPCMWAVEFORMAT * PYAMAHA_ADPCMWAVEFORMAT
AUDIOFILE_AF36WAVEFORMAT * NPAUDIOFILE_AF36WAVEFORMAT
struct _WAVEFILTER WAVEFILTER
DIALOGICOKIADPCMWAVEFORMAT * LPDIALOGICOKIADPCMWAVEFORMAT
CREATIVEADPCMWAVEFORMAT * PCREATIVEADPCMWAVEFORMAT
WAVEFORMATPCMEX * NPWAVEFORMATPCMEX
CREATIVEFASTSPEECH10WAVEFORMAT * LPCREATIVEFASTSPEECH10WAVEFORMAT
DIGIREALWAVEFORMAT * PDIGIREALWAVEFORMAT
WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX
APTXWAVEFORMAT * PAPTXWAVEFORMAT
OLIGSMWAVEFORMAT * LPOLIGSMWAVEFORMAT
G723_ADPCMWAVEFORMAT * LPG723_ADPCMWAVEFORMAT
FMTOWNS_SND_WAVEFORMAT * NPFMTOWNS_SND_WAVEFORMAT
ECHOSC1WAVEFORMAT * NPECHOSC1WAVEFORMAT
struct _WAVEFORMATEX * LPWAVEFORMATEX
struct adpcmcoef_tag ADPCMCOEFSET
SONARCWAVEFORMAT * PSONARCWAVEFORMAT
DIGISTDWAVEFORMAT * PDIGISTDWAVEFORMAT
struct oliadpcmwaveformat_tag OLIADPCMWAVEFORMAT
WAVEFORMATIEEEFLOATEX * LPWAVEFORMATIEEEFLOATEX
struct audiofile_af10waveformat_tag AUDIOFILE_AF10WAVEFORMAT
ADPCMCOEFSET * PADPCMCOEFSET
CONTRESCR10WAVEFORMAT * NPCONTRESCR10WAVEFORMAT
OLISBCWAVEFORMAT * POLISBCWAVEFORMAT
struct olioprwaveformat_tag OLIOPRWAVEFORMAT
struct _WAVEFILTER * PWAVEFILTER
struct digirealwaveformat_tag DIGIREALWAVEFORMAT
struct dolbyac2waveformat_tag DOLBYAC2WAVEFORMAT
SIERRAADPCMWAVEFORMAT * PSIERRAADPCMWAVEFORMAT
OLIOPRWAVEFORMAT * LPOLIOPRWAVEFORMAT
struct adpcmewaveformat_tag ADPCMEWAVEFORMAT
struct nms_vbxadpcmmwaveformat_tag NMS_VBXADPCMWAVEFORMAT
WAVEFORMATIEEEFLOATEX * NPWAVEFORMATIEEEFLOATEX
DIGIREALWAVEFORMAT * NPDIGIREALWAVEFORMAT
GSM610WAVEFORMAT * PGSM610WAVEFORMAT
struct adpcmwaveformat_tag ADPCMWAVEFORMAT
OLIGSMWAVEFORMAT * NPOLIGSMWAVEFORMAT
struct tagEXBMINFOHEADER EXBMINFOHEADER
YAMAHA_ADPCMWAVEFORMAT * NPYAMAHA_ADPCMWAVEFORMAT
DIALOGICOKIADPCMWAVEFORMAT * PDIALOGICOKIADPCMWAVEFORMAT
NMS_VBXADPCMWAVEFORMAT * LPNMS_VBXADPCMWAVEFORMAT
struct mpeglayer3waveformat_tag MPEGLAYER3WAVEFORMAT
struct _WAVEFORMATEX WAVEFORMATEX
struct sonarcwaveformat_tag SONARCWAVEFORMAT
AUDIOFILE_AF36WAVEFORMAT * PAUDIOFILE_AF36WAVEFORMAT
struct dvi_adpcmwaveformat_tag DVIADPCMWAVEFORMAT
DIGIFIXWAVEFORMAT * PDIGIFIXWAVEFORMAT
DIGISTDWAVEFORMAT * NPDIGISTDWAVEFORMAT
CONTRESVQLPCWAVEFORMAT * PCONTRESVQLPCWAVEFORMAT
CREATIVEFASTSPEECH8WAVEFORMAT * LPCREATIVEFASTSPEECH8WAVEFORMAT
DIGIADPCMWAVEFORMAT * NPDIGIADPCMWAVEFORMAT
const struct _WAVEFORMATEX * LPCWAVEFORMATEX
ADPCMWAVEFORMAT * PADPCMWAVEFORMAT
struct truespeechwaveformat_tag TRUESPEECHWAVEFORMAT
CSIMAADPCMWAVEFORMAT * LPCSIMAADPCMWAVEFORMAT
AUDIOFILE_AF10WAVEFORMAT * LPAUDIOFILE_AF10WAVEFORMAT
struct fmtowns_snd_waveformat_tag FMTOWNS_SND_WAVEFORMAT
DVIADPCMWAVEFORMAT * PDVIADPCMWAVEFORMAT
AUDIOFILE_AF10WAVEFORMAT * NPAUDIOFILE_AF10WAVEFORMAT
APTXWAVEFORMAT * LPAPTXWAVEFORMAT
struct sierra_adpcmwaveformat_tag SIERRAADPCMWAVEFORMAT
struct mpeg1waveformat_tag MPEG1WAVEFORMAT
struct WAVEFILTER_ECHO * PECHOWAVEFILTER
struct WAVEFILTER_ECHO ECHOWAVEFILTER
CREATIVEFASTSPEECH10WAVEFORMAT * PCREATIVEFASTSPEECH10WAVEFORMAT
ECHOSC1WAVEFORMAT * PECHOSC1WAVEFORMAT
OLICELPWAVEFORMAT * POLICELPWAVEFORMAT
DVIADPCMWAVEFORMAT * NPDVIADPCMWAVEFORMAT
MEDIASPACEADPCMWAVEFORMAT * NPMEDIASPACEADPCMWAVEFORMAT
struct mediaspace_adpcmwaveformat_tag MEDIASPACEADPCMWAVEFORMAT
struct creative_fastspeechformat_tag DIALOGICOKIADPCMWAVEFORMAT
G721_ADPCMWAVEFORMAT * NG721_ADPCMWAVEFORMAT
TRUESPEECHWAVEFORMAT * PTRUESPEECHWAVEFORMAT
OLIOPRWAVEFORMAT * NPOLIOPRWAVEFORMAT
struct _WAVEFILTER_VOLUME * PVOLUMEWAVEFILTER
struct digiadpcmmwaveformat_tag DIGIADPCMWAVEFORMAT
struct contres_cr10waveformat_tag CONTRESCR10WAVEFORMAT
struct creative_adpcmwaveformat_tag CREATIVEADPCMWAVEFORMAT
struct mpeg1waveformat_tag * PMPEG1WAVEFORMAT
struct _WAVEFILTER * NPWAVEFILTER
ADPCMCOEFSET * NPADPCMCOEFSET
G723_ADPCMWAVEFORMAT * NPG723_ADPCMWAVEFORMAT
struct WAVEFILTER_ECHO * NPECHOWAVEFILTER
ADPCMWAVEFORMAT * NPADPCMWAVEFORMAT
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved