2 * Declarations for MultiMedia-REGistration
4 * Copyright (C) 1999 Eric Pouech
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #ifndef __WINE_MMREG_H
24 #define __WINE_MMREG_H
31 /***********************************************************************
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
48 typedef struct _WAVEFILTER
{
53 } WAVEFILTER
, *PWAVEFILTER
, *NPWAVEFILTER
, *LPWAVEFILTER
;
54 #endif /* _ACM_WAVEFILTER */
56 #ifndef WAVE_FILTER_VOLUME
57 #define WAVE_FILTER_VOLUME 0x0001
59 typedef struct _WAVEFILTER_VOLUME
{
62 } VOLUMEWAVEFILTER
, *PVOLUMEWAVEFILTER
, *NPVOLUMEWAVEFILTER
, *LPVOLUMEWAVEFILTER
;
63 #endif /* WAVE_FILTER_VOLUME */
65 #ifndef WAVE_FILTER_ECHO
66 #define WAVE_FILTER_ECHO 0x0002
68 typedef struct WAVEFILTER_ECHO
{
72 } ECHOWAVEFILTER
, *PECHOWAVEFILTER
, *NPECHOWAVEFILTER
, *LPECHOWAVEFILTER
;
73 #endif /* WAVEFILTER_ECHO */
75 #ifndef _WAVEFORMATEX_
76 #define _WAVEFORMATEX_
77 typedef struct _WAVEFORMATEX
{
81 DWORD nAvgBytesPerSec
;
85 } WAVEFORMATEX
, *PWAVEFORMATEX
, *NPWAVEFORMATEX
, *LPWAVEFORMATEX
;
87 typedef const struct _WAVEFORMATEX
*LPCWAVEFORMATEX
;
88 #endif /* _WAVEFORMATEX_ */
90 #ifndef WAVE_FORMAT_PCM
91 #define WAVE_FORMAT_PCM 0x0001
94 /* WAVE form wFormatTag IDs */
95 #define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
96 #define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
97 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 /* Microsoft Corporation */
98 #define WAVE_FORMAT_IBM_CVSD 0x0005 /* IBM Corporation */
99 #define WAVE_FORMAT_ALAW 0x0006 /* Microsoft Corporation */
100 #define WAVE_FORMAT_MULAW 0x0007 /* Microsoft Corporation */
101 #define WAVE_FORMAT_OKI_ADPCM 0x0010 /* OKI */
102 #define WAVE_FORMAT_DVI_ADPCM 0x0011 /* Intel Corporation */
103 #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) /* Intel Corporation */
104 #define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 /* Videologic */
105 #define WAVE_FORMAT_SIERRA_ADPCM 0x0013 /* Sierra Semiconductor Corp */
106 #define WAVE_FORMAT_G723_ADPCM 0x0014 /* Antex Electronics Corporation */
107 #define WAVE_FORMAT_DIGISTD 0x0015 /* DSP Solutions, Inc. */
108 #define WAVE_FORMAT_DIGIFIX 0x0016 /* DSP Solutions, Inc. */
109 #define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 /* Dialogic Corporation */
110 #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 /* Yamaha Corporation of America */
111 #define WAVE_FORMAT_SONARC 0x0021 /* Speech Compression */
112 #define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 /* DSP Group, Inc */
113 #define WAVE_FORMAT_ECHOSC1 0x0023 /* Echo Speech Corporation */
114 #define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 /* */
115 #define WAVE_FORMAT_APTX 0x0025 /* Audio Processing Technology */
116 #define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 /* */
117 #define WAVE_FORMAT_DOLBY_AC2 0x0030 /* Dolby Laboratories */
118 #define WAVE_FORMAT_GSM610 0x0031 /* Microsoft Corporation */
119 #define WAVE_FORMAT_ANTEX_ADPCME 0x0033 /* Antex Electronics Corporation */
120 #define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 /* Control Resources Limited */
121 #define WAVE_FORMAT_DIGIREAL 0x0035 /* DSP Solutions, Inc. */
122 #define WAVE_FORMAT_DIGIADPCM 0x0036 /* DSP Solutions, Inc. */
123 #define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 /* Control Resources Limited */
124 #define WAVE_FORMAT_NMS_VBXADPCM 0x0038 /* Natural MicroSystems */
125 #define WAVE_FORMAT_G721_ADPCM 0x0040 /* Antex Electronics Corporation */
126 #define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
127 #define WAVE_FORMAT_MPEGLAYER3 0x0055
128 #define WAVE_FORMAT_MSRT24 0x0082 /* Microsoft Corporation */
129 #define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092 /* Sonic Foundry */
130 #define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
131 #define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
132 #define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
133 #define WAVE_FORMAT_FM_TOWNS_SND 0x0300 /* Fujitsu Corp. */
134 #define WAVE_FORMAT_OLIGSM 0x1000 /* Ing C. Olivetti & C., S.p.A. */
135 #define WAVE_FORMAT_OLIADPCM 0x1001 /* Ing C. Olivetti & C., S.p.A. */
136 #define WAVE_FORMAT_OLICELP 0x1002 /* Ing C. Olivetti & C., S.p.A. */
137 #define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
138 #define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
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 /* Microsoft */
160 #define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
162 typedef struct adpcmcoef_tag
{
166 typedef ADPCMCOEFSET
*PADPCMCOEFSET
,
167 *NPADPCMCOEFSET
, *LPADPCMCOEFSET
;
169 typedef struct adpcmwaveformat_tag
{
171 WORD wSamplesPerBlock
;
173 /* FIXME: this should be aCoef[0] */
174 ADPCMCOEFSET aCoef
[1];
176 typedef ADPCMWAVEFORMAT
*PADPCMWAVEFORMAT
,
177 *NPADPCMWAVEFORMAT
, *LPADPCMWAVEFORMAT
;
179 typedef struct dvi_adpcmwaveformat_tag
{
181 WORD wSamplesPerBlock
;
182 } DVIADPCMWAVEFORMAT
;
183 typedef DVIADPCMWAVEFORMAT
*PDVIADPCMWAVEFORMAT
,
184 *NPDVIADPCMWAVEFORMAT
, *LPDVIADPCMWAVEFORMAT
;
186 typedef struct ima_adpcmwaveformat_tag
{
188 WORD wSamplesPerBlock
;
189 } IMAADPCMWAVEFORMAT
;
190 typedef IMAADPCMWAVEFORMAT
*PIMAADPCMWAVEFORMAT
, *NPIMAADPCMWAVEFORMAT
,
191 *LPIMAADPCMWAVEFORMAT
;
193 typedef struct mediaspace_adpcmwaveformat_tag
{
196 } MEDIASPACEADPCMWAVEFORMAT
;
197 typedef MEDIASPACEADPCMWAVEFORMAT
*PMEDIASPACEADPCMWAVEFORMAT
,
198 *NPMEDIASPACEADPCMWAVEFORMAT
, *LPMEDIASPACEADPCMWAVEFORMAT
;
200 typedef struct sierra_adpcmwaveformat_tag
{
203 } SIERRAADPCMWAVEFORMAT
;
204 typedef SIERRAADPCMWAVEFORMAT
*PSIERRAADPCMWAVEFORMAT
,
205 *NPSIERRAADPCMWAVEFORMAT
, *LPSIERRAADPCMWAVEFORMAT
;
207 typedef struct g723_adpcmwaveformat_tag
{
211 } G723_ADPCMWAVEFORMAT
;
212 typedef G723_ADPCMWAVEFORMAT
*PG723_ADPCMWAVEFORMAT
,
213 *NPG723_ADPCMWAVEFORMAT
, *LPG723_ADPCMWAVEFORMAT
;
215 typedef struct digistdwaveformat_tag
{
218 typedef DIGISTDWAVEFORMAT
*PDIGISTDWAVEFORMAT
,
219 *NPDIGISTDWAVEFORMAT
, *LPDIGISTDWAVEFORMAT
;
221 typedef struct digifixwaveformat_tag
{
224 typedef DIGIFIXWAVEFORMAT
*PDIGIFIXWAVEFORMAT
,
225 *NPDIGIFIXWAVEFORMAT
, *LPDIGIFIXWAVEFORMAT
;
227 typedef struct creative_fastspeechformat_tag
{
229 } DIALOGICOKIADPCMWAVEFORMAT
;
230 typedef DIALOGICOKIADPCMWAVEFORMAT
*PDIALOGICOKIADPCMWAVEFORMAT
,
231 *NPDIALOGICOKIADPCMWAVEFORMAT
, *LPDIALOGICOKIADPCMWAVEFORMAT
;
233 typedef struct yamaha_adpmcwaveformat_tag
{
235 } YAMAHA_ADPCMWAVEFORMAT
;
236 typedef YAMAHA_ADPCMWAVEFORMAT
*PYAMAHA_ADPCMWAVEFORMAT
,
237 *NPYAMAHA_ADPCMWAVEFORMAT
, *LPYAMAHA_ADPCMWAVEFORMAT
;
239 typedef struct sonarcwaveformat_tag
{
243 typedef SONARCWAVEFORMAT
*PSONARCWAVEFORMAT
,
244 *NPSONARCWAVEFORMAT
,*LPSONARCWAVEFORMAT
;
246 typedef struct truespeechwaveformat_tag
{
249 WORD nSamplesPerBlock
;
251 } TRUESPEECHWAVEFORMAT
;
252 typedef TRUESPEECHWAVEFORMAT
*PTRUESPEECHWAVEFORMAT
,
253 *NPTRUESPEECHWAVEFORMAT
, *LPTRUESPEECHWAVEFORMAT
;
255 typedef struct echosc1waveformat_tag
{
258 typedef ECHOSC1WAVEFORMAT
*PECHOSC1WAVEFORMAT
,
259 *NPECHOSC1WAVEFORMAT
, *LPECHOSC1WAVEFORMAT
;
261 typedef struct audiofile_af36waveformat_tag
{
263 } AUDIOFILE_AF36WAVEFORMAT
;
264 typedef AUDIOFILE_AF36WAVEFORMAT
*PAUDIOFILE_AF36WAVEFORMAT
,
265 *NPAUDIOFILE_AF36WAVEFORMAT
, *LPAUDIOFILE_AF36WAVEFORMAT
;
267 typedef struct aptxwaveformat_tag
{
270 typedef APTXWAVEFORMAT
*PAPTXWAVEFORMAT
,
271 *NPAPTXWAVEFORMAT
, *LPAPTXWAVEFORMAT
;
273 typedef struct audiofile_af10waveformat_tag
{
275 } AUDIOFILE_AF10WAVEFORMAT
;
276 typedef AUDIOFILE_AF10WAVEFORMAT
*PAUDIOFILE_AF10WAVEFORMAT
,
277 *NPAUDIOFILE_AF10WAVEFORMAT
, *LPAUDIOFILE_AF10WAVEFORMAT
;
279 typedef struct dolbyac2waveformat_tag
{
282 } DOLBYAC2WAVEFORMAT
;
284 typedef struct gsm610waveformat_tag
{
286 WORD wSamplesPerBlock
;
288 typedef GSM610WAVEFORMAT
*PGSM610WAVEFORMAT
,
289 *NPGSM610WAVEFORMAT
, *LPGSM610WAVEFORMAT
;
291 typedef struct adpcmewaveformat_tag
{
293 WORD wSamplesPerBlock
;
295 typedef ADPCMEWAVEFORMAT
*PADPCMEWAVEFORMAT
,
296 *NPADPCMEWAVEFORMAT
, *LPADPCMEWAVEFORMAT
;
298 typedef struct contres_vqlpcwaveformat_tag
{
300 WORD wSamplesPerBlock
;
301 } CONTRESVQLPCWAVEFORMAT
;
302 typedef CONTRESVQLPCWAVEFORMAT
*PCONTRESVQLPCWAVEFORMAT
,
303 *NPCONTRESVQLPCWAVEFORMAT
, *LPCONTRESVQLPCWAVEFORMAT
;
305 typedef struct digirealwaveformat_tag
{
307 WORD wSamplesPerBlock
;
308 } DIGIREALWAVEFORMAT
;
309 typedef DIGIREALWAVEFORMAT
*PDIGIREALWAVEFORMAT
,
310 *NPDIGIREALWAVEFORMAT
, *LPDIGIREALWAVEFORMAT
;
312 typedef struct digiadpcmmwaveformat_tag
{
314 WORD wSamplesPerBlock
;
315 } DIGIADPCMWAVEFORMAT
;
316 typedef DIGIADPCMWAVEFORMAT
*PDIGIADPCMWAVEFORMAT
,
317 *NPDIGIADPCMWAVEFORMAT
, *LPDIGIADPCMWAVEFORMAT
;
319 typedef struct contres_cr10waveformat_tag
{
321 WORD wSamplesPerBlock
;
322 } CONTRESCR10WAVEFORMAT
;
323 typedef CONTRESCR10WAVEFORMAT
*PCONTRESCR10WAVEFORMAT
,
324 *NPCONTRESCR10WAVEFORMAT
, *LPCONTRESCR10WAVEFORMAT
;
326 typedef struct nms_vbxadpcmmwaveformat_tag
{
328 WORD wSamplesPerBlock
;
329 } NMS_VBXADPCMWAVEFORMAT
;
330 typedef NMS_VBXADPCMWAVEFORMAT
*PNMS_VBXADPCMWAVEFORMAT
,
331 *NPNMS_VBXADPCMWAVEFORMAT
, *LPNMS_VBXADPCMWAVEFORMAT
;
333 typedef struct g721_adpcmwaveformat_tag
{
336 } G721_ADPCMWAVEFORMAT
;
337 typedef G721_ADPCMWAVEFORMAT
*PG721_ADPCMWAVEFORMAT
,
338 *NG721_ADPCMWAVEFORMAT
, *LPG721_ADPCMWAVEFORMAT
;
340 typedef struct creative_adpcmwaveformat_tag
{
343 } CREATIVEADPCMWAVEFORMAT
;
344 typedef CREATIVEADPCMWAVEFORMAT
*PCREATIVEADPCMWAVEFORMAT
,
345 *NPCREATIVEADPCMWAVEFORMAT
, *LPCREATIVEADPCMWAVEFORMAT
;
347 typedef struct creative_fastspeech8format_tag
{
350 } CREATIVEFASTSPEECH8WAVEFORMAT
;
351 typedef CREATIVEFASTSPEECH8WAVEFORMAT
*PCREATIVEFASTSPEECH8WAVEFORMAT
,
352 *NPCREATIVEFASTSPEECH8WAVEFORMAT
, *LPCREATIVEFASTSPEECH8WAVEFORMAT
;
354 typedef struct creative_fastspeech10format_tag
{
357 } CREATIVEFASTSPEECH10WAVEFORMAT
;
358 typedef CREATIVEFASTSPEECH10WAVEFORMAT
*PCREATIVEFASTSPEECH10WAVEFORMAT
,
359 *NPCREATIVEFASTSPEECH10WAVEFORMAT
, *LPCREATIVEFASTSPEECH10WAVEFORMAT
;
361 typedef struct fmtowns_snd_waveformat_tag
{
364 } FMTOWNS_SND_WAVEFORMAT
;
365 typedef FMTOWNS_SND_WAVEFORMAT
*PFMTOWNS_SND_WAVEFORMAT
,
366 *NPFMTOWNS_SND_WAVEFORMAT
, *LPFMTOWNS_SND_WAVEFORMAT
;
368 typedef struct oligsmwaveformat_tag
{
371 typedef OLIGSMWAVEFORMAT
*POLIGSMWAVEFORMAT
,
372 *NPOLIGSMWAVEFORMAT
, *LPOLIGSMWAVEFORMAT
;
374 typedef struct oliadpcmwaveformat_tag
{
376 } OLIADPCMWAVEFORMAT
;
377 typedef OLIADPCMWAVEFORMAT
*POLIADPCMWAVEFORMAT
,
378 *NPOLIADPCMWAVEFORMAT
, *LPOLIADPCMWAVEFORMAT
;
380 typedef struct olicelpwaveformat_tag
{
383 typedef OLICELPWAVEFORMAT
*POLICELPWAVEFORMAT
,
384 *NPOLICELPWAVEFORMAT
, *LPOLICELPWAVEFORMAT
;
386 typedef struct olisbcwaveformat_tag
{
389 typedef OLISBCWAVEFORMAT
*POLISBCWAVEFORMAT
,
390 *NPOLISBCWAVEFORMAT
, *LPOLISBCWAVEFORMAT
;
392 typedef struct olioprwaveformat_tag
{
395 typedef OLIOPRWAVEFORMAT
*POLIOPRWAVEFORMAT
,
396 *NPOLIOPRWAVEFORMAT
, *LPOLIOPRWAVEFORMAT
;
398 typedef struct csimaadpcmwaveformat_tag
{
400 } CSIMAADPCMWAVEFORMAT
;
401 typedef CSIMAADPCMWAVEFORMAT
*PCSIMAADPCMWAVEFORMAT
,
402 *NPCSIMAADPCMWAVEFORMAT
, *LPCSIMAADPCMWAVEFORMAT
;
404 typedef struct mpeg1waveformat_tag
{
414 } MPEG1WAVEFORMAT
,* PMPEG1WAVEFORMAT
;
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
430 typedef struct mpeglayer3waveformat_tag
{
435 WORD nFramesPerBlock
;
437 } MPEGLAYER3WAVEFORMAT
;
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
;
462 } WAVEFORMATEXTENSIBLE
, *PWAVEFORMATEXTENSIBLE
;
463 #endif /* _WAVEFORMATEXTENSIBLE_ */
465 #endif /* GUID_DEFINED */
467 typedef WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX
;
468 typedef WAVEFORMATPCMEX
* PWAVEFORMATPCMEX
;
469 typedef WAVEFORMATPCMEX
* NPWAVEFORMATPCMEX
;
470 typedef WAVEFORMATPCMEX
* LPWAVEFORMATPCMEX
;
472 typedef WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX
;
473 typedef WAVEFORMATIEEEFLOATEX
* PWAVEFORMATIEEEFLOATEX
;
474 typedef WAVEFORMATIEEEFLOATEX
* NPWAVEFORMATIEEEFLOATEX
;
475 typedef WAVEFORMATIEEEFLOATEX
* LPWAVEFORMATIEEEFLOATEX
;
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
501 #endif /* _SPEAKER_POSITIONS_ */
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
519 typedef struct tagEXBMINFOHEADER
{
520 BITMAPINFOHEADER bmi
;
521 DWORD biExtDataOffset
;
531 #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
532 #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
541 #endif /* __WINE_MMREG_H */
546 #pragma pack(push, 1)
548 typedef struct tWAVEFORMATEX
{
551 DWORD nSamplesPerSec
;
552 DWORD nAvgBytesPerSec
;
556 [size_is(cbSize
)] BYTE pExtraBytes
[];
557 } WAVEFORMATEX
, *PWAVEFORMATEX
, *NPWAVEFORMATEX
, *LPWAVEFORMATEX
;
562 DWORD nSamplesPerSec
;
563 DWORD nAvgBytesPerSec
;
567 WORD wValidBitsPerSample
;
570 } WAVEFORMATEXTENSIBLE
, *PWAVEFORMATEXTENSIBLE
;
575 #endif /* __WIDL__ */