ReactOS 0.4.15-dev-8119-g4fb2fdb
mmsystem.h
Go to the documentation of this file.
1/*
2 * Multimedia declarations
3 */
4
5#ifndef _MMSYSTEM_H
6#define _MMSYSTEM_H
7
8#pragma pack(push,1)
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#ifdef _MSC_VER
14#pragma warning(push)
15#pragma warning(disable:4201)
16#endif
17
18#define DRV_SUCCESS 0x0001
19#define DRV_FAILURE 0x0000
20
21#define WINMMAPI DECLSPEC_IMPORT
22#define _loadds
23#define _huge
24#define MAXPNAMELEN 32
25#define MAXERRORLENGTH 256
26#define MAX_JOYSTICKOEMVXDNAME 260
27#define _MMRESULT_
28#define TIME_MS 1
29#define TIME_SAMPLES 2
30#define TIME_BYTES 4
31#define TIME_SMPTE 8
32#define TIME_MIDI 16
33#define TIME_TICKS 32
34#ifndef MAKEFOURCC
35#define MAKEFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
36#endif
37#ifndef mmioFOURCC
38#define mmioFOURCC(c0,c1,c2,c3) MAKEFOURCC(c0,c1,c2,c3)
39#endif
40
41#ifndef MM_MICROSOFT
42#define MM_MICROSOFT 1 /* Microsoft Corp. */
43#endif
44
45#define MM_CREATIVE 2 /* Creative labs */
46
47#define MM_JOY1MOVE 0x3A0
48#define MM_JOY2MOVE 0x3A1
49#define MM_JOY1ZMOVE 0x3A2
50#define MM_JOY2ZMOVE 0x3A3
51#define MM_JOY1BUTTONDOWN 0x3B5
52#define MM_JOY2BUTTONDOWN 0x3B6
53#define MM_JOY1BUTTONUP 0x3B7
54#define MM_JOY2BUTTONUP 0x3B8
55#define MM_MCINOTIFY 0x3B9
56#define MM_WOM_OPEN 0x3BB
57#define MM_WOM_CLOSE 0x3BC
58#define MM_WOM_DONE 0x3BD
59#define MM_WIM_OPEN 0x3BE
60#define MM_WIM_CLOSE 0x3BF
61#define MM_WIM_DATA 0x3C0
62#define MM_MIM_OPEN 0x3C1
63#define MM_MIM_CLOSE 0x3C2
64#define MM_MIM_DATA 0x3C3
65#define MM_MIM_LONGDATA 0x3C4
66#define MM_MIM_ERROR 0x3C5
67#define MM_MIM_LONGERROR 0x3C6
68#define MM_MOM_OPEN 0x3C7
69#define MM_MOM_CLOSE 0x3C8
70#define MM_MOM_DONE 0x3C9
71#define MM_DRVM_OPEN 0x3D0
72#define MM_DRVM_CLOSE 0x3D1
73#define MM_DRVM_DATA 0x3D2
74#define MM_DRVM_ERROR 0x3D3
75#define MM_STREAM_OPEN 0x3D4
76#define MM_STREAM_CLOSE 0x3D5
77#define MM_STREAM_DONE 0x3D6
78#define MM_STREAM_ERROR 0x3D7
79#define MM_MOM_POSITIONCB 0x3CA
80#define MM_MCISIGNAL 0x3CB
81#define MM_MIM_MOREDATA 0x3CC
82#define MM_MIXM_LINE_CHANGE 0x3D0
83#define MM_MIXM_CONTROL_CHANGE 0x3D1
84#define MMSYSERR_BASE 0
85#define WAVERR_BASE 32
86#define MIDIERR_BASE 64
87#define TIMERR_BASE 96
88#define JOYERR_BASE 160
89#define MCIERR_BASE 256
90#define MIXERR_BASE 1024
91#define MCI_STRING_OFFSET 512
92#define MCI_VD_OFFSET 1024
93#define MCI_CD_OFFSET 1088
94#define MCI_WAVE_OFFSET 1152
95#define MCI_SEQ_OFFSET 1216
96#define MMSYSERR_NOERROR 0
97#define MMSYSERR_ERROR (MMSYSERR_BASE+1)
98#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE+2)
99#define MMSYSERR_NOTENABLED (MMSYSERR_BASE+3)
100#define MMSYSERR_ALLOCATED (MMSYSERR_BASE+4)
101#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE+5)
102#define MMSYSERR_NODRIVER (MMSYSERR_BASE+6)
103#define MMSYSERR_NOMEM (MMSYSERR_BASE+7)
104#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE+8)
105#define MMSYSERR_BADERRNUM (MMSYSERR_BASE+9)
106#define MMSYSERR_INVALFLAG (MMSYSERR_BASE+10)
107#define MMSYSERR_INVALPARAM (MMSYSERR_BASE+11)
108#define MMSYSERR_HANDLEBUSY (MMSYSERR_BASE+12)
109#define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE+13)
110#define MMSYSERR_BADDB (MMSYSERR_BASE+14)
111#define MMSYSERR_KEYNOTFOUND (MMSYSERR_BASE + 15)
112#define MMSYSERR_READERROR (MMSYSERR_BASE + 16)
113#define MMSYSERR_WRITEERROR (MMSYSERR_BASE + 17)
114#define MMSYSERR_DELETEERROR (MMSYSERR_BASE + 18)
115#define MMSYSERR_VALNOTFOUND (MMSYSERR_BASE + 19)
116#define MMSYSERR_NODRIVERCB (MMSYSERR_BASE + 20)
117#define MMSYSERR_MOREDATA (MMSYSERR_BASE + 21)
118#define MMSYSERR_LASTERROR (MMSYSERR_BASE + 21)
119#define DRV_LOAD 1
120#define DRV_ENABLE 2
121#define DRV_OPEN 3
122#define DRV_CLOSE 4
123#define DRV_DISABLE 5
124#define DRV_FREE 6
125#define DRV_CONFIGURE 7
126#define DRV_QUERYCONFIGURE 8
127#define DRV_INSTALL 9
128#define DRV_REMOVE 10
129#define DRV_EXITSESSION 11
130#define DRV_POWER 15
131#define DRV_RESERVED 0x800
132#define DRV_USER 0x4000
133#define DRVCNF_CANCEL 0
134#define DRVCNF_OK 1
135#define DRVCNF_RESTART 2
136#define DRV_CANCEL DRVCNF_CANCEL
137#define DRV_OK DRVCNF_OK
138#define DRV_RESTART DRVCNF_RESTART
139#define DRV_MCI_FIRST DRV_RESERVED
140#define DRV_MCI_LAST (DRV_RESERVED+0xFFF)
141#ifdef _WINE
142#define DRV_SUCCESS 0x0001
143#define DRV_FAILURE 0x0000
144#define DRV_EXITAPPLICATION 0x000C
145#endif
146#define CALLBACK_TYPEMASK 0x70000
147#define CALLBACK_NULL 0
148#define CALLBACK_WINDOW 0x10000
149#define CALLBACK_TASK 0x20000
150#define CALLBACK_FUNCTION 0x30000
151#define CALLBACK_THREAD CALLBACK_TASK
152#define CALLBACK_EVENT 0x50000
153#define SND_SYNC 0
154#define SND_ASYNC 1
155#define SND_NODEFAULT 2
156#define SND_MEMORY 4
157#define SND_LOOP 8
158#define SND_NOSTOP 16
159#define SND_NOWAIT 0x2000
160#define SND_ALIAS 0x10000
161#define SND_ALIAS_ID 0x110000
162#define SND_FILENAME 0x20000
163#define SND_RESOURCE 0x40004
164#define SND_PURGE 0x40
165#define SND_APPLICATION 0x80
166#define SND_ALIAS_START 0
167#define sndAlias(c0,c1) (SND_ALIAS_START+((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)))
168#define SND_ALIAS_SYSTEMASTERISK sndAlias('S','*')
169#define SND_ALIAS_SYSTEMQUESTION sndAlias('S','?')
170#define SND_ALIAS_SYSTEMHAND sndAlias('S','H')
171#define SND_ALIAS_SYSTEMEXIT sndAlias('S','E')
172#define SND_ALIAS_SYSTEMSTART sndAlias('S','S')
173#define SND_ALIAS_SYSTEMWELCOME sndAlias('S','W')
174#define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S','!')
175#define SND_ALIAS_SYSTEMDEFAULT sndAlias('S','D')
176#define WAVERR_BADFORMAT (WAVERR_BASE + 0)
177#define WAVERR_STILLPLAYING (WAVERR_BASE + 1)
178#define WAVERR_UNPREPARED (WAVERR_BASE + 2)
179#define WAVERR_SYNC (WAVERR_BASE + 3)
180#define WAVERR_LASTERROR (WAVERR_BASE + 3)
181#define WOM_OPEN MM_WOM_OPEN
182#define WOM_CLOSE MM_WOM_CLOSE
183#define WOM_DONE MM_WOM_DONE
184#define WIM_OPEN MM_WIM_OPEN
185#define WIM_CLOSE MM_WIM_CLOSE
186#define WIM_DATA MM_WIM_DATA
187#define WAVE_MAPPER ((UINT)-1)
188#define WAVE_FORMAT_QUERY 1
189#define WAVE_ALLOWSYNC 2
190#define WAVE_MAPPED 4
191#define WAVE_FORMAT_DIRECT 8
192#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT)
193#define WHDR_DONE 1
194#define WHDR_PREPARED 2
195#define WHDR_BEGINLOOP 4
196#define WHDR_ENDLOOP 8
197#define WHDR_INQUEUE 16
198#define WAVECAPS_PITCH 1
199#define WAVECAPS_PLAYBACKRATE 2
200#define WAVECAPS_VOLUME 4
201#define WAVECAPS_LRVOLUME 8
202#define WAVECAPS_SYNC 16
203#define WAVECAPS_SAMPLEACCURATE 32
204#define WAVECAPS_DIRECTSOUND 64
205#define WAVE_INVALIDFORMAT 0
206#define WAVE_FORMAT_1M08 1
207#define WAVE_FORMAT_1S08 2
208#define WAVE_FORMAT_1M16 4
209#define WAVE_FORMAT_1S16 8
210#define WAVE_FORMAT_2M08 16
211#define WAVE_FORMAT_2S08 32
212#define WAVE_FORMAT_2M16 64
213#define WAVE_FORMAT_2S16 128
214#define WAVE_FORMAT_4M08 256
215#define WAVE_FORMAT_4S08 512
216#define WAVE_FORMAT_4M16 1024
217#define WAVE_FORMAT_4S16 2048
218#define WAVE_FORMAT_48M08 4096
219#define WAVE_FORMAT_48S08 8192
220#define WAVE_FORMAT_48M16 16384
221#define WAVE_FORMAT_48S16 32768
222#define WAVE_FORMAT_96M08 65536
223#define WAVE_FORMAT_96S08 131072
224#define WAVE_FORMAT_96M16 262144
225#define WAVE_FORMAT_96S16 524288
226
227#ifndef WAVE_FORMAT_PCM
228#define WAVE_FORMAT_PCM 1
229#endif
230
231#define MIDIERR_UNPREPARED MIDIERR_BASE
232#define MIDIERR_STILLPLAYING (MIDIERR_BASE+1)
233#define MIDIERR_NOMAP (MIDIERR_BASE+2)
234#define MIDIERR_NOTREADY (MIDIERR_BASE+3)
235#define MIDIERR_NODEVICE (MIDIERR_BASE+4)
236#define MIDIERR_INVALIDSETUP (MIDIERR_BASE+5)
237#define MIDIERR_BADOPENMODE (MIDIERR_BASE+6)
238#define MIDIERR_DONT_CONTINUE (MIDIERR_BASE+7)
239#define MIDIERR_LASTERROR (MIDIERR_BASE+7)
240#define MIDIPATCHSIZE 128
241#define MIM_OPEN MM_MIM_OPEN
242#define MIM_CLOSE MM_MIM_CLOSE
243#define MIM_DATA MM_MIM_DATA
244#define MIM_LONGDATA MM_MIM_LONGDATA
245#define MIM_ERROR MM_MIM_ERROR
246#define MIM_LONGERROR MM_MIM_LONGERROR
247#define MOM_OPEN MM_MOM_OPEN
248#define MOM_CLOSE MM_MOM_CLOSE
249#define MOM_DONE MM_MOM_DONE
250#define MIM_MOREDATA MM_MIM_MOREDATA
251#define MOM_POSITIONCB MM_MOM_POSITIONCB
252#define MIDIMAPPER ((UINT)-1)
253#define MIDI_MAPPER ((UINT)-1)
254#define MIDI_IO_STATUS 32
255#define MIDI_CACHE_ALL 1
256#define MIDI_CACHE_BESTFIT 2
257#define MIDI_CACHE_QUERY 3
258#define MIDI_UNCACHE 4
259#define MOD_MIDIPORT 1
260#define MOD_SYNTH 2
261#define MOD_SQSYNTH 3
262#define MOD_FMSYNTH 4
263#define MOD_MAPPER 5
264#define MIDICAPS_VOLUME 1
265#define MIDICAPS_LRVOLUME 2
266#define MIDICAPS_CACHE 4
267#define MIDICAPS_STREAM 8
268#define MHDR_DONE 1
269#define MHDR_PREPARED 2
270#define MHDR_INQUEUE 4
271#define MHDR_ISSTRM 8
272#define MEVT_F_SHORT 0
273#define MEVT_F_LONG 0x80000000
274#define MEVT_F_CALLBACK 0x40000000
275#define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF))
276#define MEVT_EVENTPARM(x) ((DWORD)((x)&0xFFFFFFL))
277#define MEVT_SHORTMSG 0
278#define MEVT_TEMPO 1
279#define MEVT_NOP 2
280#define MEVT_LONGMSG ((BYTE)0x80)
281#define MEVT_COMMENT ((BYTE)0x82)
282#define MEVT_VERSION ((BYTE)0x84)
283#define MIDISTRM_ERROR (-2)
284#define MIDIPROP_SET 0x80000000
285#define MIDIPROP_GET 0x40000000
286#define MIDIPROP_TIMEDIV 1
287#define MIDIPROP_TEMPO 2
288#define AUX_MAPPER ((UINT)-1)
289#define AUXCAPS_CDAUDIO 1
290#define AUXCAPS_AUXIN 2
291#define AUXCAPS_VOLUME 1
292#define AUXCAPS_LRVOLUME 2
293#define MIXER_SHORT_NAME_CHARS 16
294#define MIXER_LONG_NAME_CHARS 64
295#define MIXERR_INVALLINE MIXERR_BASE
296#define MIXERR_INVALCONTROL (MIXERR_BASE+1)
297#define MIXERR_INVALVALUE (MIXERR_BASE+2)
298#define MIXERR_LASTERROR (MIXERR_BASE+2)
299#define MIXER_OBJECTF_HANDLE 0x80000000
300#define MIXER_OBJECTF_MIXER 0
301#define MIXER_OBJECTF_HMIXER (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER)
302#define MIXER_OBJECTF_WAVEOUT 0x10000000
303#define MIXER_OBJECTF_HWAVEOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT)
304#define MIXER_OBJECTF_WAVEIN 0x20000000
305#define MIXER_OBJECTF_HWAVEIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN)
306#define MIXER_OBJECTF_MIDIOUT 0x30000000
307#define MIXER_OBJECTF_HMIDIOUT (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT)
308#define MIXER_OBJECTF_MIDIIN 0x40000000
309#define MIXER_OBJECTF_HMIDIIN (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN)
310#define MIXER_OBJECTF_AUX 0x50000000
311#define MIXERLINE_LINEF_ACTIVE 1
312#define MIXERLINE_LINEF_DISCONNECTED 0x8000
313#define MIXERLINE_LINEF_SOURCE 0x80000000
314#define MIXERLINE_COMPONENTTYPE_DST_FIRST 0
315#define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED MIXERLINE_COMPONENTTYPE_DST_FIRST
316#define MIXERLINE_COMPONENTTYPE_DST_DIGITAL (MIXERLINE_COMPONENTTYPE_DST_FIRST+1)
317#define MIXERLINE_COMPONENTTYPE_DST_LINE (MIXERLINE_COMPONENTTYPE_DST_FIRST+2)
318#define MIXERLINE_COMPONENTTYPE_DST_MONITOR (MIXERLINE_COMPONENTTYPE_DST_FIRST+3)
319#define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS (MIXERLINE_COMPONENTTYPE_DST_FIRST+4)
320#define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES (MIXERLINE_COMPONENTTYPE_DST_FIRST+5)
321#define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE (MIXERLINE_COMPONENTTYPE_DST_FIRST+6)
322#define MIXERLINE_COMPONENTTYPE_DST_WAVEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+7)
323#define MIXERLINE_COMPONENTTYPE_DST_VOICEIN (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
324#define MIXERLINE_COMPONENTTYPE_DST_LAST (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
325#define MIXERLINE_COMPONENTTYPE_SRC_FIRST 0x1000
326#define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED MIXERLINE_COMPONENTTYPE_SRC_FIRST
327#define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL (MIXERLINE_COMPONENTTYPE_SRC_FIRST+1)
328#define MIXERLINE_COMPONENTTYPE_SRC_LINE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+2)
329#define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+3)
330#define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+4)
331#define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST+5)
332#define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+6)
333#define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+7)
334#define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT (MIXERLINE_COMPONENTTYPE_SRC_FIRST+8)
335#define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY (MIXERLINE_COMPONENTTYPE_SRC_FIRST+9)
336#define MIXERLINE_COMPONENTTYPE_SRC_ANALOG (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
337#define MIXERLINE_COMPONENTTYPE_SRC_LAST (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
338#define MIXERLINE_TARGETTYPE_UNDEFINED 0
339#define MIXERLINE_TARGETTYPE_WAVEOUT 1
340#define MIXERLINE_TARGETTYPE_WAVEIN 2
341#define MIXERLINE_TARGETTYPE_MIDIOUT 3
342#define MIXERLINE_TARGETTYPE_MIDIIN 4
343#define MIXERLINE_TARGETTYPE_AUX 5
344#define MIXER_GETLINEINFOF_DESTINATION 0
345#define MIXER_GETLINEINFOF_SOURCE 1
346#define MIXER_GETLINEINFOF_LINEID 2
347#define MIXER_GETLINEINFOF_COMPONENTTYPE 3
348#define MIXER_GETLINEINFOF_TARGETTYPE 4
349#define MIXER_GETLINEINFOF_QUERYMASK 15
350#define MIXERCONTROL_CONTROLF_UNIFORM 1
351#define MIXERCONTROL_CONTROLF_MULTIPLE 2
352#define MIXERCONTROL_CONTROLF_DISABLED 0x80000000
353#define MIXERCONTROL_CT_CLASS_MASK 0xF0000000
354#define MIXERCONTROL_CT_CLASS_CUSTOM 0
355#define MIXERCONTROL_CT_CLASS_METER 0x10000000
356#define MIXERCONTROL_CT_CLASS_SWITCH 0x20000000
357#define MIXERCONTROL_CT_CLASS_NUMBER 0x30000000
358#define MIXERCONTROL_CT_CLASS_SLIDER 0x40000000
359#define MIXERCONTROL_CT_CLASS_FADER 0x50000000
360#define MIXERCONTROL_CT_CLASS_TIME 0x60000000
361#define MIXERCONTROL_CT_CLASS_LIST 0x70000000
362#define MIXERCONTROL_CT_SUBCLASS_MASK 0xF000000
363#define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN 0
364#define MIXERCONTROL_CT_SC_SWITCH_BUTTON 0x1000000
365#define MIXERCONTROL_CT_SC_METER_POLLED 0
366#define MIXERCONTROL_CT_SC_TIME_MICROSECS 0
367#define MIXERCONTROL_CT_SC_TIME_MILLISECS 0x1000000
368#define MIXERCONTROL_CT_SC_LIST_SINGLE 0
369#define MIXERCONTROL_CT_SC_LIST_MULTIPLE 0x1000000
370#define MIXERCONTROL_CT_UNITS_MASK 0xFF0000
371#define MIXERCONTROL_CT_UNITS_CUSTOM 0
372#define MIXERCONTROL_CT_UNITS_BOOLEAN 0x10000
373#define MIXERCONTROL_CT_UNITS_SIGNED 0x20000
374#define MIXERCONTROL_CT_UNITS_UNSIGNED 0x30000
375#define MIXERCONTROL_CT_UNITS_DECIBELS 0x40000
376#define MIXERCONTROL_CT_UNITS_PERCENT 0x50000
377#define MIXERCONTROL_CONTROLTYPE_CUSTOM (MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM)
378#define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN)
379#define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED)
380#define MIXERCONTROL_CONTROLTYPE_PEAKMETER (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1)
381#define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED)
382#define MIXERCONTROL_CONTROLTYPE_BOOLEAN (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN)
383#define MIXERCONTROL_CONTROLTYPE_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN+1)
384#define MIXERCONTROL_CONTROLTYPE_MUTE (MIXERCONTROL_CONTROLTYPE_BOOLEAN+2)
385#define MIXERCONTROL_CONTROLTYPE_MONO (MIXERCONTROL_CONTROLTYPE_BOOLEAN+3)
386#define MIXERCONTROL_CONTROLTYPE_LOUDNESS (MIXERCONTROL_CONTROLTYPE_BOOLEAN+4)
387#define MIXERCONTROL_CONTROLTYPE_STEREOENH (MIXERCONTROL_CONTROLTYPE_BOOLEAN+5)
388#define MIXERCONTROL_CONTROLTYPE_BASS_BOOST (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 0x00002277)
389#define MIXERCONTROL_CONTROLTYPE_BUTTON (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN)
390#define MIXERCONTROL_CONTROLTYPE_DECIBELS (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS)
391#define MIXERCONTROL_CONTROLTYPE_SIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED)
392#define MIXERCONTROL_CONTROLTYPE_UNSIGNED (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED)
393#define MIXERCONTROL_CONTROLTYPE_PERCENT (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT)
394#define MIXERCONTROL_CONTROLTYPE_SLIDER (MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED)
395#define MIXERCONTROL_CONTROLTYPE_PAN (MIXERCONTROL_CONTROLTYPE_SLIDER+1)
396#define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN (MIXERCONTROL_CONTROLTYPE_SLIDER+2)
397#define MIXERCONTROL_CONTROLTYPE_FADER (MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED)
398#define MIXERCONTROL_CONTROLTYPE_VOLUME (MIXERCONTROL_CONTROLTYPE_FADER+1)
399#define MIXERCONTROL_CONTROLTYPE_BASS (MIXERCONTROL_CONTROLTYPE_FADER+2)
400#define MIXERCONTROL_CONTROLTYPE_TREBLE (MIXERCONTROL_CONTROLTYPE_FADER+3)
401#define MIXERCONTROL_CONTROLTYPE_EQUALIZER (MIXERCONTROL_CONTROLTYPE_FADER+4)
402#define MIXERCONTROL_CONTROLTYPE_SINGLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
403#define MIXERCONTROL_CONTROLTYPE_MUX (MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1)
404#define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
405#define MIXERCONTROL_CONTROLTYPE_MIXER (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1)
406#define MIXERCONTROL_CONTROLTYPE_MICROTIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
407#define MIXERCONTROL_CONTROLTYPE_MILLITIME (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
408#define MIXER_GETLINECONTROLSF_ALL 0
409#define MIXER_GETLINECONTROLSF_ONEBYID 1
410#define MIXER_GETLINECONTROLSF_ONEBYTYPE 2
411#define MIXER_GETLINECONTROLSF_QUERYMASK 15
412#define MIXER_GETCONTROLDETAILSF_VALUE 0
413#define MIXER_GETCONTROLDETAILSF_LISTTEXT 1
414#define MIXER_GETCONTROLDETAILSF_QUERYMASK 15
415#define MIXER_SETCONTROLDETAILSF_VALUE 0
416#define MIXER_SETCONTROLDETAILSF_CUSTOM 1
417#define MIXER_SETCONTROLDETAILSF_QUERYMASK 15
418#define TIMERR_NOERROR 0
419#define TIMERR_NOCANDO (TIMERR_BASE+1)
420#define TIMERR_STRUCT (TIMERR_BASE+33)
421#define TIME_ONESHOT 0
422#define TIME_PERIODIC 1
423#define TIME_CALLBACK_FUNCTION 0
424#define TIME_CALLBACK_EVENT_SET 16
425#define TIME_CALLBACK_EVENT_PULSE 32
426#if (WINVER >= 0x0501)
427#define TIME_KILL_SYNCHRONOUS 0x0100
428#endif
429#define JOYERR_NOERROR (0)
430#define JOYERR_PARMS (JOYERR_BASE+5)
431#define JOYERR_NOCANDO (JOYERR_BASE+6)
432#define JOYERR_UNPLUGGED (JOYERR_BASE+7)
433#define JOY_BUTTON1 1
434#define JOY_BUTTON2 2
435#define JOY_BUTTON3 4
436#define JOY_BUTTON4 8
437#define JOY_BUTTON1CHG 256
438#define JOY_BUTTON2CHG 512
439#define JOY_BUTTON3CHG 1024
440#define JOY_BUTTON4CHG 2048
441#define JOY_BUTTON5 257
442#define JOY_BUTTON6 513
443#define JOY_BUTTON7 1025
444#define JOY_BUTTON8 2049
445#define JOY_BUTTON9 256
446#define JOY_BUTTON10 512
447#define JOY_BUTTON11 1024
448#define JOY_BUTTON12 2048
449#define JOY_BUTTON13 4096
450#define JOY_BUTTON14 8192
451#define JOY_BUTTON15 16384
452#define JOY_BUTTON16 32768
453#define JOY_BUTTON17 65536
454#define JOY_BUTTON18 0x20000
455#define JOY_BUTTON19 0x40000
456#define JOY_BUTTON20 0x80000
457#define JOY_BUTTON21 0x100000
458#define JOY_BUTTON22 0x200000
459#define JOY_BUTTON23 0x400000
460#define JOY_BUTTON24 0x800000
461#define JOY_BUTTON25 0x1000000
462#define JOY_BUTTON26 0x2000000
463#define JOY_BUTTON27 0x4000000
464#define JOY_BUTTON28 0x8000000
465#define JOY_BUTTON29 0x10000000
466#define JOY_BUTTON30 0x20000000
467#define JOY_BUTTON31 0x40000000
468#define JOY_BUTTON32 0x80000000
469#define JOY_POVCENTERED ((WORD)-1)
470#define JOY_POVFORWARD 0
471#define JOY_POVRIGHT 9000
472#define JOY_POVBACKWARD 18000
473#define JOY_POVLEFT 27000
474#define JOY_RETURNX 1
475#define JOY_RETURNY 2
476#define JOY_RETURNZ 4l
477#define JOY_RETURNR 8
478#define JOY_RETURNU 16
479#define JOY_RETURNV 32
480#define JOY_RETURNPOV 64
481#define JOY_RETURNBUTTONS 128
482#define JOY_RETURNRAWDATA 256
483#define JOY_RETURNPOVCTS 512
484#define JOY_RETURNCENTERED 1024
485#define JOY_USEDEADZONE 2048
486#define JOY_RETURNALL (JOY_RETURNX|JOY_RETURNY|JOY_RETURNZ|JOY_RETURNR|JOY_RETURNU|JOY_RETURNV|JOY_RETURNPOV|JOY_RETURNBUTTONS)
487#define JOY_CAL_READALWAYS 0x10000
488#define JOY_CAL_READXYONLY 0x20000
489#define JOY_CAL_READ3 0x40000
490#define JOY_CAL_READ4 0x80000
491#define JOY_CAL_READXONLY 0x100000
492#define JOY_CAL_READYONLY 0x200000
493#define JOY_CAL_READ5 0x400000
494#define JOY_CAL_READ6 0x800000
495#define JOY_CAL_READZONLY 0x1000000
496#define JOY_CAL_READRONLY 0x2000000
497#define JOY_CAL_READUONLY 0x4000000
498#define JOY_CAL_READVONLY 0x8000000
499#define JOYSTICKID1 0
500#define JOYSTICKID2 1
501#define JOYCAPS_HASZ 1
502#define JOYCAPS_HASR 2
503#define JOYCAPS_HASU 4
504#define JOYCAPS_HASV 8
505#define JOYCAPS_HASPOV 16
506#define JOYCAPS_POV4DIR 32
507#define JOYCAPS_POVCTS 64
508#define MMIOERR_BASE 256
509#define MMIOERR_FILENOTFOUND (MMIOERR_BASE+1)
510#define MMIOERR_OUTOFMEMORY (MMIOERR_BASE+2)
511#define MMIOERR_CANNOTOPEN (MMIOERR_BASE+3)
512#define MMIOERR_CANNOTCLOSE (MMIOERR_BASE+4)
513#define MMIOERR_CANNOTREAD (MMIOERR_BASE+5)
514#define MMIOERR_CANNOTWRITE (MMIOERR_BASE+6)
515#define MMIOERR_CANNOTSEEK (MMIOERR_BASE+7)
516#define MMIOERR_CANNOTEXPAND (MMIOERR_BASE+8)
517#define MMIOERR_CHUNKNOTFOUND (MMIOERR_BASE+9)
518#define MMIOERR_UNBUFFERED (MMIOERR_BASE+10)
519#define MMIOERR_PATHNOTFOUND (MMIOERR_BASE+11)
520#define MMIOERR_ACCESSDENIED (MMIOERR_BASE+12)
521#define MMIOERR_SHARINGVIOLATION (MMIOERR_BASE+13)
522#define MMIOERR_NETWORKERROR (MMIOERR_BASE+14)
523#define MMIOERR_TOOMANYOPENFILES (MMIOERR_BASE+15)
524#define MMIOERR_INVALIDFILE (MMIOERR_BASE+16)
525#define CFSEPCHAR '+'
526#define MMIO_RWMODE 3
527#define MMIO_SHAREMODE 0x70
528#define MMIO_CREATE 0x1000
529#define MMIO_PARSE 256
530#define MMIO_DELETE 512
531#define MMIO_EXIST 0x4000
532#define MMIO_ALLOCBUF 0x10000
533#define MMIO_GETTEMP 0x20000
534#define MMIO_DIRTY 0x10000000
535#define MMIO_READ 0
536#define MMIO_WRITE 1
537#define MMIO_READWRITE 2
538#define MMIO_COMPAT 0
539#define MMIO_EXCLUSIVE 16
540#define MMIO_DENYWRITE 32
541#define MMIO_DENYREAD 0x30
542#define MMIO_DENYNONE 64
543#define MMIO_FHOPEN 16
544#define MMIO_EMPTYBUF 16
545#define MMIO_TOUPPER 16
546#define MMIO_INSTALLPROC 0x10000
547#define MMIO_GLOBALPROC 0x10000000
548#define MMIO_REMOVEPROC 0x20000
549#define MMIO_UNICODEPROC 0x1000000
550#define MMIO_FINDPROC 0x40000
551#define MMIO_FINDCHUNK 16
552#define MMIO_FINDRIFF 32
553#define MMIO_FINDLIST 64
554#define MMIO_CREATERIFF 32
555#define MMIO_CREATELIST 64
556#define MMIOM_READ MMIO_READ
557#define MMIOM_WRITE MMIO_WRITE
558#define MMIOM_SEEK 2
559#define MMIOM_OPEN 3
560#define MMIOM_CLOSE 4
561#define MMIOM_WRITEFLUSH 5
562#define MMIOM_RENAME 6
563#define MMIOM_USER 0x8000
564#define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F')
565#define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T')
566#define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ')
567#define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ')
568#define MMIO_DEFAULTBUFFER 8192
569#define MCIERR_INVALID_DEVICE_ID (MCIERR_BASE+1)
570#define MCIERR_UNRECOGNIZED_KEYWORD (MCIERR_BASE+3)
571#define MCIERR_UNRECOGNIZED_COMMAND (MCIERR_BASE+5)
572#define MCIERR_HARDWARE (MCIERR_BASE+6)
573#define MCIERR_INVALID_DEVICE_NAME (MCIERR_BASE+7)
574#define MCIERR_OUT_OF_MEMORY (MCIERR_BASE+8)
575#define MCIERR_DEVICE_OPEN (MCIERR_BASE+9)
576#define MCIERR_CANNOT_LOAD_DRIVER (MCIERR_BASE+10)
577#define MCIERR_MISSING_COMMAND_STRING (MCIERR_BASE+11)
578#define MCIERR_PARAM_OVERFLOW (MCIERR_BASE+12)
579#define MCIERR_MISSING_STRING_ARGUMENT (MCIERR_BASE+13)
580#define MCIERR_BAD_INTEGER (MCIERR_BASE+14)
581#define MCIERR_PARSER_INTERNAL (MCIERR_BASE+15)
582#define MCIERR_DRIVER_INTERNAL (MCIERR_BASE+16)
583#define MCIERR_MISSING_PARAMETER (MCIERR_BASE+17)
584#define MCIERR_UNSUPPORTED_FUNCTION (MCIERR_BASE+18)
585#define MCIERR_FILE_NOT_FOUND (MCIERR_BASE+19)
586#define MCIERR_DEVICE_NOT_READY (MCIERR_BASE+20)
587#define MCIERR_INTERNAL (MCIERR_BASE+21)
588#define MCIERR_DRIVER (MCIERR_BASE+22)
589#define MCIERR_CANNOT_USE_ALL (MCIERR_BASE+23)
590#define MCIERR_MULTIPLE (MCIERR_BASE+24)
591#define MCIERR_EXTENSION_NOT_FOUND (MCIERR_BASE+25)
592#define MCIERR_OUTOFRANGE (MCIERR_BASE+26)
593#define MCIERR_FLAGS_NOT_COMPATIBLE (MCIERR_BASE+28)
594#define MCIERR_FILE_NOT_SAVED (MCIERR_BASE+30)
595#define MCIERR_DEVICE_TYPE_REQUIRED (MCIERR_BASE+31)
596#define MCIERR_DEVICE_LOCKED (MCIERR_BASE+32)
597#define MCIERR_DUPLICATE_ALIAS (MCIERR_BASE+33)
598#define MCIERR_BAD_CONSTANT (MCIERR_BASE+34)
599#define MCIERR_MUST_USE_SHAREABLE (MCIERR_BASE+35)
600#define MCIERR_MISSING_DEVICE_NAME (MCIERR_BASE+36)
601#define MCIERR_BAD_TIME_FORMAT (MCIERR_BASE+37)
602#define MCIERR_NO_CLOSING_QUOTE (MCIERR_BASE+38)
603#define MCIERR_DUPLICATE_FLAGS (MCIERR_BASE+39)
604#define MCIERR_INVALID_FILE (MCIERR_BASE+40)
605#define MCIERR_NULL_PARAMETER_BLOCK (MCIERR_BASE+41)
606#define MCIERR_UNNAMED_RESOURCE (MCIERR_BASE+42)
607#define MCIERR_NEW_REQUIRES_ALIAS (MCIERR_BASE+43)
608#define MCIERR_NOTIFY_ON_AUTO_OPEN (MCIERR_BASE+44)
609#define MCIERR_NO_ELEMENT_ALLOWED (MCIERR_BASE+45)
610#define MCIERR_NONAPPLICABLE_FUNCTION (MCIERR_BASE+46)
611#define MCIERR_ILLEGAL_FOR_AUTO_OPEN (MCIERR_BASE+47)
612#define MCIERR_FILENAME_REQUIRED (MCIERR_BASE+48)
613#define MCIERR_EXTRA_CHARACTERS (MCIERR_BASE+49)
614#define MCIERR_DEVICE_NOT_INSTALLED (MCIERR_BASE+50)
615#define MCIERR_GET_CD (MCIERR_BASE+51)
616#define MCIERR_SET_CD (MCIERR_BASE+52)
617#define MCIERR_SET_DRIVE (MCIERR_BASE+53)
618#define MCIERR_DEVICE_LENGTH (MCIERR_BASE+54)
619#define MCIERR_DEVICE_ORD_LENGTH (MCIERR_BASE+55)
620#define MCIERR_NO_INTEGER (MCIERR_BASE+56)
621#define MCIERR_WAVE_OUTPUTSINUSE (MCIERR_BASE+64)
622#define MCIERR_WAVE_SETOUTPUTINUSE (MCIERR_BASE+65)
623#define MCIERR_WAVE_INPUTSINUSE (MCIERR_BASE+66)
624#define MCIERR_WAVE_SETINPUTINUSE (MCIERR_BASE+67)
625#define MCIERR_WAVE_OUTPUTUNSPECIFIED (MCIERR_BASE+68)
626#define MCIERR_WAVE_INPUTUNSPECIFIED (MCIERR_BASE+69)
627#define MCIERR_WAVE_OUTPUTSUNSUITABLE (MCIERR_BASE+70)
628#define MCIERR_WAVE_SETOUTPUTUNSUITABLE (MCIERR_BASE+71)
629#define MCIERR_WAVE_INPUTSUNSUITABLE (MCIERR_BASE+72)
630#define MCIERR_WAVE_SETINPUTUNSUITABLE (MCIERR_BASE+73)
631#define MCIERR_SEQ_DIV_INCOMPATIBLE (MCIERR_BASE+80)
632#define MCIERR_SEQ_PORT_INUSE (MCIERR_BASE+81)
633#define MCIERR_SEQ_PORT_NONEXISTENT (MCIERR_BASE+82)
634#define MCIERR_SEQ_PORT_MAPNODEVICE (MCIERR_BASE+83)
635#define MCIERR_SEQ_PORT_MISCERROR (MCIERR_BASE+84)
636#define MCIERR_SEQ_TIMER (MCIERR_BASE+85)
637#define MCIERR_SEQ_PORTUNSPECIFIED (MCIERR_BASE+86)
638#define MCIERR_SEQ_NOMIDIPRESENT (MCIERR_BASE+87)
639#define MCIERR_NO_WINDOW (MCIERR_BASE+90)
640#define MCIERR_CREATEWINDOW (MCIERR_BASE+91)
641#define MCIERR_FILE_READ (MCIERR_BASE+92)
642#define MCIERR_FILE_WRITE (MCIERR_BASE+93)
643#define MCIERR_NO_IDENTITY (MCIERR_BASE+94)
644#define MCIERR_CUSTOM_DRIVER_BASE (MCIERR_BASE+256)
645#define MCI_FIRST DRV_MCI_FIRST
646#define MCI_OPEN 0x803
647#define MCI_CLOSE 0x804
648#define MCI_ESCAPE 0x805
649#define MCI_PLAY 0x806
650#define MCI_SEEK 0x807
651#define MCI_STOP 0x808
652#define MCI_PAUSE 0x809
653#define MCI_INFO 0x80A
654#define MCI_GETDEVCAPS 0x80B
655#define MCI_SPIN 0x80C
656#define MCI_SET 0x80D
657#define MCI_STEP 0x80E
658#define MCI_RECORD 0x80F
659#define MCI_SYSINFO 0x810
660#define MCI_BREAK 0x811
661#define MCI_SAVE 0x813
662#define MCI_STATUS 0x814
663#define MCI_CUE 0x830
664#define MCI_REALIZE 0x840
665#define MCI_WINDOW 0x841
666#define MCI_PUT 0x842
667#define MCI_WHERE 0x843
668#define MCI_FREEZE 0x844
669#define MCI_UNFREEZE 0x845
670#define MCI_LOAD 0x850
671#define MCI_CUT 0x851
672#define MCI_COPY 0x852
673#define MCI_PASTE 0x853
674#define MCI_UPDATE 0x854
675#define MCI_RESUME 0x855
676#define MCI_DELETE 0x856
677#define MCI_USER_MESSAGES (DRV_MCI_FIRST+0x400)
678#define MCI_LAST 0xFFF
679#define MCI_ALL_DEVICE_ID ((MCIDEVICEID)-1)
680#define MCI_DEVTYPE_VCR 513
681#define MCI_DEVTYPE_VIDEODISC 514
682#define MCI_DEVTYPE_OVERLAY 515
683#define MCI_DEVTYPE_CD_AUDIO 516
684#define MCI_DEVTYPE_DAT 517
685#define MCI_DEVTYPE_SCANNER 518
686#define MCI_DEVTYPE_ANIMATION 519
687#define MCI_DEVTYPE_DIGITAL_VIDEO 520
688#define MCI_DEVTYPE_OTHER 521
689#define MCI_DEVTYPE_WAVEFORM_AUDIO 522
690#define MCI_DEVTYPE_SEQUENCER 523
691#define MCI_DEVTYPE_FIRST MCI_DEVTYPE_VCR
692#define MCI_DEVTYPE_LAST MCI_DEVTYPE_SEQUENCER
693#define MCI_DEVTYPE_FIRST_USER 0x1000
694#define MCI_MODE_NOT_READY (MCI_STRING_OFFSET+12)
695#define MCI_MODE_STOP (MCI_STRING_OFFSET+13)
696#define MCI_MODE_PLAY (MCI_STRING_OFFSET+14)
697#define MCI_MODE_RECORD (MCI_STRING_OFFSET+15)
698#define MCI_MODE_SEEK (MCI_STRING_OFFSET+16)
699#define MCI_MODE_PAUSE (MCI_STRING_OFFSET+17)
700#define MCI_MODE_OPEN (MCI_STRING_OFFSET+18)
701#define MCI_FORMAT_MILLISECONDS 0
702#define MCI_FORMAT_HMS 1
703#define MCI_FORMAT_MSF 2
704#define MCI_FORMAT_FRAMES 3
705#define MCI_FORMAT_SMPTE_24 4
706#define MCI_FORMAT_SMPTE_25 5
707#define MCI_FORMAT_SMPTE_30 6
708#define MCI_FORMAT_SMPTE_30DROP 7
709#define MCI_FORMAT_BYTES 8
710#define MCI_FORMAT_SAMPLES 9
711#define MCI_FORMAT_TMSF 10
712#define MCI_MSF_MINUTE(t) ((BYTE)(t))
713#define MCI_MSF_SECOND(t) ((BYTE)(((WORD)(t))>>8))
714#define MCI_MSF_FRAME(t) ((BYTE)((t)>>16))
715#define MCI_MAKE_MSF(m,s,f) ((DWORD)(((BYTE)(m)|((WORD)(s)<<8))|(((DWORD)(BYTE)(f))<<16)))
716#define MCI_TMSF_TRACK(t) ((BYTE)(t))
717#define MCI_TMSF_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
718#define MCI_TMSF_SECOND(t) ((BYTE)((t)>>16))
719#define MCI_TMSF_FRAME(t) ((BYTE)((t)>>24))
720#define MCI_MAKE_TMSF(t,m,s,f) ((DWORD)(((BYTE)(t)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s)|((WORD)(f)<<8))<<16)))
721#define MCI_HMS_HOUR(t) ((BYTE)(t))
722#define MCI_HMS_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
723#define MCI_HMS_SECOND(t) ((BYTE)((t)>>16))
724#define MCI_MAKE_HMS(h,m,s) ((DWORD)(((BYTE)(h)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s))<<16)))
725#define MCI_NOTIFY_SUCCESSFUL 1
726#define MCI_NOTIFY_SUPERSEDED 2
727#define MCI_NOTIFY_ABORTED 4
728#define MCI_NOTIFY_FAILURE 8
729#define MCI_NOTIFY 1
730#define MCI_WAIT 2
731#define MCI_FROM 4
732#define MCI_TO 8
733#define MCI_TRACK 16
734#define MCI_OPEN_SHAREABLE 256
735#define MCI_OPEN_ELEMENT 512
736#define MCI_OPEN_ALIAS 1024
737#define MCI_OPEN_ELEMENT_ID 2048
738#define MCI_OPEN_TYPE_ID 0x1000
739#define MCI_OPEN_TYPE 0x2000
740#define MCI_SEEK_TO_START 256
741#define MCI_SEEK_TO_END 512
742#define MCI_STATUS_ITEM 256
743#define MCI_STATUS_START 512
744#define MCI_STATUS_LENGTH 1
745#define MCI_STATUS_POSITION 2
746#define MCI_STATUS_NUMBER_OF_TRACKS 3
747#define MCI_STATUS_MODE 4
748#define MCI_STATUS_MEDIA_PRESENT 5
749#define MCI_STATUS_TIME_FORMAT 6
750#define MCI_STATUS_READY 7
751#define MCI_STATUS_CURRENT_TRACK 8
752#define MCI_INFO_PRODUCT 256
753#define MCI_INFO_FILE 512
754#define MCI_INFO_MEDIA_UPC 1024
755#define MCI_INFO_MEDIA_IDENTITY 2048
756#define MCI_INFO_NAME 0x1000
757#define MCI_INFO_COPYRIGHT 0x2000
758#define MCI_GETDEVCAPS_ITEM 256
759#define MCI_GETDEVCAPS_CAN_RECORD 1
760#define MCI_GETDEVCAPS_HAS_AUDIO 2
761#define MCI_GETDEVCAPS_HAS_VIDEO 3
762#define MCI_GETDEVCAPS_DEVICE_TYPE 4
763#define MCI_GETDEVCAPS_USES_FILES 5
764#define MCI_GETDEVCAPS_COMPOUND_DEVICE 6
765#define MCI_GETDEVCAPS_CAN_EJECT 7
766#define MCI_GETDEVCAPS_CAN_PLAY 8
767#define MCI_GETDEVCAPS_CAN_SAVE 9
768#define MCI_SYSINFO_QUANTITY 256
769#define MCI_SYSINFO_OPEN 512
770#define MCI_SYSINFO_NAME 1024
771#define MCI_SYSINFO_INSTALLNAME 2048
772#define MCI_SET_DOOR_OPEN 256
773#define MCI_SET_DOOR_CLOSED 512
774#define MCI_SET_TIME_FORMAT 1024
775#define MCI_SET_AUDIO 2048
776#define MCI_SET_VIDEO 0x1000
777#define MCI_SET_ON 0x2000
778#define MCI_SET_OFF 0x4000
779#define MCI_SET_AUDIO_ALL 0
780#define MCI_SET_AUDIO_LEFT 1
781#define MCI_SET_AUDIO_RIGHT 2
782#define MCI_BREAK_KEY 256
783#define MCI_BREAK_HWND 512
784#define MCI_BREAK_OFF 1024
785#define MCI_RECORD_INSERT 256
786#define MCI_RECORD_OVERWRITE 512
787#define MCI_SAVE_FILE 256
788#define MCI_LOAD_FILE 256
789#define MCI_VD_MODE_PARK (MCI_VD_OFFSET+1)
790#define MCI_VD_MEDIA_CLV (MCI_VD_OFFSET+2)
791#define MCI_VD_MEDIA_CAV (MCI_VD_OFFSET+3)
792#define MCI_VD_MEDIA_OTHER (MCI_VD_OFFSET+4)
793#define MCI_VD_FORMAT_TRACK 0x4001
794#define MCI_VD_PLAY_REVERSE 0x10000
795#define MCI_VD_PLAY_FAST 0x20000
796#define MCI_VD_PLAY_SPEED 0x40000
797#define MCI_VD_PLAY_SCAN 0x80000
798#define MCI_VD_PLAY_SLOW 0x100000
799#define MCI_VD_SEEK_REVERSE 0x10000
800#define MCI_VD_STATUS_SPEED 0x4002
801#define MCI_VD_STATUS_FORWARD 0x4003
802#define MCI_VD_STATUS_MEDIA_TYPE 0x4004
803#define MCI_VD_STATUS_SIDE 0x4005
804#define MCI_VD_STATUS_DISC_SIZE 0x4006
805#define MCI_VD_GETDEVCAPS_CLV 0x10000
806#define MCI_VD_GETDEVCAPS_CAV 0x20000
807#define MCI_VD_SPIN_UP 0x10000
808#define MCI_VD_SPIN_DOWN 0x20000
809#define MCI_VD_GETDEVCAPS_CAN_REVERSE 0x4002
810#define MCI_VD_GETDEVCAPS_FAST_RATE 0x4003
811#define MCI_VD_GETDEVCAPS_SLOW_RATE 0x4004
812#define MCI_VD_GETDEVCAPS_NORMAL_RATE 0x4005
813#define MCI_VD_STEP_FRAMES 0x10000
814#define MCI_VD_STEP_REVERSE 0x20000
815#define MCI_VD_ESCAPE_STRING 256
816#define MCI_CDA_STATUS_TYPE_TRACK 0x4001
817#define MCI_CDA_TRACK_AUDIO MCI_CD_OFFSET
818#define MCI_CDA_TRACK_OTHER (MCI_CD_OFFSET+1)
819#define MCI_WAVE_PCM MCI_WAVE_OFFSET
820#define MCI_WAVE_MAPPER (MCI_WAVE_OFFSET+1)
821#define MCI_WAVE_OPEN_BUFFER 0x10000
822#define MCI_WAVE_SET_FORMATTAG 0x10000
823#define MCI_WAVE_SET_CHANNELS 0x20000
824#define MCI_WAVE_SET_SAMPLESPERSEC 0x40000
825#define MCI_WAVE_SET_AVGBYTESPERSEC 0x80000
826#define MCI_WAVE_SET_BLOCKALIGN 0x100000
827#define MCI_WAVE_SET_BITSPERSAMPLE 0x200000
828#define MCI_WAVE_INPUT 0x400000
829#define MCI_WAVE_OUTPUT 0x800000
830#define MCI_WAVE_STATUS_FORMATTAG 0x4001
831#define MCI_WAVE_STATUS_CHANNELS 0x4002
832#define MCI_WAVE_STATUS_SAMPLESPERSEC 0x4003
833#define MCI_WAVE_STATUS_AVGBYTESPERSEC 0x4004
834#define MCI_WAVE_STATUS_BLOCKALIGN 0x4005
835#define MCI_WAVE_STATUS_BITSPERSAMPLE 0x4006
836#define MCI_WAVE_STATUS_LEVEL 0x4007
837#define MCI_WAVE_SET_ANYINPUT 0x4000000
838#define MCI_WAVE_SET_ANYOUTPUT 0x8000000
839#define MCI_WAVE_GETDEVCAPS_INPUTS 0x4001
840#define MCI_WAVE_GETDEVCAPS_OUTPUTS 0x4002
841#define MCI_SEQ_DIV_PPQN MCI_SEQ_OFFSET
842#define MCI_SEQ_DIV_SMPTE_24 (MCI_SEQ_OFFSET+1)
843#define MCI_SEQ_DIV_SMPTE_25 (MCI_SEQ_OFFSET+2)
844#define MCI_SEQ_DIV_SMPTE_30DROP (MCI_SEQ_OFFSET+3)
845#define MCI_SEQ_DIV_SMPTE_30 (MCI_SEQ_OFFSET+4)
846#define MCI_SEQ_FORMAT_SONGPTR 0x4001
847#define MCI_SEQ_FILE 0x4002
848#define MCI_SEQ_MIDI 0x4003
849#define MCI_SEQ_SMPTE 0x4004
850#define MCI_SEQ_NONE 65533
851#define MCI_SEQ_MAPPER 65535
852#define MCI_SEQ_STATUS_TEMPO 0x4002
853#define MCI_SEQ_STATUS_PORT 0x4003
854#define MCI_SEQ_STATUS_SLAVE 0x4007
855#define MCI_SEQ_STATUS_MASTER 0x4008
856#define MCI_SEQ_STATUS_OFFSET 0x4009
857#define MCI_SEQ_STATUS_DIVTYPE 0x400A
858#define MCI_SEQ_STATUS_NAME 0x400B
859#define MCI_SEQ_STATUS_COPYRIGHT 0x400C
860#define MCI_SEQ_SET_TEMPO 0x10000
861#define MCI_SEQ_SET_PORT 0x20000
862#define MCI_SEQ_SET_SLAVE 0x40000
863#define MCI_SEQ_SET_MASTER 0x80000
864#define MCI_SEQ_SET_OFFSET 0x1000000
865#define MCI_ANIM_OPEN_WS 0x10000
866#define MCI_ANIM_OPEN_PARENT 0x20000
867#define MCI_ANIM_OPEN_NOSTATIC 0x40000
868#define MCI_ANIM_PLAY_SPEED 0x10000
869#define MCI_ANIM_PLAY_REVERSE 0x20000
870#define MCI_ANIM_PLAY_FAST 0x40000
871#define MCI_ANIM_PLAY_SLOW 0x80000
872#define MCI_ANIM_PLAY_SCAN 0x100000
873#define MCI_ANIM_STEP_REVERSE 0x10000
874#define MCI_ANIM_STEP_FRAMES 0x20000
875#define MCI_ANIM_STATUS_SPEED 0x4001
876#define MCI_ANIM_STATUS_FORWARD 0x4002
877#define MCI_ANIM_STATUS_HWND 0x4003
878#define MCI_ANIM_STATUS_HPAL 0x4004
879#define MCI_ANIM_STATUS_STRETCH 0x4005
880#define MCI_ANIM_INFO_TEXT 0x10000
881#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x4001
882#define MCI_ANIM_GETDEVCAPS_FAST_RATE 0x4002
883#define MCI_ANIM_GETDEVCAPS_SLOW_RATE 0x4003
884#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x4004
885#define MCI_ANIM_GETDEVCAPS_PALETTES 0x4006
886#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x4007
887#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x4008
888#define MCI_ANIM_REALIZE_NORM 0x10000
889#define MCI_ANIM_REALIZE_BKGD 0x20000
890#define MCI_ANIM_WINDOW_HWND 0x10000
891#define MCI_ANIM_WINDOW_STATE 0x40000
892#define MCI_ANIM_WINDOW_TEXT 0x80000
893#define MCI_ANIM_WINDOW_ENABLE_STRETCH 0x100000
894#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x200000
895#define MCI_ANIM_WINDOW_DEFAULT 0xL
896#define MCI_ANIM_RECT 0x10000
897#define MCI_ANIM_PUT_SOURCE 0x20000
898#define MCI_ANIM_PUT_DESTINATION 0x40000
899#define MCI_ANIM_WHERE_SOURCE 0x20000
900#define MCI_ANIM_WHERE_DESTINATION 0x40000
901#define MCI_ANIM_UPDATE_HDC 0x20000
902#define MCI_OVLY_OPEN_WS 0x10000
903#define MCI_OVLY_OPEN_PARENT 0x20000
904#define MCI_OVLY_STATUS_HWND 0x4001
905#define MCI_OVLY_STATUS_STRETCH 0x4002
906#define MCI_OVLY_INFO_TEXT 0x10000
907#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x4001
908#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 0x4002
909#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x4003
910#define MCI_OVLY_WINDOW_HWND 0x10000
911#define MCI_OVLY_WINDOW_STATE 0x40000
912#define MCI_OVLY_WINDOW_TEXT 0x80000
913#define MCI_OVLY_WINDOW_ENABLE_STRETCH 0x100000
914#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x200000
915#define MCI_OVLY_WINDOW_DEFAULT 0xL
916#define MCI_OVLY_RECT 0x10000
917#define MCI_OVLY_PUT_SOURCE 0x20000
918#define MCI_OVLY_PUT_DESTINATION 0x40000
919#define MCI_OVLY_PUT_FRAME 0x80000
920#define MCI_OVLY_PUT_VIDEO 0x100000
921#define MCI_OVLY_WHERE_SOURCE 0x20000
922#define MCI_OVLY_WHERE_DESTINATION 0x40000
923#define MCI_OVLY_WHERE_FRAME 0x80000
924#define MCI_OVLY_WHERE_VIDEO 0x100000
925#ifdef _WINE
926#define MCI_SOUND 0x0812
927#define MCI_SOUND_NAME 0x00000100L
928#endif
929#define NEWTRANSPARENT 3
930#define QUERYROPSUPPORT 40
931#define SELECTDIB 41
932#define DIBINDEX(n) MAKELONG((n),0x10FF)
933#define SC_SCREENSAVE 0xF140
934#define CAPS1 94
935#define C1_TRANSPARENT 1
936#ifndef SEEK_SET
937#define SEEK_SET 0
938#endif
939#ifndef SEEK_CUR
940#define SEEK_CUR 1
941#endif
942#ifndef SEEK_END
943#define SEEK_END 2
944#endif
945
946#ifdef _WINE
947#define MAXWAVEDRIVERS 10
948#define MAXMIDIDRIVERS 10
949#define MAXAUXDRIVERS 10
950#define MAXMCIDRIVERS 32
951#define MAXMIXERDRIVERS 10
952#endif
953
954#ifdef _WINE
955typedef LPCSTR HPCSTR;
956#endif
957
963
964typedef struct mmtime_tag {
966 union {
971 struct {
980 struct {
983 } u;
985
987
988typedef struct tagDRVCONFIGINFO {
993
994typedef struct DRVCONFIGINFOEX {
1000
1002typedef void (CALLBACK DRVCALLBACK)(HDRVR, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR);
1003typedef DRVCALLBACK *LPDRVCALLBACK;
1004typedef DRVCALLBACK *PDRVCALLBACK;
1008typedef HWAVEIN *LPHWAVEIN;
1009typedef HWAVEOUT *LPHWAVEOUT;
1010typedef DRVCALLBACK WAVECALLBACK;
1012
1013typedef struct wavehdr_tag {
1023
1024typedef struct tagWAVEOUTCAPSA {
1034
1035typedef struct tagWAVEOUTCAPSW {
1045
1046typedef struct tagWAVEINCAPSA {
1055
1056typedef struct tagWAVEINCAPSW {
1065
1066typedef struct waveformat_tag {
1073
1074typedef struct pcmwaveformat_tag {
1078
1079#ifndef _WAVEFORMATEX_
1080#define _WAVEFORMATEX_
1081typedef struct tWAVEFORMATEX {
1090
1091typedef const struct tWAVEFORMATEX *LPCWAVEFORMATEX;
1092#endif
1093
1098
1099typedef HMIDI *LPHMIDI;
1100typedef HMIDIIN *LPHMIDIIN;
1101typedef HMIDIOUT *LPHMIDIOUT;
1102typedef HMIDISTRM *LPHMIDISTRM;
1103typedef DRVCALLBACK MIDICALLBACK;
1109
1110typedef struct tagMIDIOUTCAPSA {
1121
1122typedef struct tagMIDIOUTCAPSW {
1133
1134typedef struct tagMIDIINCAPSA {
1141
1142typedef struct tagMIDIINCAPSW {
1149
1150typedef struct midihdr_tag {
1161
1162typedef struct midievent_tag {
1168#ifdef _WINE
1169typedef struct midievent_tag *LPMIDIEVENT;
1170#endif
1171
1172typedef struct midistrmbuffver_tag {
1177
1178typedef struct midiproptimediv_tag {
1182
1183typedef struct midiproptempo_tag {
1187
1188typedef struct tagAUXCAPSA {
1197
1198typedef struct tagAUXCAPSW {
1207
1209typedef HMIXEROBJ *LPHMIXEROBJ;
1211typedef HMIXER *LPHMIXER;
1212
1213typedef struct tagMIXERCAPSA {
1221
1222typedef struct tagMIXERCAPSW {
1230
1231typedef struct tagMIXERLINEA {
1244 struct {
1253
1254typedef struct tagMIXERLINEW {
1267 struct {
1276
1277typedef struct tagMIXERCONTROLA {
1285 union {
1286 _ANONYMOUS_STRUCT struct {
1289 }_STRUCT_NAME(s);
1290 _ANONYMOUS_STRUCT struct {
1293 }_STRUCT_NAME(s1);
1296 union {
1299 DWORD dwReserved[6];
1302
1303typedef struct tagMIXERCONTROLW {
1311 union {
1312 _ANONYMOUS_STRUCT struct {
1315 }_STRUCT_NAME(s);
1316 _ANONYMOUS_STRUCT struct {
1319 }_STRUCT_NAME(s1);
1322 union {
1325 DWORD dwReserved[6];
1328
1332 _ANONYMOUS_UNION union {
1340
1344 _ANONYMOUS_UNION union {
1352
1353typedef struct tMIXERCONTROLDETAILS {
1357 _ANONYMOUS_UNION union {
1364
1370
1376
1380
1384
1388
1389typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD_PTR,DWORD_PTR,DWORD_PTR);
1390
1391typedef TIMECALLBACK *LPTIMECALLBACK;
1392
1393typedef struct timecaps_tag {
1397
1398typedef struct tagJOYCAPSA {
1424
1425typedef struct tagJOYCAPSW {
1451
1452typedef struct joyinfo_tag {
1458
1459typedef struct joyinfoex_tag {
1474
1476
1477typedef char *HPSTR;
1478
1480
1482
1483typedef MMIOPROC *LPMMIOPROC;
1484
1485typedef struct _MMIOINFO {
1490 HTASK htask;
1501 HMMIO hmmio;
1503
1504typedef const MMIOINFO *LPCMMIOINFO;
1505
1506typedef struct _MMCKINFO {
1513
1514typedef const MMCKINFO *LPCMMCKINFO;
1515
1516typedef struct tagMCI_GENERIC_PARMS {
1519
1520typedef struct tagMCI_OPEN_PARMSA {
1527
1528typedef struct tagMCI_OPEN_PARMSW {
1535
1536typedef struct tagMCI_PLAY_PARMS {
1541
1542typedef struct tagMCI_SEEK_PARMS {
1546
1547#ifdef _WINE
1548typedef struct tagMCI_SOUND_PARMSA {
1549 DWORD_PTR dwCallback;
1550 LPCSTR lpstrSoundName;
1551} MCI_SOUND_PARMSA, *LPMCI_SOUND_PARMSA;
1552
1553typedef struct tagMCI_SOUND_PARMSW {
1554 DWORD_PTR dwCallback;
1555 LPCWSTR lpstrSoundName;
1556} MCI_SOUND_PARMSW, *LPMCI_SOUND_PARMSW;
1557
1558#ifdef UNICODE
1559typedef MCI_SOUND_PARMSW MCI_SOUND_PARMS;
1560#else
1561typedef MCI_SOUND_PARMSA MCI_SOUND_PARMS;
1562#endif
1563#endif
1564
1565typedef struct tagMCI_STATUS_PARMS {
1571
1572typedef struct tagMCI_INFO_PARMSA {
1577
1578typedef struct tagMCI_INFO_PARMSW {
1583
1589
1597
1605
1606typedef struct tagMCI_SET_PARMS {
1611
1612typedef struct tagMCI_BREAK_PARMS {
1617
1618typedef struct tagMCI_SAVE_PARMSA {
1622
1623typedef struct tagMCI_SAVE_PARMSW {
1627
1628typedef struct tagMCI_LOAD_PARMSA {
1632
1633typedef struct tagMCI_LOAD_PARMSW {
1637
1638typedef struct tagMCI_RECORD_PARMS {
1643
1644typedef struct tagMCI_VD_PLAY_PARMS {
1650
1651typedef struct tagMCI_VD_STEP_PARMS {
1655
1660
1665
1674
1683
1689
1696#ifdef _WIN64
1699#else
1704#endif
1707#ifdef _WIN64
1710#else
1715#endif
1717
1718typedef struct tagWAVEOUTCAPS2A {
1731
1732typedef struct tagWAVEOUTCAPS2W {
1745
1746typedef struct tagWAVEINCAPS2A {
1758
1759typedef struct tagWAVEINCAPS2W {
1771
1772typedef struct tagMIDIOUTCAPS2A {
1786
1787typedef struct tagMIDIOUTCAPS2W {
1801
1802typedef struct tagMIDIINCAPS2A {
1812
1813typedef struct tagMIDIINCAPS2W {
1823
1824typedef struct tagAUXCAPS2A {
1836
1837typedef struct tagAUXCAPS2W {
1849
1850typedef struct tagMIXERCAPS2A {
1861
1862typedef struct tagMIXERCAPS2W {
1873
1874typedef struct tagJOYCAPS2A {
1903
1904typedef struct tagJOYCAPS2W {
1933
1939
1940LRESULT
1941WINAPI
1944 _In_ HDRVR,
1945 _In_ UINT,
1946 _In_ LPARAM,
1947 _In_ LPARAM);
1948
1950#define OutputDebugStr OutputDebugString
1960
1962WINAPI
1964 _In_ MMRESULT mmrError,
1965 _Out_writes_(cchText) LPSTR pszText,
1966 _In_ UINT cchText);
1967
1969WINAPI
1971 _In_ MMRESULT mmrError,
1972 _Out_writes_(cchText) LPWSTR pszText,
1973 _In_ UINT cchText);
1974
1976WINAPI
1979 _In_ UINT,
1983 _In_ DWORD);
1984
1986
1988WINAPI
1990 _In_ HWAVEOUT hwo,
1992 _In_ UINT cbwh);
1993
1995WINAPI
1997 _In_ HWAVEOUT hwo,
1999 _In_ UINT cbwh);
2000
2002WINAPI
2004 _In_ HWAVEOUT hwo,
2006 _In_ UINT cbwh);
2007
2012
2014WINAPI
2016 _In_ HWAVEOUT hwo,
2017 _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt,
2018 _In_ UINT cbmmt);
2019
2025
2026#if (WINVER >= 0x030a)
2027#ifdef _WIN32
2029#else
2031#endif
2032#endif
2033
2035
2037WINAPI
2039 _In_ UINT_PTR uDeviceID,
2041 _In_ UINT cbwic);
2042
2044WINAPI
2046 _In_ UINT_PTR uDeviceID,
2048 _In_ UINT cbwic);
2049
2051WINAPI
2053 _In_ MMRESULT mmrError,
2054 _Out_writes_(cchText) LPSTR pszText,
2055 _In_ UINT cchText);
2056
2058WINAPI
2060 _In_ MMRESULT mmrError,
2061 _Out_writes_(cchText) LPWSTR pszText,
2062 _In_ UINT cchText);
2063
2065WINAPI
2068 _In_ UINT,
2072 _In_ DWORD);
2073
2075
2077WINAPI
2079 _In_ HWAVEIN hwi,
2081 _In_ UINT cbwh);
2082
2084WINAPI
2086 _In_ HWAVEIN hwi,
2088 _In_ UINT cbwh);
2089
2091WINAPI
2093 _In_ HWAVEIN hwi,
2095 _In_ UINT cbwh);
2096
2100
2102WINAPI
2104 _In_ HWAVEIN hwi,
2105 _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt,
2106 _In_ UINT cbmmt);
2107
2109
2110#if (WINVER >= 0x030a)
2111#ifdef _WIN32
2113#else
2115#endif
2116#endif
2118
2120WINAPI
2122 _Out_ LPHMIDISTRM phms,
2123 _Inout_updates_(cMidi) LPUINT puDeviceID,
2124 _In_ DWORD cMidi,
2125 _In_opt_ DWORD_PTR dwCallback,
2126 _In_opt_ DWORD_PTR dwInstance,
2127 _In_ DWORD fdwOpen);
2128
2130
2132WINAPI
2134 _In_ HMIDISTRM hms,
2135 _Inout_updates_bytes_(sizeof(DWORD) + sizeof(DWORD)) LPBYTE lppropdata,
2136 _In_ DWORD dwProperty);
2137
2139WINAPI
2141 _In_ HMIDISTRM hms,
2142 _Out_writes_bytes_(cbmmt) LPMMTIME lpmmt,
2143 _In_ UINT cbmmt);
2144
2146WINAPI
2148 _In_ HMIDISTRM hms,
2149 _Out_writes_bytes_(cbmh) LPMIDIHDR pmh,
2150 _In_ UINT cbmh);
2151
2157
2159WINAPI
2161 _In_ UINT_PTR uDeviceID,
2163 _In_ UINT cbmoc);
2164
2166WINAPI
2168 _In_ UINT_PTR uDeviceID,
2170 _In_ UINT cbmoc);
2171
2174
2176WINAPI
2178 _In_ MMRESULT mmrError,
2179 _Out_writes_(cchText) LPSTR pszText,
2180 _In_ UINT cchText);
2181
2183WINAPI
2185 _In_ MMRESULT mmrError,
2186 _Out_writes_(cchText) LPWSTR pszText,
2187 _In_ UINT cchText);
2188
2190WINAPI
2193 _In_ UINT,
2196 _In_ DWORD);
2197
2199
2201WINAPI
2203 _In_ HMIDIOUT hmo,
2205 _In_ UINT cbmh);
2206
2208WINAPI
2210 _In_ HMIDIOUT hmo,
2212 _In_ UINT cbmh);
2213
2215
2217WINAPI
2219 _In_ HMIDIOUT hmo,
2220 _In_reads_bytes_(cbmh) LPMIDIHDR pmh,
2221 _In_ UINT cbmh);
2222
2224
2226WINAPI
2228 _In_ HMIDIOUT hmo,
2229 _In_ UINT uBank,
2231 _In_ UINT fuCache);
2232
2234WINAPI
2236 _In_ HMIDIOUT hmo,
2237 _In_ UINT uPatch,
2239 _In_ UINT fuCache);
2240
2242
2243#if (WINVER >= 0x030a)
2244#ifdef _WIN32
2246#else
2248#endif
2249#endif
2250
2252
2254WINAPI
2256 _In_ UINT_PTR uDeviceID,
2258 _In_ UINT cbmic);
2259
2261WINAPI
2263 _In_ UINT_PTR uDeviceID,
2265 _In_ UINT cbmic);
2266
2268WINAPI
2270 _In_ MMRESULT mmrError,
2271 _Out_writes_(cchText) LPSTR pszText,
2272 _In_ UINT cchText);
2273
2275WINAPI
2277 _In_ MMRESULT mmrError,
2278 _Out_writes_(cchText) LPWSTR pszText,
2279 _In_ UINT cchText);
2280
2282WINAPI
2285 _In_ UINT,
2288 _In_ DWORD);
2289
2291
2293WINAPI
2295 _In_ HMIDIIN hmi,
2297 _In_ UINT cbmh);
2298
2300WINAPI
2302 _In_ HMIDIIN hmi,
2304 _In_ UINT cbmh);
2305
2307WINAPI
2309 _In_ HMIDIIN hmi,
2310 _Out_writes_bytes_(cbmh) LPMIDIHDR pmh,
2311 _In_ UINT cbmh);
2312
2317
2318#if (WINVER >= 0x030a)
2319#ifdef _WIN32
2321#else
2323#endif
2324#endif
2325
2327
2329WINAPI
2331 _In_ UINT_PTR uDeviceID,
2333 _In_ UINT cbac);
2334
2336WINAPI
2338 _In_ UINT_PTR uDeviceID,
2340 _In_ UINT cbac);
2341
2344
2346WINAPI
2348 _In_ UINT,
2349 _In_ UINT,
2352
2354
2356WINAPI
2358 _In_ UINT_PTR uMxId,
2359 _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSA pmxcaps,
2360 _In_ UINT cbmxcaps);
2361
2363WINAPI
2365 _In_ UINT_PTR uMxId,
2366 _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSW pmxcaps,
2367 _In_ UINT cbmxcaps);
2368
2370WINAPI
2373 _In_ UINT,
2376 _In_ DWORD);
2377
2379
2380DWORD
2381WINAPI
2383 _In_opt_ HMIXER,
2384 _In_ UINT,
2387
2389WINAPI
2391 _In_opt_ HMIXEROBJ,
2393 _In_ DWORD);
2394
2396WINAPI
2398 _In_opt_ HMIXEROBJ,
2400 _In_ DWORD);
2401
2403
2405WINAPI
2407 _In_opt_ HMIXEROBJ,
2409 _In_ DWORD);
2410
2412WINAPI
2414 _In_opt_ HMIXEROBJ,
2416 _In_ DWORD);
2417
2419WINAPI
2421 _In_opt_ HMIXEROBJ,
2423 _In_ DWORD);
2424
2426WINAPI
2428 _In_opt_ HMIXEROBJ,
2430 _In_ DWORD);
2431
2433WINAPI
2435 _In_opt_ HMIXEROBJ,
2437 _In_ DWORD);
2438
2440WINAPI
2442 _Out_writes_bytes_(cbmmt) LPMMTIME pmmt,
2443 _In_ UINT cbmmt);
2444
2446
2448WINAPI
2450 _In_ UINT,
2451 _In_ UINT,
2454 _In_ UINT);
2455
2457
2459WINAPI
2462 _In_ UINT cbtc);
2463
2467
2469WINAPI
2471 _In_ UINT_PTR uJoyID,
2473 _In_ UINT cbjc);
2474
2476WINAPI
2478 _In_ UINT_PTR uJoyID,
2480 _In_ UINT cbjc);
2481
2490
2492WINAPI
2494 _In_ FOURCC,
2496 _In_ DWORD);
2497
2499WINAPI
2501 _In_ FOURCC,
2503 _In_ DWORD);
2504
2505HMMIO
2506WINAPI
2509 _Inout_opt_ LPMMIOINFO pmmioinfo,
2510 _In_ DWORD fdwOpen);
2511
2512HMMIO
2513WINAPI
2516 _Inout_opt_ LPMMIOINFO pmmioinfo,
2517 _In_ DWORD fdwOpen);
2518
2520WINAPI
2522 _In_ LPCSTR,
2523 _In_ LPCSTR,
2525 _In_ DWORD);
2526
2528WINAPI
2530 _In_ LPCWSTR,
2531 _In_ LPCWSTR,
2533 _In_ DWORD);
2534
2536
2537LONG
2538WINAPI
2540 _In_ HMMIO hmmio,
2542 _In_ LONG cch);
2543
2544LONG
2545WINAPI
2547 _In_ HMMIO hmmio,
2548 _In_reads_bytes_(cch) const char _huge * pch,
2549 _In_ LONG cch);
2550
2554
2556WINAPI
2558 _In_ HMMIO hmmio,
2559 _Out_writes_opt_(cchBuffer) LPSTR pchBuffer,
2561 _In_ UINT fuBuffer);
2562
2565
2566LRESULT
2567WINAPI
2569 _In_ HMMIO,
2570 _In_ UINT,
2573
2575WINAPI
2577 _In_ HMMIO,
2579 _In_opt_ const MMCKINFO*,
2580 _In_ UINT);
2581
2584
2586WINAPI
2589 _In_ UINT,
2592
2594WINAPI
2597 _In_ UINT,
2600
2602WINAPI
2604 _In_ LPCSTR lpstrCommand,
2605 _Out_writes_opt_(uReturnLength) LPSTR lpstrReturnString,
2606 _In_ UINT uReturnLength,
2607 _In_opt_ HWND hwndCallback);
2608
2610WINAPI
2612 _In_ LPCWSTR lpstrCommand,
2613 _Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString,
2614 _In_ UINT uReturnLength,
2615 _In_opt_ HWND hwndCallback);
2616
2621
2622BOOL
2623WINAPI
2625 _In_ MCIERROR mcierr,
2626 _Out_writes_(cchText) LPSTR pszText,
2627 _In_ UINT cchText);
2628
2629BOOL
2630WINAPI
2632 _In_ MCIERROR mcierr,
2633 _Out_writes_(cchText) LPWSTR pszText,
2634 _In_ UINT cchText);
2635
2639
2640#ifdef _WINE
2642#endif
2643
2644typedef struct tagMCI_SEQ_SET_PARMS {
2696#ifdef MCI_USE_OFFEXT
2697 POINT ptOffset;
2698 POINT ptExtent;
2699#else
2701#endif
2740#ifdef MCI_USE_OFFEXT
2741 POINT ptOffset;
2742 POINT ptExtent;
2743#else
2745#endif
2767
2768#ifdef UNICODE
2792#define sndPlaySound sndPlaySoundW
2793#define PlaySound PlaySoundW
2794#define waveOutGetDevCaps waveOutGetDevCapsW
2795#define waveOutGetErrorText waveOutGetErrorTextW
2796#define waveInGetDevCaps waveInGetDevCapsW
2797#define waveInGetErrorText waveInGetErrorTextW
2798#define midiOutGetDevCaps midiOutGetDevCapsW
2799#define midiOutGetErrorText midiOutGetErrorTextW
2800#define midiInGetDevCaps midiInGetDevCapsW
2801#define midiInGetErrorText midiInGetErrorTextW
2802#define auxGetDevCaps auxGetDevCapsW
2803#define mixerGetDevCaps mixerGetDevCapsW
2804#define mixerGetLineInfo mixerGetLineInfoW
2805#define mixerGetLineControls mixerGetLineControlsW
2806#define mixerGetControlDetails mixerGetControlDetailsW
2807#define joyGetDevCaps joyGetDevCapsW
2808#define mmioInstallIOProc mmioInstallIOProcW
2809#define mmioStringToFOURCC mmioStringToFOURCCW
2810#define mmioOpen mmioOpenW
2811#define mmioRename mmioRenameW
2812#define mciSendCommand mciSendCommandW
2813#define mciSendString mciSendStringW
2814#define mciGetDeviceID mciGetDeviceIDW
2815#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDW
2816#define mciGetErrorString mciGetErrorStringW
2817#else
2841#define sndPlaySound sndPlaySoundA
2842#define PlaySound PlaySoundA
2843#define waveOutGetDevCaps waveOutGetDevCapsA
2844#define waveOutGetErrorText waveOutGetErrorTextA
2845#define waveInGetDevCaps waveInGetDevCapsA
2846#define waveInGetErrorText waveInGetErrorTextA
2847#define midiOutGetDevCaps midiOutGetDevCapsA
2848#define midiOutGetErrorText midiOutGetErrorTextA
2849#define midiInGetDevCaps midiInGetDevCapsA
2850#define midiInGetErrorText midiInGetErrorTextA
2851#define auxGetDevCaps auxGetDevCapsA
2852#define mixerGetDevCaps mixerGetDevCapsA
2853#define mixerGetLineInfo mixerGetLineInfoA
2854#define mixerGetLineControls mixerGetLineControlsA
2855#define mixerGetControlDetails mixerGetControlDetailsA
2856#define joyGetDevCaps joyGetDevCapsA
2857#define mmioInstallIOProc mmioInstallIOProcA
2858#define mmioStringToFOURCC mmioStringToFOURCCA
2859#define mmioOpen mmioOpenA
2860#define mmioRename mmioRenameA
2861#define mciSendCommand mciSendCommandA
2862#define mciSendString mciSendStringA
2863#define mciGetDeviceID mciGetDeviceIDA
2864#define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDA
2865#define mciGetErrorString mciGetErrorStringA
2866#endif
2867
2868#ifdef _MSC_VER
2869#pragma warning(pop)
2870#endif
2871
2872#ifdef __cplusplus
2873}
2874#endif
2875#pragma pack(pop)
2876#endif
#define CALLBACK
Definition: compat.h:35
static DWORD cchBuffer
Definition: fusion.c:85
DWORD WINAPI GetDriverFlags(HDRVR hDrvr)
Definition: driver.c:519
DWORD FOURCC
Definition: dmdls.h:25
WAVEHDR pwh
Definition: main.h:79
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
GLdouble s
Definition: gl.h:2039
struct S1 s1
#define DECLARE_HANDLE(name)
Definition: mimeole.idl:23
#define pch(ap)
Definition: match.c:418
MMRESULT WINAPI timeGetSystemTime(_Out_writes_bytes_(cbmmt) LPMMTIME pmmt, _In_ UINT cbmmt)
struct tagMCI_INFO_PARMSA MCI_INFO_PARMSA
BOOL WINAPI mciGetErrorStringA(_In_ MCIERROR mcierr, _Out_writes_(cchText) LPSTR pszText, _In_ UINT cchText)
MIDIINCAPSA MIDIINCAPS
Definition: mmsystem.h:2821
MMRESULT WINAPI midiOutGetID(_In_ HMIDIOUT, _Out_ LPUINT)
struct tagMIDIINCAPSW MIDIINCAPSW
struct tagMCI_WAVE_OPEN_PARMSA * LPMCI_WAVE_OPEN_PARMSA
struct tagMCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMSW
struct midistrmbuffver_tag MIDISTRMBUFFVER
UINT WINAPI joyGetNumDevs(void)
Definition: joystick.c:137
struct tagAUXCAPSW AUXCAPSW
struct _MMIOINFO MMIOINFO
MIXERCAPSA * LPMIXERCAPS
Definition: mmsystem.h:2823
struct wavehdr_tag WAVEHDR
MMRESULT WINAPI mmioFlush(_In_ HMMIO, _In_ UINT)
HMIDIIN * LPHMIDIIN
Definition: mmsystem.h:1100
struct tagWAVEINCAPS2A * LPWAVEINCAPS2A
MMRESULT WINAPI waveOutGetErrorTextA(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPSTR pszText, _In_ UINT cchText)
WORD * LPPATCHARRAY
Definition: mmsystem.h:1106
struct tagMIXERLINECONTROLSW MIXERLINECONTROLSW
struct tagMIDIOUTCAPSA * LPMIDIOUTCAPSA
struct midievent_tag MIDIEVENT
struct tagMIDIINCAPSA MIDIINCAPSA
struct tagMCI_ANIM_UPDATE_PARMS MCI_ANIM_UPDATE_PARMS
MCI_VD_ESCAPE_PARMSA * PMCI_VD_ESCAPE_PARMS
Definition: mmsystem.h:2834
MMRESULT WINAPI mixerGetControlDetailsW(_In_opt_ HMIXEROBJ, _Inout_ LPMIXERCONTROLDETAILS, _In_ DWORD)
MMRESULT WINAPI waveInGetDevCapsW(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbwic) LPWAVEINCAPSW pwic, _In_ UINT cbwic)
struct tagDRVCONFIGINFO DRVCONFIGINFO
struct tagMCI_SEQ_SET_PARMS * LPMCI_SEQ_SET_PARMS
MMRESULT WINAPI midiInReset(_In_ HMIDIIN)
MMRESULT WINAPI waveOutClose(_In_ HWAVEOUT)
struct waveformat_tag * PWAVEFORMAT
struct wavehdr_tag * LPWAVEHDR
struct tagMCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMSW
MMRESULT WINAPI midiOutCacheDrumPatches(_In_ HMIDIOUT hmo, _In_ UINT uPatch, _In_reads_(MIDIPATCHSIZE) LPWORD pwkya, _In_ UINT fuCache)
MIXERCONTROLA MIXERCONTROL
Definition: mmsystem.h:2825
UINT(CALLBACK * YIELDPROC)(MCIDEVICEID, DWORD)
Definition: mmsystem.h:960
struct tagMCI_WAVE_SET_PARMS * PMCI_WAVE_SET_PARMS
struct tMIXERCONTROLDETAILS_UNSIGNED * PMIXERCONTROLDETAILS_UNSIGNED
MCI_SYSINFO_PARMSA * PMCI_SYSINFO_PARMS
Definition: mmsystem.h:2831
struct tagMCI_BREAK_PARMS MCI_BREAK_PARMS
struct mmtime_tag MMTIME
struct tagMIXERLINECONTROLSW * LPMIXERLINECONTROLSW
MCIERROR WINAPI mciSendStringA(_In_ LPCSTR lpstrCommand, _Out_writes_opt_(uReturnLength) LPSTR lpstrReturnString, _In_ UINT uReturnLength, _In_opt_ HWND hwndCallback)
struct tMIXERCONTROLDETAILS_SIGNED * LPMIXERCONTROLDETAILS_SIGNED
MMRESULT WINAPI waveOutBreakLoop(_In_ HWAVEOUT)
UINT MMVERSION
Definition: mmsystem.h:961
struct tagMIXERLINEW * PMIXERLINEW
UINT MMRESULT
Definition: mmsystem.h:962
WAVECALLBACK * LPWAVECALLBACK
Definition: mmsystem.h:1011
struct tagJOYCAPSW JOYCAPSW
struct tMIXERCONTROLDETAILS_BOOLEAN * PMIXERCONTROLDETAILS_BOOLEAN
MCIERROR WINAPI mciSendCommandW(_In_ MCIDEVICEID, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR)
struct timecaps_tag TIMECAPS
WAVEINCAPSA WAVEINCAPS
Definition: mmsystem.h:2819
struct tagMIXERCONTROLW * LPMIXERCONTROLW
struct tagMCI_LOAD_PARMSW * PMCI_LOAD_PARMSW
MCI_ANIM_OPEN_PARMSA * LPMCI_ANIM_OPEN_PARMS
Definition: mmsystem.h:2836
MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS
Definition: mmsystem.h:2840
MCI_LOAD_PARMSA MCI_LOAD_PARMS
Definition: mmsystem.h:2833
struct midiproptimediv_tag MIDIPROPTIMEDIV
struct tagMCI_LOAD_PARMSW MCI_LOAD_PARMSW
JOYCAPSA JOYCAPS
Definition: mmsystem.h:2828
struct tagMCI_SYSINFO_PARMSA * LPMCI_SYSINFO_PARMSA
MCI_OVLY_OPEN_PARMSA * LPMCI_OVLY_OPEN_PARMS
Definition: mmsystem.h:2838
DRVCALLBACK * LPDRVCALLBACK
Definition: mmsystem.h:1003
struct wavehdr_tag * PWAVEHDR
struct tagMCI_LOAD_PARMSA * PMCI_LOAD_PARMSA
BOOL WINAPI PlaySoundA(_In_opt_ LPCSTR, _In_opt_ HMODULE, _In_ DWORD)
MIDIOUTCAPSA MIDIOUTCAPS
Definition: mmsystem.h:2820
struct tagJOYCAPSW * LPJOYCAPSW
struct tagMCI_OVLY_OPEN_PARMSA * PMCI_OVLY_OPEN_PARMSA
LPMMIOPROC WINAPI mmioInstallIOProcW(_In_ FOURCC, _In_opt_ LPMMIOPROC, _In_ DWORD)
LRESULT WINAPI CloseDriver(_In_ HDRVR, _In_ LPARAM, _In_ LPARAM)
MMRESULT WINAPI waveOutGetDevCapsW(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSW, _In_ UINT)
MMRESULT WINAPI mixerClose(_In_ HMIXER)
MMRESULT WINAPI joyGetPos(_In_ UINT, _Out_ LPJOYINFO)
MMRESULT WINAPI midiOutPrepareHeader(_In_ HMIDIOUT hmo, _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
struct tagMCI_SET_PARMS MCI_SET_PARMS
typedef LPARAM
Definition: mmsystem.h:1481
struct tagMCI_VD_ESCAPE_PARMSW * LPMCI_VD_ESCAPE_PARMSW
MMRESULT WINAPI midiOutGetVolume(_In_opt_ HMIDIOUT, _Out_ PDWORD)
struct tagMCI_SYSINFO_PARMSW MCI_SYSINFO_PARMSW
struct tagMCI_WAVE_DELETE_PARMS * PMCI_WAVE_DELETE_PARMS
MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS
Definition: mmsystem.h:2835
struct tagMCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMSA
MCI_ANIM_WINDOW_PARMSA * LPMCI_ANIM_WINDOW_PARMS
Definition: mmsystem.h:2837
struct tagMCI_BREAK_PARMS * PMCI_BREAK_PARMS
MMRESULT WINAPI mmioClose(_In_ HMMIO, _In_ UINT)
MMRESULT WINAPI mmioAdvance(_In_ HMMIO, _In_opt_ LPMMIOINFO, _In_ UINT)
MMRESULT WINAPI timeKillEvent(_In_ UINT)
MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS
Definition: mmsystem.h:2834
struct tMIXERCONTROLDETAILS_SIGNED * PMIXERCONTROLDETAILS_SIGNED
MIXERLINECONTROLSA MIXERLINECONTROLS
Definition: mmsystem.h:2826
struct pcmwaveformat_tag * PPCMWAVEFORMAT
MIDIINCAPSA * PMIDIINCAPS
Definition: mmsystem.h:2821
MMRESULT WINAPI midiStreamPosition(_In_ HMIDISTRM hms, _Out_writes_bytes_(cbmmt) LPMMTIME lpmmt, _In_ UINT cbmmt)
MMRESULT WINAPI midiInOpen(_Out_ LPHMIDIIN, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR, _In_ DWORD)
struct tagMCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMSW
struct tagMCI_INFO_PARMSW MCI_INFO_PARMSW
struct tagMCI_WAVE_DELETE_PARMS MCI_WAVE_DELETE_PARMS
AUXCAPSA AUXCAPS
Definition: mmsystem.h:2822
MMRESULT WINAPI mmioRenameA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCMMIOINFO, _In_ DWORD)
MMRESULT WINAPI auxGetVolume(_In_ UINT, _Out_ PDWORD)
struct tagMCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMSW
struct tagMCI_ANIM_PLAY_PARMS * LPMCI_ANIM_PLAY_PARMS
struct tagMIXERCAPS2W MIXERCAPS2W
struct tagMCI_GETDEVCAPS_PARMS MCI_GETDEVCAPS_PARMS
MMRESULT WINAPI waveInGetID(_In_ HWAVEIN, _In_ LPUINT)
typedef UINT
Definition: mmsystem.h:1002
struct tagWAVEOUTCAPSW * PWAVEOUTCAPSW
MMRESULT WINAPI mmioGetInfo(_In_ HMMIO, _Out_ LPMMIOINFO, _In_ UINT)
struct tMIXERCONTROLDETAILS_BOOLEAN * LPMIXERCONTROLDETAILS_BOOLEAN
MCI_ANIM_WINDOW_PARMSA * PMCI_ANIM_WINDOW_PARMS
Definition: mmsystem.h:2837
struct tagMCI_SYSINFO_PARMSA MCI_SYSINFO_PARMSA
HMIDIOUT * LPHMIDIOUT
Definition: mmsystem.h:1101
MMRESULT WINAPI midiDisconnect(_In_ HMIDI, _In_ HMIDIOUT, _In_opt_ PVOID)
struct tagMCI_VD_STEP_PARMS * LPMCI_VD_STEP_PARMS
struct tagMCI_ANIM_WINDOW_PARMSW * PMCI_ANIM_WINDOW_PARMSW
MIXERCONTROLDETAILS_LISTTEXTA * LPMIXERCONTROLDETAILS_LISTTEXT
Definition: mmsystem.h:2827
struct tagAUXCAPS2W AUXCAPS2W
struct tagMCI_ANIM_OPEN_PARMSW * PMCI_ANIM_OPEN_PARMSW
struct tagMIXERCAPSW * LPMIXERCAPSW
MMRESULT WINAPI timeGetDevCaps(_Out_writes_bytes_(cbtc) LPTIMECAPS ptc, _In_ UINT cbtc)
WAVEINCAPSA * LPWAVEINCAPS
Definition: mmsystem.h:2819
struct tagAUXCAPS2A AUXCAPS2A
MCI_SAVE_PARMSA MCI_SAVE_PARMS
Definition: mmsystem.h:2832
struct tagWAVEINCAPSA * PWAVEINCAPSA
struct tagMIDIOUTCAPSW MIDIOUTCAPSW
MMRESULT WINAPI joySetCapture(_In_ HWND, _In_ UINT, _In_ UINT, _In_ BOOL)
YIELDPROC WINAPI mciGetYieldProc(_In_ MCIDEVICEID, _In_ PDWORD)
struct tagMCI_LOAD_PARMSA * LPMCI_LOAD_PARMSA
MMRESULT WINAPI auxGetDevCapsA(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbac) LPAUXCAPSA pac, _In_ UINT cbac)
DRVCALLBACK * PDRVCALLBACK
Definition: mmsystem.h:1004
MCI_OVLY_SAVE_PARMSA * PMCI_OVLY_SAVE_PARMS
Definition: mmsystem.h:2840
MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT
Definition: mmsystem.h:2827
struct tagMIDIINCAPSA * LPMIDIINCAPSA
#define MAX_JOYSTICKOEMVXDNAME
Definition: mmsystem.h:26
MCI_WAVE_OPEN_PARMSA * PMCI_WAVE_OPEN_PARMS
Definition: mmsystem.h:2835
struct tagMCI_OVLY_OPEN_PARMSA * LPMCI_OVLY_OPEN_PARMSA
FOURCC WINAPI mmioStringToFOURCCA(LPCSTR, _In_ UINT)
const MMIOINFO * LPCMMIOINFO
Definition: mmsystem.h:1504
MMRESULT WINAPI mmioSetBuffer(_In_ HMMIO hmmio, _Out_writes_opt_(cchBuffer) LPSTR pchBuffer, _In_ LONG cchBuffer, _In_ UINT fuBuffer)
struct tagMCI_VD_PLAY_PARMS * LPMCI_VD_PLAY_PARMS
struct tagMCI_ANIM_RECT_PARMS * PMCI_ANIM_RECT_PARMS
struct tagMCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMSW
struct tagMCI_GENERIC_PARMS * PMCI_GENERIC_PARMS
struct _MMCKINFO * PMMCKINFO
BOOL WINAPI PlaySoundW(_In_opt_ LPCWSTR, _In_opt_ HMODULE, _In_ DWORD)
DWORD WINAPI mixerMessage(_In_opt_ HMIXER, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR)
WAVEOUTCAPSA * PWAVEOUTCAPS
Definition: mmsystem.h:2818
MMRESULT WINAPI waveOutPrepareHeader(_In_ HWAVEOUT hwo, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
DWORD FOURCC
Definition: mmsystem.h:1475
struct tagMCI_RECORD_PARMS MCI_RECORD_PARMS
struct tagMCI_OVLY_WINDOW_PARMSW * LPMCI_OVLY_WINDOW_PARMSW
struct tagMCI_SAVE_PARMSW * PMCI_SAVE_PARMSW
MMRESULT WINAPI waveOutGetErrorTextW(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPWSTR pszText, _In_ UINT cchText)
MMRESULT WINAPI waveOutSetPlaybackRate(_In_ HWAVEOUT, _In_ DWORD)
HTASK WINAPI mciGetCreatorTask(_In_ MCIDEVICEID)
struct tagAUXCAPSA AUXCAPSA
struct tagMCI_SAVE_PARMSA * PMCI_SAVE_PARMSA
MIDIINCAPSA * LPMIDIINCAPS
Definition: mmsystem.h:2821
HMIXER * LPHMIXER
Definition: mmsystem.h:1211
UINT WINAPI midiInGetNumDevs(void)
Definition: winmm.c:1184
MMRESULT WINAPI mixerGetDevCapsA(_In_ UINT_PTR uMxId, _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSA pmxcaps, _In_ UINT cbmxcaps)
AUXCAPSA * LPAUXCAPS
Definition: mmsystem.h:2822
struct tagMCI_OPEN_PARMSA * PMCI_OPEN_PARMSA
struct tagMIDIINCAPSA * PMIDIINCAPSA
MMRESULT WINAPI midiOutGetDevCapsA(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbmoc) LPMIDIOUTCAPSA pmoc, _In_ UINT cbmoc)
MMRESULT WINAPI mixerGetDevCapsW(_In_ UINT_PTR uMxId, _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSW pmxcaps, _In_ UINT cbmxcaps)
struct tagWAVEINCAPS2W WAVEINCAPS2W
MMRESULT WINAPI joyReleaseCapture(_In_ UINT)
struct tagMCI_ANIM_OPEN_PARMSW * LPMCI_ANIM_OPEN_PARMSW
struct tagMCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMSA
AUXCAPSA * PAUXCAPS
Definition: mmsystem.h:2822
struct tagMCI_VD_ESCAPE_PARMSW * PMCI_VD_ESCAPE_PARMSW
struct tWAVEFORMATEX * LPWAVEFORMATEX
struct joyinfoex_tag JOYINFOEX
struct tagMCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMSA
struct _MMIOINFO * PMMIOINFO
MIXERLINECONTROLSA * LPMIXERLINECONTROLS
Definition: mmsystem.h:2826
MIXERCONTROLDETAILS_LISTTEXTA * PMIXERCONTROLDETAILS_LISTTEXT
Definition: mmsystem.h:2827
MMRESULT WINAPI auxOutMessage(_In_ UINT, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR)
UINT WINAPI mmsystemGetVersion(void)
Definition: playsound.c:679
struct tagMCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMSA
struct tagMCI_OPEN_PARMSA * LPMCI_OPEN_PARMSA
struct tMIXERCONTROLDETAILS * PMIXERCONTROLDETAILS
WAVEOUTCAPSA * LPWAVEOUTCAPS
Definition: mmsystem.h:2818
MCI_ANIM_OPEN_PARMSA * PMCI_ANIM_OPEN_PARMS
Definition: mmsystem.h:2836
MMRESULT WINAPI joyGetDevCapsW(_In_ UINT_PTR uJoyID, _Out_writes_bytes_(cbjc) LPJOYCAPSW pjc, _In_ UINT cbjc)
HMMIO WINAPI mmioOpenW(_Inout_updates_bytes_opt_(128) LPWSTR pszFileName, _Inout_opt_ LPMMIOINFO pmmioinfo, _In_ DWORD fdwOpen)
LPMMIOPROC WINAPI mmioInstallIOProcA(_In_ FOURCC, _In_opt_ LPMMIOPROC, _In_ DWORD)
MMRESULT WINAPI timeBeginPeriod(_In_ UINT)
MMRESULT WINAPI midiInGetID(_In_ HMIDIIN, _Out_ LPUINT)
struct tagMCI_ANIM_PLAY_PARMS MCI_ANIM_PLAY_PARMS
struct waveformat_tag WAVEFORMAT
struct tagMCI_OPEN_PARMSA MCI_OPEN_PARMSA
MMRESULT WINAPI midiOutLongMsg(_In_ HMIDIOUT hmo, _In_reads_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
MIXERCONTROLA * LPMIXERCONTROL
Definition: mmsystem.h:2825
struct tagMCI_OVLY_SAVE_PARMSW * LPMCI_OVLY_SAVE_PARMSW
MCI_SAVE_PARMSA * PMCI_SAVE_PARMS
Definition: mmsystem.h:2832
MMRESULT WINAPI mixerGetID(_In_opt_ HMIXEROBJ, _Out_ PUINT, _In_ DWORD)
struct tagMIXERCONTROLA * LPMIXERCONTROLA
struct tagMCI_WAVE_SET_PARMS * LPMCI_WAVE_SET_PARMS
struct tWAVEFORMATEX WAVEFORMATEX
struct tagMCI_ANIM_PLAY_PARMS * PMCI_ANIM_PLAY_PARMS
struct tagMCI_PLAY_PARMS * PMCI_PLAY_PARMS
struct tagMCI_SEEK_PARMS * PMCI_SEEK_PARMS
struct tagMIXERCONTROLDETAILS_LISTTEXTA * PMIXERCONTROLDETAILS_LISTTEXTA
MMRESULT WINAPI waveOutSetPitch(_In_ HWAVEOUT, _In_ DWORD)
MMRESULT WINAPI midiOutGetErrorTextA(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPSTR pszText, _In_ UINT cchText)
struct tagMCI_OVLY_WINDOW_PARMSW * PMCI_OVLY_WINDOW_PARMSW
LONG WINAPI mmioWrite(_In_ HMMIO hmmio, _In_reads_bytes_(cch) const char _huge *pch, _In_ LONG cch)
struct tagMCI_ANIM_STEP_PARMS MCI_ANIM_STEP_PARMS
DWORD MCIERROR
Definition: mmsystem.h:958
struct tagWAVEINCAPS2A WAVEINCAPS2A
MMRESULT WINAPI waveOutGetDevCapsA(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSA, _In_ UINT)
MMRESULT WINAPI waveInClose(_In_ HWAVEIN)
UINT WINAPI auxGetNumDevs(void)
Definition: winmm.c:715
struct tagWAVEOUTCAPS2W WAVEOUTCAPS2W
MMRESULT WINAPI waveInGetDevCapsA(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbwic) LPWAVEINCAPSA pwic, _In_ UINT cbwic)
DWORD WINAPI timeGetTime(void)
Definition: time.c:466
MCI_INFO_PARMSA MCI_INFO_PARMS
Definition: mmsystem.h:2830
struct tagAUXCAPSA * PAUXCAPSA
struct tagJOYCAPSW * PJOYCAPSW
struct tagWAVEINCAPSW * LPWAVEINCAPSW
struct tagWAVEOUTCAPSA WAVEOUTCAPSA
MMRESULT WINAPI midiStreamProperty(_In_ HMIDISTRM hms, _Inout_updates_bytes_(sizeof(DWORD)+sizeof(DWORD)) LPBYTE lppropdata, _In_ DWORD dwProperty)
struct joyinfo_tag * LPJOYINFO
struct timecaps_tag * PTIMECAPS
HWAVEOUT * LPHWAVEOUT
Definition: mmsystem.h:1009
struct pcmwaveformat_tag * LPPCMWAVEFORMAT
MCIERROR WINAPI mciSendCommandA(_In_ MCIDEVICEID, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR)
struct tagMIXERCONTROLW MIXERCONTROLW
struct tagMCI_SYSINFO_PARMSW * LPMCI_SYSINFO_PARMSW
struct tagMCI_OVLY_SAVE_PARMSW * PMCI_OVLY_SAVE_PARMSW
struct tagMCI_OPEN_PARMSW * PMCI_OPEN_PARMSW
LRESULT(CALLBACK * DRIVERPROC)(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM)
Definition: mmsystem.h:1001
struct tagMIXERCAPSA * PMIXERCAPSA
struct tagMCI_VD_STEP_PARMS MCI_VD_STEP_PARMS
struct tagJOYCAPS2A * LPJOYCAPS2A
MMRESULT WINAPI midiOutShortMsg(_In_ HMIDIOUT, _In_ DWORD)
struct tagJOYCAPSA JOYCAPSA
MMRESULT WINAPI waveInReset(_In_ HWAVEIN)
struct tagMIDIOUTCAPSW * PMIDIOUTCAPSW
struct _MMIOINFO * LPMMIOINFO
UINT WINAPI midiOutGetNumDevs(void)
Definition: winmm.c:806
struct tagWAVEINCAPSW WAVEINCAPSW
struct tagMIDIOUTCAPS2W * LPMIDIOUTCAPS2W
MMRESULT WINAPI waveInGetErrorTextW(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPWSTR pszText, _In_ UINT cchText)
MMRESULT WINAPI midiStreamOpen(_Out_ LPHMIDISTRM phms, _Inout_updates_(cMidi) LPUINT puDeviceID, _In_ DWORD cMidi, _In_opt_ DWORD_PTR dwCallback, _In_opt_ DWORD_PTR dwInstance, _In_ DWORD fdwOpen)
MCI_OVLY_SAVE_PARMSA * LPMCI_OVLY_SAVE_PARMS
Definition: mmsystem.h:2840
struct tagMIDIINCAPSW * PMIDIINCAPSW
DRVCALLBACK MIDICALLBACK
Definition: mmsystem.h:1103
struct tagMIXERCONTROLA * PMIXERCONTROLA
struct tagWAVEOUTCAPS2A * LPWAVEOUTCAPS2A
struct tagAUXCAPSA * LPAUXCAPSA
struct tagMIXERLINEA MIXERLINEA
UINT WINAPI mixerGetNumDevs(void)
Definition: winmm.c:280
MMRESULT WINAPI joyGetDevCapsA(_In_ UINT_PTR uJoyID, _Out_writes_bytes_(cbjc) LPJOYCAPSA pjc, _In_ UINT cbjc)
MMRESULT WINAPI midiInStop(_In_ HMIDIIN)
struct tagMCI_ANIM_RECT_PARMS * LPMCI_ANIM_RECT_PARMS
struct mmtime_tag * PMMTIME
MCIDEVICEID WINAPI mciGetDeviceIDW(_In_ LPCWSTR)
MMRESULT WINAPI joySetThreshold(_In_ UINT, _In_ UINT)
UINT WINAPI waveOutGetNumDevs(void)
Definition: winmm.c:2137
struct tagMCI_STATUS_PARMS * LPMCI_STATUS_PARMS
struct tagMIDIINCAPS2W MIDIINCAPS2W
MMRESULT WINAPI midiOutClose(_In_ HMIDIOUT)
struct tagWAVEOUTCAPS2A WAVEOUTCAPS2A
struct tagJOYCAPS2W * LPJOYCAPS2W
struct tagMCI_INFO_PARMSW * LPMCI_INFO_PARMSW
MCI_VD_ESCAPE_PARMSA * LPMCI_VD_ESCAPE_PARMS
Definition: mmsystem.h:2834
MMRESULT WINAPI mmioCreateChunk(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT)
struct tagMCI_WAVE_OPEN_PARMSW * LPMCI_WAVE_OPEN_PARMSW
struct pcmwaveformat_tag PCMWAVEFORMAT
struct tagMIXERCAPSA MIXERCAPSA
LRESULT WINAPI mmioSendMessage(_In_ HMMIO, _In_ UINT, _In_opt_ LPARAM, _In_opt_ LPARAM)
BOOL WINAPI mciGetErrorStringW(_In_ MCIERROR mcierr, _Out_writes_(cchText) LPWSTR pszText, _In_ UINT cchText)
struct tagMIDIOUTCAPSW * LPMIDIOUTCAPSW
#define MIXER_LONG_NAME_CHARS
Definition: mmsystem.h:294
struct tagMCI_VD_ESCAPE_PARMSA * LPMCI_VD_ESCAPE_PARMSA
struct tagMCI_SYSINFO_PARMSA * PMCI_SYSINFO_PARMSA
MMRESULT WINAPI midiOutReset(_In_ HMIDIOUT)
HMIDISTRM * LPHMIDISTRM
Definition: mmsystem.h:1102
MIXERLINEA MIXERLINE
Definition: mmsystem.h:2824
MMRESULT WINAPI midiOutOpen(_Out_ LPHMIDIOUT, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR, _In_ DWORD)
#define _huge
Definition: mmsystem.h:23
MCI_WAVE_OPEN_PARMSA * LPMCI_WAVE_OPEN_PARMS
Definition: mmsystem.h:2835
MMRESULT WINAPI waveOutGetID(_In_ HWAVEOUT, _Out_ LPUINT)
struct tagJOYCAPS2A JOYCAPS2A
struct tWAVEFORMATEX * PWAVEFORMATEX
struct tagMCI_STATUS_PARMS MCI_STATUS_PARMS
struct tagMCI_SAVE_PARMSA MCI_SAVE_PARMSA
MMRESULT WINAPI waveOutGetPosition(_In_ HWAVEOUT hwo, _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt, _In_ UINT cbmmt)
struct tagMIXERCAPS2W * LPMIXERCAPS2W
MMRESULT WINAPI waveInGetPosition(_In_ HWAVEIN hwi, _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt, _In_ UINT cbmmt)
MMRESULT WINAPI waveInGetErrorTextA(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPSTR pszText, _In_ UINT cchText)
struct tagMCI_OVLY_LOAD_PARMSA * PMCI_OVLY_LOAD_PARMSA
MMRESULT WINAPI waveInUnprepareHeader(_In_ HWAVEIN hwi, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
struct DRVCONFIGINFOEX * LPDRVCONFIGINFOEX
WORD * LPKEYARRAY
Definition: mmsystem.h:1108
struct tagWAVEOUTCAPSA * PWAVEOUTCAPSA
MMRESULT WINAPI joyGetPosEx(_In_ UINT, _Out_ LPJOYINFOEX)
MCI_OVLY_OPEN_PARMSA * PMCI_OVLY_OPEN_PARMS
Definition: mmsystem.h:2838
struct tagMCI_GETDEVCAPS_PARMS * LPMCI_GETDEVCAPS_PARMS
struct tagMCI_SEEK_PARMS MCI_SEEK_PARMS
MMRESULT WINAPI waveOutGetPitch(_In_ HWAVEOUT, _Out_ PDWORD)
struct tagMCI_WAVE_SET_PARMS MCI_WAVE_SET_PARMS
MMRESULT WINAPI mmioDescend(_In_ HMMIO, _Inout_ LPMMCKINFO, _In_opt_ const MMCKINFO *, _In_ UINT)
MIDIOUTCAPSA * LPMIDIOUTCAPS
Definition: