15#pragma warning(disable:4201)
18#define DRV_SUCCESS 0x0001
19#define DRV_FAILURE 0x0000
21#define WINMMAPI DECLSPEC_IMPORT
25#define MAXERRORLENGTH 256
26#define MAX_JOYSTICKOEMVXDNAME 260
35#define MAKEFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
38#define mmioFOURCC(c0,c1,c2,c3) MAKEFOURCC(c0,c1,c2,c3)
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
86#define MIDIERR_BASE 64
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)
125#define DRV_CONFIGURE 7
126#define DRV_QUERYCONFIGURE 8
129#define DRV_EXITSESSION 11
131#define DRV_RESERVED 0x800
132#define DRV_USER 0x4000
133#define DRVCNF_CANCEL 0
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)
142#define DRV_SUCCESS 0x0001
143#define DRV_FAILURE 0x0000
144#define DRV_EXITAPPLICATION 0x000C
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
155#define SND_NODEFAULT 2
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
191#define WAVE_FORMAT_DIRECT 8
192#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT)
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
227#ifndef WAVE_FORMAT_PCM
228#define WAVE_FORMAT_PCM 1
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
264#define MIDICAPS_VOLUME 1
265#define MIDICAPS_LRVOLUME 2
266#define MIDICAPS_CACHE 4
267#define MIDICAPS_STREAM 8
269#define MHDR_PREPARED 2
270#define MHDR_INQUEUE 4
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
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
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)
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
476#define JOY_RETURNZ 4l
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
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)
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
537#define MMIO_READWRITE 2
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
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
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
664#define MCI_REALIZE 0x840
665#define MCI_WINDOW 0x841
667#define MCI_WHERE 0x843
668#define MCI_FREEZE 0x844
669#define MCI_UNFREEZE 0x845
670#define MCI_LOAD 0x850
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
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
926#define MCI_SOUND 0x0812
927#define MCI_SOUND_NAME 0x00000100L
929#define NEWTRANSPARENT 3
930#define QUERYROPSUPPORT 40
932#define DIBINDEX(n) MAKELONG((n),0x10FF)
933#define SC_SCREENSAVE 0xF140
935#define C1_TRANSPARENT 1
947#define MAXWAVEDRIVERS 10
948#define MAXMIDIDRIVERS 10
949#define MAXAUXDRIVERS 10
950#define MAXMCIDRIVERS 32
951#define MAXMIXERDRIVERS 10
1079#ifndef _WAVEFORMATEX_
1080#define _WAVEFORMATEX_
1548typedef struct tagMCI_SOUND_PARMSA {
1551} MCI_SOUND_PARMSA, *LPMCI_SOUND_PARMSA;
1553typedef struct tagMCI_SOUND_PARMSW {
1556} MCI_SOUND_PARMSW, *LPMCI_SOUND_PARMSW;
1559typedef MCI_SOUND_PARMSW MCI_SOUND_PARMS;
1561typedef MCI_SOUND_PARMSA MCI_SOUND_PARMS;
1950#define OutputDebugStr OutputDebugString
2026#if (WINVER >= 0x030a)
2110#if (WINVER >= 0x030a)
2243#if (WINVER >= 0x030a)
2318#if (WINVER >= 0x030a)
2696#ifdef MCI_USE_OFFEXT
2740#ifdef MCI_USE_OFFEXT
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
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
DWORD WINAPI GetDriverFlags(HDRVR hDrvr)
#define DECLARE_HANDLE(name)
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)
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)
struct tagAUXCAPSW AUXCAPSW
struct _MMIOINFO MMIOINFO
struct wavehdr_tag WAVEHDR
MMRESULT WINAPI mmioFlush(_In_ HMMIO, _In_ UINT)
struct tagWAVEINCAPS2A * LPWAVEINCAPS2A
MMRESULT WINAPI waveOutGetErrorTextA(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPSTR pszText, _In_ UINT cchText)
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
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
UINT(CALLBACK * YIELDPROC)(MCIDEVICEID, DWORD)
struct tagMCI_WAVE_SET_PARMS * PMCI_WAVE_SET_PARMS
struct tMIXERCONTROLDETAILS_UNSIGNED * PMIXERCONTROLDETAILS_UNSIGNED
MCI_SYSINFO_PARMSA * PMCI_SYSINFO_PARMS
struct tagMCI_BREAK_PARMS MCI_BREAK_PARMS
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)
struct tagMIXERLINEW * PMIXERLINEW
WAVECALLBACK * LPWAVECALLBACK
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
struct tagMIXERCONTROLW * LPMIXERCONTROLW
struct tagMCI_LOAD_PARMSW * PMCI_LOAD_PARMSW
MCI_ANIM_OPEN_PARMSA * LPMCI_ANIM_OPEN_PARMS
MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS
MCI_LOAD_PARMSA MCI_LOAD_PARMS
struct midiproptimediv_tag MIDIPROPTIMEDIV
struct tagMCI_LOAD_PARMSW MCI_LOAD_PARMSW
struct tagMCI_SYSINFO_PARMSA * LPMCI_SYSINFO_PARMSA
MCI_OVLY_OPEN_PARMSA * LPMCI_OVLY_OPEN_PARMS
DRVCALLBACK * LPDRVCALLBACK
struct wavehdr_tag * PWAVEHDR
struct tagMCI_LOAD_PARMSA * PMCI_LOAD_PARMSA
BOOL WINAPI PlaySoundA(_In_opt_ LPCSTR, _In_opt_ HMODULE, _In_ DWORD)
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
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
struct tagMCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMSA
MCI_ANIM_WINDOW_PARMSA * LPMCI_ANIM_WINDOW_PARMS
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
struct tMIXERCONTROLDETAILS_SIGNED * PMIXERCONTROLDETAILS_SIGNED
MIXERLINECONTROLSA MIXERLINECONTROLS
struct pcmwaveformat_tag * PPCMWAVEFORMAT
MIDIINCAPSA * PMIDIINCAPS
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
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)
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
struct tagMCI_SYSINFO_PARMSA MCI_SYSINFO_PARMSA
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
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
struct tagAUXCAPS2A AUXCAPS2A
MCI_SAVE_PARMSA MCI_SAVE_PARMS
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
MCI_OVLY_SAVE_PARMSA * PMCI_OVLY_SAVE_PARMS
MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT
struct tagMIDIINCAPSA * LPMIDIINCAPSA
#define MAX_JOYSTICKOEMVXDNAME
MCI_WAVE_OPEN_PARMSA * PMCI_WAVE_OPEN_PARMS
struct tagMCI_OVLY_OPEN_PARMSA * LPMCI_OVLY_OPEN_PARMSA
FOURCC WINAPI mmioStringToFOURCCA(LPCSTR, _In_ UINT)
const MMIOINFO * LPCMMIOINFO
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
MMRESULT WINAPI waveOutPrepareHeader(_In_ HWAVEOUT hwo, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
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
UINT WINAPI midiInGetNumDevs(void)
MMRESULT WINAPI mixerGetDevCapsA(_In_ UINT_PTR uMxId, _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSA pmxcaps, _In_ UINT cbmxcaps)
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
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
MIXERCONTROLDETAILS_LISTTEXTA * PMIXERCONTROLDETAILS_LISTTEXT
MMRESULT WINAPI auxOutMessage(_In_ UINT, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR)
UINT WINAPI mmsystemGetVersion(void)
struct tagMCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMSA
struct tagMCI_OPEN_PARMSA * LPMCI_OPEN_PARMSA
struct tMIXERCONTROLDETAILS * PMIXERCONTROLDETAILS
WAVEOUTCAPSA * LPWAVEOUTCAPS
MCI_ANIM_OPEN_PARMSA * PMCI_ANIM_OPEN_PARMS
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
struct tagMCI_OVLY_SAVE_PARMSW * LPMCI_OVLY_SAVE_PARMSW
MCI_SAVE_PARMSA * PMCI_SAVE_PARMS
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
struct tagWAVEINCAPS2A WAVEINCAPS2A
MMRESULT WINAPI waveOutGetDevCapsA(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSA, _In_ UINT)
MMRESULT WINAPI waveInClose(_In_ HWAVEIN)
UINT WINAPI auxGetNumDevs(void)
struct tagWAVEOUTCAPS2W WAVEOUTCAPS2W
MMRESULT WINAPI waveInGetDevCapsA(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbwic) LPWAVEINCAPSA pwic, _In_ UINT cbwic)
DWORD WINAPI timeGetTime(void)
MCI_INFO_PARMSA MCI_INFO_PARMS
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
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)
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)
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
struct tagMIDIINCAPSW * PMIDIINCAPSW
struct tagMIXERCONTROLA * PMIXERCONTROLA
struct tagWAVEOUTCAPS2A * LPWAVEOUTCAPS2A
struct tagAUXCAPSA * LPAUXCAPSA
struct tagMIXERLINEA MIXERLINEA
UINT WINAPI mixerGetNumDevs(void)
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)
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
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
struct tagMCI_VD_ESCAPE_PARMSA * LPMCI_VD_ESCAPE_PARMSA
struct tagMCI_SYSINFO_PARMSA * PMCI_SYSINFO_PARMSA
MMRESULT WINAPI midiOutReset(_In_ HMIDIOUT)
MMRESULT WINAPI midiOutOpen(_Out_ LPHMIDIOUT, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR, _In_ DWORD)
MCI_WAVE_OPEN_PARMSA * LPMCI_WAVE_OPEN_PARMS
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
struct tagWAVEOUTCAPSA * PWAVEOUTCAPSA
MMRESULT WINAPI joyGetPosEx(_In_ UINT, _Out_ LPJOYINFOEX)
MCI_OVLY_OPEN_PARMSA * PMCI_OVLY_OPEN_PARMS
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
MMRESULT WINAPI joyGetThreshold(_In_ UINT, _Out_ LPUINT)
MMRESULT WINAPI auxSetVolume(_In_ UINT, _In_ DWORD)
MMRESULT WINAPI waveOutReset(_In_ HWAVEOUT)
struct tagMCI_OVLY_OPEN_PARMSW * LPMCI_OVLY_OPEN_PARMSW
struct tagMIDIINCAPSW * NPMIDIINCAPSW
struct tagWAVEINCAPSA WAVEINCAPSA
struct tagMIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXTA
MMRESULT WINAPI midiOutSetVolume(_In_opt_ HMIDIOUT, _In_ DWORD)
struct tagMCI_ANIM_WINDOW_PARMSW * LPMCI_ANIM_WINDOW_PARMSW
struct tagMCI_STATUS_PARMS * PMCI_STATUS_PARMS
MMRESULT WINAPI midiInAddBuffer(_In_ HMIDIIN hmi, _Out_writes_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
struct tagMCI_ANIM_UPDATE_PARMS * PMCI_ANIM_UPDATE_PARMS
struct tagMCI_OVLY_RECT_PARMS * LPMCI_OVLY_RECT_PARMS
BOOL WINAPI sndPlaySoundA(_In_opt_ LPCSTR, _In_ UINT)
MMRESULT WINAPI midiStreamPause(_In_ HMIDISTRM)
MMRESULT WINAPI midiInGetDevCapsA(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbmic) LPMIDIINCAPSA pmic, _In_ UINT cbmic)
struct tagMIXERLINECONTROLSA * PMIXERLINECONTROLSA
MCI_OPEN_PARMSA * PMCI_OPEN_PARMS
struct tagMIDIINCAPSW * LPMIDIINCAPSW
HMODULE WINAPI GetDriverModuleHandle(_In_ HDRVR)
MMRESULT WINAPI waveInPrepareHeader(_In_ HWAVEIN hwi, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
MMRESULT WINAPI waveOutSetVolume(_In_opt_ HWAVEOUT, _In_ DWORD)
WORD PATCHARRAY[MIDIPATCHSIZE]
struct tagMCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMSA
struct joyinfo_tag JOYINFO
struct tagMCI_LOAD_PARMSA MCI_LOAD_PARMSA
struct tagMCI_OVLY_RECT_PARMS MCI_OVLY_RECT_PARMS
MIDICALLBACK * LPMIDICALLBACK
struct tagMCI_SYSINFO_PARMSW * PMCI_SYSINFO_PARMSW
struct tagMIXERLINECONTROLSW * PMIXERLINECONTROLSW
struct joyinfoex_tag * LPJOYINFOEX
struct tagMCI_ANIM_UPDATE_PARMS * LPMCI_ANIM_UPDATE_PARMS
struct tagWAVEOUTCAPSA * LPWAVEOUTCAPSA
struct tagMIXERLINEA * PMIXERLINEA
MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS
MMRESULT WINAPI midiOutGetDevCapsW(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbmoc) LPMIDIOUTCAPSW pmoc, _In_ UINT cbmoc)
struct tagMCI_OVLY_WINDOW_PARMSA * PMCI_OVLY_WINDOW_PARMSA
MMRESULT WINAPI midiOutCachePatches(_In_ HMIDIOUT hmo, _In_ UINT uBank, _In_reads_(MIDIPATCHSIZE) LPWORD pwpa, _In_ UINT fuCache)
MMRESULT WINAPI mmioAscend(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT)
struct tagMCI_ANIM_OPEN_PARMSA * PMCI_ANIM_OPEN_PARMSA
struct tagMIDIOUTCAPS2W MIDIOUTCAPS2W
MMRESULT WINAPI midiInGetErrorTextA(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPSTR pszText, _In_ UINT cchText)
WORD KEYARRAY[MIDIPATCHSIZE]
MMRESULT WINAPI timeSetEvent(_In_ UINT, _In_ UINT, _In_ LPTIMECALLBACK, _In_ DWORD_PTR, _In_ UINT)
MCI_LOAD_PARMSA * LPMCI_LOAD_PARMS
MMRESULT WINAPI mixerGetLineInfoW(_In_opt_ HMIXEROBJ, _Inout_ LPMIXERLINEW, _In_ DWORD)
struct tagMCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMSW
MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(_In_ DWORD, _In_ LPCWSTR)
MMRESULT WINAPI timeEndPeriod(_In_ UINT)
struct tagMCI_GENERIC_PARMS MCI_GENERIC_PARMS
MMRESULT WINAPI waveInStop(_In_ HWAVEIN)
struct tagMCI_ANIM_WINDOW_PARMSA * PMCI_ANIM_WINDOW_PARMSA
MMRESULT WINAPI midiStreamClose(_In_ HMIDISTRM)
struct tagMCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMSW
MMRESULT WINAPI mmioRenameW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCMMIOINFO, _In_ DWORD)
struct tagMIXERCONTROLDETAILS_LISTTEXTW * LPMIXERCONTROLDETAILS_LISTTEXTW
struct tagMCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMSA
MCI_SYSINFO_PARMSA * LPMCI_SYSINFO_PARMS
struct tagMIXERCONTROLDETAILS_LISTTEXTA * LPMIXERCONTROLDETAILS_LISTTEXTA
MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS
struct tagMCI_PLAY_PARMS * LPMCI_PLAY_PARMS
const MMCKINFO * LPCMMCKINFO
struct tagMIDIINCAPS2A * LPMIDIINCAPS2A
struct tagMCI_OVLY_LOAD_PARMSW * LPMCI_OVLY_LOAD_PARMSW
struct tagMCI_VD_PLAY_PARMS MCI_VD_PLAY_PARMS
struct tagMIDIOUTCAPSA * PMIDIOUTCAPSA
struct tagMIXERCAPSA * LPMIXERCAPSA
struct tMIXERCONTROLDETAILS_BOOLEAN MIXERCONTROLDETAILS_BOOLEAN
struct tagMCI_OPEN_PARMSW * LPMCI_OPEN_PARMSW
struct tagMCI_WAVE_DELETE_PARMS * LPMCI_WAVE_DELETE_PARMS
MMRESULT WINAPI mixerOpen(_Out_opt_ LPHMIXER, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR, _In_ DWORD)
BOOL WINAPI mciSetYieldProc(_In_ MCIDEVICEID, _In_opt_ YIELDPROC, _In_ DWORD)
MMRESULT WINAPI waveOutGetVolume(_In_opt_ HWAVEOUT, _Out_ PDWORD)
MMRESULT WINAPI waveOutPause(_In_ HWAVEOUT)
struct tagMIDIINCAPS2W * LPMIDIINCAPS2W
struct tagWAVEINCAPS2W * LPWAVEINCAPS2W
struct tagAUXCAPSW * PAUXCAPSW
MMRESULT WINAPI waveOutUnprepareHeader(_In_ HWAVEOUT hwo, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
struct tMIXERCONTROLDETAILS MIXERCONTROLDETAILS
struct tagMIXERLINEW * LPMIXERLINEW
struct _MMCKINFO * LPMMCKINFO
struct tMIXERCONTROLDETAILS_UNSIGNED MIXERCONTROLDETAILS_UNSIGNED
struct tMIXERCONTROLDETAILS * LPMIXERCONTROLDETAILS
MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS
struct tagMCI_OVLY_OPEN_PARMSW * PMCI_OVLY_OPEN_PARMSW
MCI_LOAD_PARMSA * PMCI_LOAD_PARMS
MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(_In_ DWORD, _In_ LPCSTR)
HMODULE WINAPI DrvGetModuleHandle(_In_ HDRVR)
MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS
MMRESULT WINAPI mixerGetLineInfoA(_In_opt_ HMIXEROBJ, _Inout_ LPMIXERLINEA, _In_ DWORD)
struct tagMCI_ANIM_OPEN_PARMSA * LPMCI_ANIM_OPEN_PARMSA
struct tMIXERCONTROLDETAILS_UNSIGNED * LPMIXERCONTROLDETAILS_UNSIGNED
MIXERCONTROLA * PMIXERCONTROL
LONG WINAPI mmioSeek(_In_ HMMIO, _In_ LONG, _In_ int)
MMRESULT WINAPI mmioSetInfo(_In_ HMMIO, _In_ LPCMMIOINFO, _In_ UINT)
struct tagMCI_LOAD_PARMSW * LPMCI_LOAD_PARMSW
struct tagMCI_SAVE_PARMSA * LPMCI_SAVE_PARMSA
struct tagMCI_ANIM_STEP_PARMS * PMCI_ANIM_STEP_PARMS
struct tagMCI_OVLY_SAVE_PARMSA * PMCI_OVLY_SAVE_PARMSA
UINT WINAPI waveInGetNumDevs(void)
struct tagMCI_ANIM_WINDOW_PARMSA * LPMCI_ANIM_WINDOW_PARMSA
struct tagMCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMSA
struct tagMCI_VD_PLAY_PARMS * PMCI_VD_PLAY_PARMS
MMRESULT WINAPI midiInStart(_In_ HMIDIIN)
struct tagWAVEOUTCAPSW * LPWAVEOUTCAPSW
MMRESULT WINAPI waveInOpen(_Out_opt_ LPHWAVEIN, _In_ UINT, _In_ LPCWAVEFORMATEX, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR, _In_ DWORD)
struct tagMCI_OVLY_LOAD_PARMSW * PMCI_OVLY_LOAD_PARMSW
struct tagMCI_SET_PARMS * PMCI_SET_PARMS
struct tagMCI_VD_STEP_PARMS * PMCI_VD_STEP_PARMS
struct tagMCI_OPEN_PARMSW MCI_OPEN_PARMSW
MCI_OPEN_PARMSA * LPMCI_OPEN_PARMS
BOOL WINAPI sndPlaySoundW(_In_opt_ LPCWSTR, _In_ UINT)
struct tagMIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXTW
LRESULT WINAPI SendDriverMessage(_In_ HDRVR, _In_ UINT, _In_ LPARAM, _In_ LPARAM)
FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR, _In_ UINT)
MMRESULT WINAPI midiInGetDevCapsW(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbmic) LPMIDIINCAPSW pmic, _In_ UINT cbmic)
struct tagMIDIINCAPS2A MIDIINCAPS2A
#define MIXER_SHORT_NAME_CHARS
struct tagMCI_WAVE_OPEN_PARMSW * PMCI_WAVE_OPEN_PARMSW
struct tagMIXERLINECONTROLSA * LPMIXERLINECONTROLSA
struct tagMCI_SEQ_SET_PARMS MCI_SEQ_SET_PARMS
struct midihdr_tag MIDIHDR
struct tagWAVEINCAPSW * PWAVEINCAPSW
MCI_OVLY_WINDOW_PARMSA * LPMCI_OVLY_WINDOW_PARMS
struct tagMCI_SEEK_PARMS * LPMCI_SEEK_PARMS
MMRESULT WINAPI waveOutOpen(_Out_opt_ LPHWAVEOUT, _In_ UINT, _In_ LPCWAVEFORMATEX, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR, _In_ DWORD)
MCI_OVLY_WINDOW_PARMSA * PMCI_OVLY_WINDOW_PARMS
MCI_SAVE_PARMSA * LPMCI_SAVE_PARMS
MMRESULT WINAPI midiInGetErrorTextW(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPWSTR pszText, _In_ UINT cchText)
struct tagMCI_SEQ_SET_PARMS * PMCI_SEQ_SET_PARMS
struct waveformat_tag * LPWAVEFORMAT
struct joyinfo_tag * PJOYINFO
MCI_INFO_PARMSA * LPMCI_INFO_PARMS
MMRESULT WINAPI midiStreamRestart(_In_ HMIDISTRM)
struct tagMIXERCAPSW MIXERCAPSW
struct tagMIXERLINEA * LPMIXERLINEA
HDRVR WINAPI OpenDriver(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPARAM)
MMRESULT WINAPI waveOutWrite(_In_ HWAVEOUT hwo, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
struct tagMCI_WAVE_OPEN_PARMSA * PMCI_WAVE_OPEN_PARMSA
struct tagMCI_ANIM_STEP_PARMS * LPMCI_ANIM_STEP_PARMS
struct tagMCI_BREAK_PARMS * LPMCI_BREAK_PARMS
struct tagMIXERCONTROLDETAILS_LISTTEXTW * PMIXERCONTROLDETAILS_LISTTEXTW
TIMECALLBACK * LPTIMECALLBACK
WAVEINCAPSA * PWAVEINCAPS
MCIERROR WINAPI mciSendStringW(_In_ LPCWSTR lpstrCommand, _Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString, _In_ UINT uReturnLength, _In_opt_ HWND hwndCallback)
struct tagMIDIOUTCAPS2A MIDIOUTCAPS2A
const struct tWAVEFORMATEX * LPCWAVEFORMATEX
MMRESULT WINAPI midiInPrepareHeader(_In_ HMIDIIN hmi, _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
struct tagMCI_ANIM_RECT_PARMS MCI_ANIM_RECT_PARMS
MMRESULT WINAPI midiStreamStop(_In_ HMIDISTRM)
struct midihdr_tag * LPMIDIHDR
struct midiproptempo_tag MIDIPROPTEMPO
struct tagMIXERCAPSW * PMIXERCAPSW
struct tagJOYCAPS2W JOYCAPS2W
struct tagAUXCAPS2W * LPAUXCAPS2W
struct DRVCONFIGINFOEX * PDRVCONFIGINFOEX
struct tagMCI_SET_PARMS * LPMCI_SET_PARMS
struct tagMCI_OVLY_RECT_PARMS * PMCI_OVLY_RECT_PARMS
struct timecaps_tag * LPTIMECAPS
MMRESULT WINAPI midiInClose(_In_ HMIDIIN)
struct tMIXERCONTROLDETAILS_SIGNED MIXERCONTROLDETAILS_SIGNED
struct tagMIXERLINECONTROLSA MIXERLINECONTROLSA
MMRESULT WINAPI midiOutGetErrorTextW(_In_ MMRESULT mmrError, _Out_writes_(cchText) LPWSTR pszText, _In_ UINT cchText)
struct tagMIXERCAPS2A * LPMIXERCAPS2A
MIDIOUTCAPSA * PMIDIOUTCAPS
MMRESULT WINAPI mixerGetControlDetailsA(_In_opt_ HMIXEROBJ, _Inout_ LPMIXERCONTROLDETAILS, _In_ DWORD)
struct tagWAVEOUTCAPS2W * LPWAVEOUTCAPS2W
struct tagWAVEOUTCAPSW WAVEOUTCAPSW
MMRESULT WINAPI midiOutUnprepareHeader(_In_ HMIDIOUT hmo, _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
LRESULT WINAPI DefDriverProc(_In_ DWORD_PTR, _In_ HDRVR, _In_ UINT, _In_ LPARAM, _In_ LPARAM)
LONG WINAPI mmioRead(_In_ HMMIO hmmio, _Out_writes_bytes_(cch) HPSTR pch, _In_ LONG cch)
MIXERLINECONTROLSA * PMIXERLINECONTROLS
MMRESULT WINAPI auxGetDevCapsW(_In_ UINT_PTR uDeviceID, _Out_writes_bytes_(cbac) LPAUXCAPSW pac, _In_ UINT cbac)
struct midiproptimediv_tag * LPMIDIPROPTIMEDIV
struct midihdr_tag * PMIDIHDR
struct tagMCI_VD_ESCAPE_PARMSA * PMCI_VD_ESCAPE_PARMSA
struct tagDRVCONFIGINFO * LPDRVCONFIGINFO
struct joyinfoex_tag * PJOYINFOEX
struct tagMCI_OVLY_LOAD_PARMSA * LPMCI_OVLY_LOAD_PARMSA
struct tagMIXERCONTROLA MIXERCONTROLA
struct tagMCI_GENERIC_PARMS * LPMCI_GENERIC_PARMS
struct tagMCI_SAVE_PARMSW * LPMCI_SAVE_PARMSW
struct tagMIXERLINEW MIXERLINEW
struct tagAUXCAPSW * LPAUXCAPSW
MMRESULT WINAPI mixerSetControlDetails(_In_opt_ HMIXEROBJ, _In_ LPMIXERCONTROLDETAILS, _In_ DWORD)
MMRESULT WINAPI waveOutGetPlaybackRate(_In_ HWAVEOUT, _Out_ PDWORD)
struct tagMCI_GETDEVCAPS_PARMS * PMCI_GETDEVCAPS_PARMS
struct tagMIXERCONTROLW * PMIXERCONTROLW
struct tagMCI_INFO_PARMSA * LPMCI_INFO_PARMSA
MCI_OPEN_PARMSA MCI_OPEN_PARMS
struct tagMIDIOUTCAPSA MIDIOUTCAPSA
struct tagJOYCAPSA * PJOYCAPSA
MCIDEVICEID WINAPI mciGetDeviceIDA(_In_ LPCSTR)
MMRESULT WINAPI mixerGetLineControlsW(_In_opt_ HMIXEROBJ, _Inout_ LPMIXERLINECONTROLSW, _In_ DWORD)
MMRESULT WINAPI mixerGetLineControlsA(_In_opt_ HMIXEROBJ, _Inout_ LPMIXERLINECONTROLSA, _In_ DWORD)
struct tagMCI_OVLY_WINDOW_PARMSA * LPMCI_OVLY_WINDOW_PARMSA
struct tagMIDIOUTCAPS2A * LPMIDIOUTCAPS2A
struct _MMCKINFO MMCKINFO
struct tagMCI_OVLY_SAVE_PARMSA * LPMCI_OVLY_SAVE_PARMSA
struct tagMCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMSA
MMRESULT WINAPI midiConnect(_In_ HMIDI, _In_ HMIDIOUT, _In_opt_ PVOID)
struct tagDRVCONFIGINFO * PDRVCONFIGINFO
HMMIO WINAPI mmioOpenA(_Inout_updates_bytes_opt_(128) LPSTR pszFileName, _Inout_opt_ LPMMIOINFO pmmioinfo, _In_ DWORD fdwOpen)
struct midiproptempo_tag * LPMIDIPROPTEMPO
struct tagWAVEINCAPSA * LPWAVEINCAPSA
MMRESULT WINAPI midiInUnprepareHeader(_In_ HMIDIIN hmi, _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
MMRESULT WINAPI waveInStart(_In_ HWAVEIN)
struct tagMCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMSW
MMRESULT WINAPI midiStreamOut(_In_ HMIDISTRM hms, _Out_writes_bytes_(cbmh) LPMIDIHDR pmh, _In_ UINT cbmh)
struct mmtime_tag * LPMMTIME
MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS
struct tagMIXERCAPS2A MIXERCAPS2A
struct tagMCI_PLAY_PARMS MCI_PLAY_PARMS
struct tagMCI_RECORD_PARMS * LPMCI_RECORD_PARMS
MMRESULT WINAPI waveInAddBuffer(_In_ HWAVEIN hwi, _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, _In_ UINT cbwh)
struct tagAUXCAPS2A * LPAUXCAPS2A
struct tagJOYCAPSA * LPJOYCAPSA
MMRESULT WINAPI waveOutRestart(_In_ HWAVEOUT)
struct tagMCI_SAVE_PARMSW MCI_SAVE_PARMSW
static DWORD DWORD void LPSTR DWORD cch
unsigned __int3264 UINT_PTR
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define _In_reads_bytes_(s)
#define _Inout_updates_(s)
#define _Out_writes_opt_(s)
#define _Inout_updates_bytes_opt_(s)
#define _Inout_updates_bytes_(s)
#define _Out_writes_bytes_(s)
#define _ANONYMOUS_STRUCT
LPCWSTR lpszDCISectionName
struct midihdr_tag * lpNext
struct mmtime_tag::@3036::@3037 smpte
struct mmtime_tag::@3036::@3038 midi
union mmtime_tag::@3036 u
_ANONYMOUS_UNION union tMIXERCONTROLDETAILS::@3051 DUMMYUNIONNAME
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
LPCWSTR lpszDCISectionName
CHAR szRegKey[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]
WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]
WCHAR szPname[MAXPNAMELEN]
WCHAR szRegKey[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
CHAR szRegKey[MAXPNAMELEN]
CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]
WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]
WCHAR szPname[MAXPNAMELEN]
WCHAR szRegKey[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
union tagMIXERCONTROLA::@3041 Bounds
CHAR szName[MIXER_LONG_NAME_CHARS]
CHAR szShortName[MIXER_SHORT_NAME_CHARS]
union tagMIXERCONTROLA::@3042 Metrics
CHAR szName[MIXER_LONG_NAME_CHARS]
WCHAR szName[MIXER_LONG_NAME_CHARS]
WCHAR szName[MIXER_LONG_NAME_CHARS]
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]
union tagMIXERCONTROLW::@3045 Bounds
union tagMIXERCONTROLW::@3046 Metrics
CHAR szShortName[MIXER_SHORT_NAME_CHARS]
struct tagMIXERLINEA::@3039 Target
CHAR szName[MIXER_LONG_NAME_CHARS]
CHAR szPname[MAXPNAMELEN]
_ANONYMOUS_UNION union tagMIXERLINECONTROLSA::@3049 DUMMYUNIONNAME
_ANONYMOUS_UNION union tagMIXERLINECONTROLSW::@3050 DUMMYUNIONNAME
WCHAR szPname[MAXPNAMELEN]
WCHAR szName[MIXER_LONG_NAME_CHARS]
struct tagMIXERLINEW::@3040 Target
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
CHAR szPname[MAXPNAMELEN]
WCHAR szPname[MAXPNAMELEN]
struct wavehdr_tag * lpNext
WORD WORD PSZ PSZ pszFileName
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
UINT WINAPI midiOutMessage(HMIDIOUT hMidiOut, UINT uMessage, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
UINT WINAPI midiInMessage(HMIDIIN hMidiIn, UINT uMessage, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
UINT WINAPI waveInMessage(HWAVEIN hWaveIn, UINT uMessage, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
UINT WINAPI waveOutMessage(HWAVEOUT hWaveOut, UINT uMessage, DWORD_PTR dwParam1, DWORD_PTR dwParam2)