1 /* 2 * Multimedia declarations 3 */ 4 5 #ifndef _MMSYSTEM_H 6 #define _MMSYSTEM_H 7 8 #pragma pack(push,1) 9 #ifdef __cplusplus 10 extern "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 955 typedef LPCSTR HPCSTR; 956 #endif 957 958 typedef DWORD MCIERROR; 959 typedef UINT MCIDEVICEID; 960 typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD); 961 typedef UINT MMVERSION; 962 typedef UINT MMRESULT; 963 964 typedef struct mmtime_tag { 965 UINT wType; 966 union { 967 DWORD ms; 968 DWORD sample; 969 DWORD cb; 970 DWORD ticks; 971 struct { 972 BYTE hour; 973 BYTE min; 974 BYTE sec; 975 BYTE frame; 976 BYTE fps; 977 BYTE dummy; 978 BYTE pad[2]; 979 } smpte; 980 struct { 981 DWORD songptrpos; 982 } midi; 983 } u; 984 } MMTIME,*PMMTIME,*LPMMTIME; 985 986 DECLARE_HANDLE(HDRVR); 987 988 typedef struct tagDRVCONFIGINFO { 989 DWORD dwDCISize; 990 LPCWSTR lpszDCISectionName; 991 LPCWSTR lpszDCIAliasName; 992 } DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO; 993 994 typedef struct DRVCONFIGINFOEX { 995 DWORD dwDCISize; 996 LPCWSTR lpszDCISectionName; 997 LPCWSTR lpszDCIAliasName; 998 DWORD dnDevNode; 999 } DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX; 1000 1001 typedef LRESULT (CALLBACK* DRIVERPROC)(DWORD_PTR,HDRVR,UINT,LPARAM,LPARAM); 1002 typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD); 1003 typedef DRVCALLBACK *LPDRVCALLBACK; 1004 typedef DRVCALLBACK *PDRVCALLBACK; 1005 DECLARE_HANDLE(HWAVE); 1006 DECLARE_HANDLE(HWAVEIN); 1007 DECLARE_HANDLE(HWAVEOUT); 1008 typedef HWAVEIN *LPHWAVEIN; 1009 typedef HWAVEOUT *LPHWAVEOUT; 1010 typedef DRVCALLBACK WAVECALLBACK; 1011 typedef WAVECALLBACK *LPWAVECALLBACK; 1012 1013 typedef struct wavehdr_tag { 1014 LPSTR lpData; 1015 DWORD dwBufferLength; 1016 DWORD dwBytesRecorded; 1017 DWORD_PTR dwUser; 1018 DWORD dwFlags; 1019 DWORD dwLoops; 1020 struct wavehdr_tag *lpNext; 1021 DWORD_PTR reserved; 1022 } WAVEHDR,*PWAVEHDR,*LPWAVEHDR; 1023 1024 typedef struct tagWAVEOUTCAPSA { 1025 WORD wMid; 1026 WORD wPid; 1027 MMVERSION vDriverVersion; 1028 CHAR szPname[MAXPNAMELEN]; 1029 DWORD dwFormats; 1030 WORD wChannels; 1031 WORD wReserved1; 1032 DWORD dwSupport; 1033 } WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA; 1034 1035 typedef struct tagWAVEOUTCAPSW { 1036 WORD wMid; 1037 WORD wPid; 1038 MMVERSION vDriverVersion; 1039 WCHAR szPname[MAXPNAMELEN]; 1040 DWORD dwFormats; 1041 WORD wChannels; 1042 WORD wReserved1; 1043 DWORD dwSupport; 1044 } WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW; 1045 1046 typedef struct tagWAVEINCAPSA { 1047 WORD wMid; 1048 WORD wPid; 1049 MMVERSION vDriverVersion; 1050 CHAR szPname[MAXPNAMELEN]; 1051 DWORD dwFormats; 1052 WORD wChannels; 1053 WORD wReserved1; 1054 } WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA; 1055 1056 typedef struct tagWAVEINCAPSW { 1057 WORD wMid; 1058 WORD wPid; 1059 MMVERSION vDriverVersion; 1060 WCHAR szPname[MAXPNAMELEN]; 1061 DWORD dwFormats; 1062 WORD wChannels; 1063 WORD wReserved1; 1064 } WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW; 1065 1066 typedef struct waveformat_tag { 1067 WORD wFormatTag; 1068 WORD nChannels; 1069 DWORD nSamplesPerSec; 1070 DWORD nAvgBytesPerSec; 1071 WORD nBlockAlign; 1072 } WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT; 1073 1074 typedef struct pcmwaveformat_tag { 1075 WAVEFORMAT wf; 1076 WORD wBitsPerSample; 1077 } PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT; 1078 1079 #ifndef _WAVEFORMATEX_ 1080 #define _WAVEFORMATEX_ 1081 typedef struct tWAVEFORMATEX { 1082 WORD wFormatTag; 1083 WORD nChannels; 1084 DWORD nSamplesPerSec; 1085 DWORD nAvgBytesPerSec; 1086 WORD nBlockAlign; 1087 WORD wBitsPerSample; 1088 WORD cbSize; 1089 } WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX; 1090 1091 typedef const struct tWAVEFORMATEX *LPCWAVEFORMATEX; 1092 #endif 1093 1094 DECLARE_HANDLE(HMIDI); 1095 DECLARE_HANDLE(HMIDIIN); 1096 DECLARE_HANDLE(HMIDIOUT); 1097 DECLARE_HANDLE(HMIDISTRM); 1098 1099 typedef HMIDI *LPHMIDI; 1100 typedef HMIDIIN *LPHMIDIIN; 1101 typedef HMIDIOUT *LPHMIDIOUT; 1102 typedef HMIDISTRM *LPHMIDISTRM; 1103 typedef DRVCALLBACK MIDICALLBACK; 1104 typedef MIDICALLBACK *LPMIDICALLBACK; 1105 typedef WORD PATCHARRAY[MIDIPATCHSIZE]; 1106 typedef WORD *LPPATCHARRAY; 1107 typedef WORD KEYARRAY[MIDIPATCHSIZE]; 1108 typedef WORD *LPKEYARRAY; 1109 1110 typedef struct tagMIDIOUTCAPSA { 1111 WORD wMid; 1112 WORD wPid; 1113 MMVERSION vDriverVersion; 1114 CHAR szPname[MAXPNAMELEN]; 1115 WORD wTechnology; 1116 WORD wVoices; 1117 WORD wNotes; 1118 WORD wChannelMask; 1119 DWORD dwSupport; 1120 } MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA; 1121 1122 typedef struct tagMIDIOUTCAPSW { 1123 WORD wMid; 1124 WORD wPid; 1125 MMVERSION vDriverVersion; 1126 WCHAR szPname[MAXPNAMELEN]; 1127 WORD wTechnology; 1128 WORD wVoices; 1129 WORD wNotes; 1130 WORD wChannelMask; 1131 DWORD dwSupport; 1132 } MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW; 1133 1134 typedef struct tagMIDIINCAPSA { 1135 WORD wMid; 1136 WORD wPid; 1137 MMVERSION vDriverVersion; 1138 CHAR szPname[MAXPNAMELEN]; 1139 DWORD dwSupport; 1140 } MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA; 1141 1142 typedef struct tagMIDIINCAPSW { 1143 WORD wMid; 1144 WORD wPid; 1145 MMVERSION vDriverVersion; 1146 WCHAR szPname[MAXPNAMELEN]; 1147 DWORD dwSupport; 1148 } MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW; 1149 1150 typedef struct midihdr_tag { 1151 LPSTR lpData; 1152 DWORD dwBufferLength; 1153 DWORD dwBytesRecorded; 1154 DWORD dwUser; 1155 DWORD dwFlags; 1156 struct midihdr_tag *lpNext; 1157 DWORD reserved; 1158 DWORD dwOffset; 1159 DWORD dwReserved[8]; 1160 } MIDIHDR,*PMIDIHDR,*LPMIDIHDR; 1161 1162 typedef struct midievent_tag { 1163 DWORD dwDeltaTime; 1164 DWORD dwStreamID; 1165 DWORD dwEvent; 1166 DWORD dwParms[1]; 1167 } MIDIEVENT; 1168 #ifdef _WINE 1169 typedef struct midievent_tag *LPMIDIEVENT; 1170 #endif 1171 1172 typedef struct midistrmbuffver_tag { 1173 DWORD dwVersion; 1174 DWORD dwMid; 1175 DWORD dwOEMVersion; 1176 } MIDISTRMBUFFVER; 1177 1178 typedef struct midiproptimediv_tag { 1179 DWORD cbStruct; 1180 DWORD dwTimeDiv; 1181 } MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV; 1182 1183 typedef struct midiproptempo_tag { 1184 DWORD cbStruct; 1185 DWORD dwTempo; 1186 } MIDIPROPTEMPO,*LPMIDIPROPTEMPO; 1187 1188 typedef struct tagAUXCAPSA { 1189 WORD wMid; 1190 WORD wPid; 1191 MMVERSION vDriverVersion; 1192 CHAR szPname[MAXPNAMELEN]; 1193 WORD wTechnology; 1194 WORD wReserved1; 1195 DWORD dwSupport; 1196 } AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA; 1197 1198 typedef struct tagAUXCAPSW { 1199 WORD wMid; 1200 WORD wPid; 1201 MMVERSION vDriverVersion; 1202 WCHAR szPname[MAXPNAMELEN]; 1203 WORD wTechnology; 1204 WORD wReserved1; 1205 DWORD dwSupport; 1206 } AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW; 1207 1208 DECLARE_HANDLE(HMIXEROBJ); 1209 typedef HMIXEROBJ *LPHMIXEROBJ; 1210 DECLARE_HANDLE(HMIXER); 1211 typedef HMIXER *LPHMIXER; 1212 1213 typedef struct tagMIXERCAPSA { 1214 WORD wMid; 1215 WORD wPid; 1216 MMVERSION vDriverVersion; 1217 CHAR szPname[MAXPNAMELEN]; 1218 DWORD fdwSupport; 1219 DWORD cDestinations; 1220 } MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA; 1221 1222 typedef struct tagMIXERCAPSW { 1223 WORD wMid; 1224 WORD wPid; 1225 MMVERSION vDriverVersion; 1226 WCHAR szPname[MAXPNAMELEN]; 1227 DWORD fdwSupport; 1228 DWORD cDestinations; 1229 } MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW; 1230 1231 typedef struct tagMIXERLINEA { 1232 DWORD cbStruct; 1233 DWORD dwDestination; 1234 DWORD dwSource; 1235 DWORD dwLineID; 1236 DWORD fdwLine; 1237 DWORD dwUser; 1238 DWORD dwComponentType; 1239 DWORD cChannels; 1240 DWORD cConnections; 1241 DWORD cControls; 1242 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1243 CHAR szName[MIXER_LONG_NAME_CHARS]; 1244 struct { 1245 DWORD dwType; 1246 DWORD dwDeviceID; 1247 WORD wMid; 1248 WORD wPid; 1249 MMVERSION vDriverVersion; 1250 CHAR szPname[MAXPNAMELEN]; 1251 } Target; 1252 } MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA; 1253 1254 typedef struct tagMIXERLINEW { 1255 DWORD cbStruct; 1256 DWORD dwDestination; 1257 DWORD dwSource; 1258 DWORD dwLineID; 1259 DWORD fdwLine; 1260 DWORD dwUser; 1261 DWORD dwComponentType; 1262 DWORD cChannels; 1263 DWORD cConnections; 1264 DWORD cControls; 1265 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1266 WCHAR szName[MIXER_LONG_NAME_CHARS]; 1267 struct { 1268 DWORD dwType; 1269 DWORD dwDeviceID; 1270 WORD wMid; 1271 WORD wPid; 1272 MMVERSION vDriverVersion; 1273 WCHAR szPname[MAXPNAMELEN]; 1274 } Target; 1275 } MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW; 1276 1277 typedef struct tagMIXERCONTROLA { 1278 DWORD cbStruct; 1279 DWORD dwControlID; 1280 DWORD dwControlType; 1281 DWORD fdwControl; 1282 DWORD cMultipleItems; 1283 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1284 CHAR szName[MIXER_LONG_NAME_CHARS]; 1285 union { 1286 _ANONYMOUS_STRUCT struct { 1287 LONG lMinimum; 1288 LONG lMaximum; 1289 }_STRUCT_NAME(s); 1290 _ANONYMOUS_STRUCT struct { 1291 DWORD dwMinimum; 1292 DWORD dwMaximum; 1293 }_STRUCT_NAME(s1); 1294 DWORD dwReserved[6]; 1295 } Bounds; 1296 union { 1297 DWORD cSteps; 1298 DWORD cbCustomData; 1299 DWORD dwReserved[6]; 1300 } Metrics; 1301 } MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA; 1302 1303 typedef struct tagMIXERCONTROLW { 1304 DWORD cbStruct; 1305 DWORD dwControlID; 1306 DWORD dwControlType; 1307 DWORD fdwControl; 1308 DWORD cMultipleItems; 1309 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1310 WCHAR szName[MIXER_LONG_NAME_CHARS]; 1311 union { 1312 _ANONYMOUS_STRUCT struct { 1313 LONG lMinimum; 1314 LONG lMaximum; 1315 }_STRUCT_NAME(s); 1316 _ANONYMOUS_STRUCT struct { 1317 DWORD dwMinimum; 1318 DWORD dwMaximum; 1319 }_STRUCT_NAME(s1); 1320 DWORD dwReserved[6]; 1321 } Bounds; 1322 union { 1323 DWORD cSteps; 1324 DWORD cbCustomData; 1325 DWORD dwReserved[6]; 1326 } Metrics; 1327 } MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW; 1328 1329 typedef struct tagMIXERLINECONTROLSA { 1330 DWORD cbStruct; 1331 DWORD dwLineID; 1332 _ANONYMOUS_UNION union { 1333 DWORD dwControlID; 1334 DWORD dwControlType; 1335 } DUMMYUNIONNAME; 1336 DWORD cControls; 1337 DWORD cbmxctrl; 1338 LPMIXERCONTROLA pamxctrl; 1339 } MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA; 1340 1341 typedef struct tagMIXERLINECONTROLSW { 1342 DWORD cbStruct; 1343 DWORD dwLineID; 1344 _ANONYMOUS_UNION union { 1345 DWORD dwControlID; 1346 DWORD dwControlType; 1347 } DUMMYUNIONNAME; 1348 DWORD cControls; 1349 DWORD cbmxctrl; 1350 LPMIXERCONTROLW pamxctrl; 1351 } MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW; 1352 1353 typedef struct tMIXERCONTROLDETAILS { 1354 DWORD cbStruct; 1355 DWORD dwControlID; 1356 DWORD cChannels; 1357 _ANONYMOUS_UNION union { 1358 HWND hwndOwner; 1359 DWORD cMultipleItems; 1360 } DUMMYUNIONNAME; 1361 DWORD cbDetails; 1362 PVOID paDetails; 1363 } MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS; 1364 1365 typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA { 1366 DWORD dwParam1; 1367 DWORD dwParam2; 1368 CHAR szName[MIXER_LONG_NAME_CHARS]; 1369 } MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA; 1370 1371 typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW { 1372 DWORD dwParam1; 1373 DWORD dwParam2; 1374 WCHAR szName[MIXER_LONG_NAME_CHARS]; 1375 } MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW; 1376 1377 typedef struct tMIXERCONTROLDETAILS_BOOLEAN { 1378 LONG fValue; 1379 } MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN; 1380 1381 typedef struct tMIXERCONTROLDETAILS_SIGNED { 1382 LONG lValue; 1383 } MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED; 1384 1385 typedef struct tMIXERCONTROLDETAILS_UNSIGNED { 1386 DWORD dwValue; 1387 } MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED; 1388 1389 typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD_PTR,DWORD_PTR,DWORD_PTR); 1390 1391 typedef TIMECALLBACK *LPTIMECALLBACK; 1392 1393 typedef struct timecaps_tag { 1394 UINT wPeriodMin; 1395 UINT wPeriodMax; 1396 } TIMECAPS,*PTIMECAPS,*LPTIMECAPS; 1397 1398 typedef struct tagJOYCAPSA { 1399 WORD wMid; 1400 WORD wPid; 1401 CHAR szPname[MAXPNAMELEN]; 1402 UINT wXmin; 1403 UINT wXmax; 1404 UINT wYmin; 1405 UINT wYmax; 1406 UINT wZmin; 1407 UINT wZmax; 1408 UINT wNumButtons; 1409 UINT wPeriodMin; 1410 UINT wPeriodMax; 1411 UINT wRmin; 1412 UINT wRmax; 1413 UINT wUmin; 1414 UINT wUmax; 1415 UINT wVmin; 1416 UINT wVmax; 1417 UINT wCaps; 1418 UINT wMaxAxes; 1419 UINT wNumAxes; 1420 UINT wMaxButtons; 1421 CHAR szRegKey[MAXPNAMELEN]; 1422 CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 1423 } JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA; 1424 1425 typedef struct tagJOYCAPSW { 1426 WORD wMid; 1427 WORD wPid; 1428 WCHAR szPname[MAXPNAMELEN]; 1429 UINT wXmin; 1430 UINT wXmax; 1431 UINT wYmin; 1432 UINT wYmax; 1433 UINT wZmin; 1434 UINT wZmax; 1435 UINT wNumButtons; 1436 UINT wPeriodMin; 1437 UINT wPeriodMax; 1438 UINT wRmin; 1439 UINT wRmax; 1440 UINT wUmin; 1441 UINT wUmax; 1442 UINT wVmin; 1443 UINT wVmax; 1444 UINT wCaps; 1445 UINT wMaxAxes; 1446 UINT wNumAxes; 1447 UINT wMaxButtons; 1448 WCHAR szRegKey[MAXPNAMELEN]; 1449 WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 1450 } JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW; 1451 1452 typedef struct joyinfo_tag { 1453 UINT wXpos; 1454 UINT wYpos; 1455 UINT wZpos; 1456 UINT wButtons; 1457 } JOYINFO,*PJOYINFO,*LPJOYINFO; 1458 1459 typedef struct joyinfoex_tag { 1460 DWORD dwSize; 1461 DWORD dwFlags; 1462 DWORD dwXpos; 1463 DWORD dwYpos; 1464 DWORD dwZpos; 1465 DWORD dwRpos; 1466 DWORD dwUpos; 1467 DWORD dwVpos; 1468 DWORD dwButtons; 1469 DWORD dwButtonNumber; 1470 DWORD dwPOV; 1471 DWORD dwReserved1; 1472 DWORD dwReserved2; 1473 } JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX; 1474 1475 typedef DWORD FOURCC; 1476 1477 typedef char *HPSTR; 1478 1479 DECLARE_HANDLE(HMMIO); 1480 1481 typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM); 1482 1483 typedef MMIOPROC *LPMMIOPROC; 1484 1485 typedef struct _MMIOINFO { 1486 DWORD dwFlags; 1487 FOURCC fccIOProc; 1488 LPMMIOPROC pIOProc; 1489 UINT wErrorRet; 1490 HTASK htask; 1491 LONG cchBuffer; 1492 HPSTR pchBuffer; 1493 HPSTR pchNext; 1494 HPSTR pchEndRead; 1495 HPSTR pchEndWrite; 1496 LONG lBufOffset; 1497 LONG lDiskOffset; 1498 DWORD adwInfo[3]; 1499 DWORD dwReserved1; 1500 DWORD dwReserved2; 1501 HMMIO hmmio; 1502 } MMIOINFO,*PMMIOINFO,*LPMMIOINFO; 1503 1504 typedef const MMIOINFO *LPCMMIOINFO; 1505 1506 typedef struct _MMCKINFO { 1507 FOURCC ckid; 1508 DWORD cksize; 1509 FOURCC fccType; 1510 DWORD dwDataOffset; 1511 DWORD dwFlags; 1512 } MMCKINFO,*PMMCKINFO,*LPMMCKINFO; 1513 1514 typedef const MMCKINFO *LPCMMCKINFO; 1515 1516 typedef struct tagMCI_GENERIC_PARMS { 1517 DWORD_PTR dwCallback; 1518 } MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS; 1519 1520 typedef struct tagMCI_OPEN_PARMSA { 1521 DWORD_PTR dwCallback; 1522 MCIDEVICEID wDeviceID; 1523 LPCSTR lpstrDeviceType; 1524 LPCSTR lpstrElementName; 1525 LPCSTR lpstrAlias; 1526 } MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA; 1527 1528 typedef struct tagMCI_OPEN_PARMSW { 1529 DWORD_PTR dwCallback; 1530 MCIDEVICEID wDeviceID; 1531 LPCWSTR lpstrDeviceType; 1532 LPCWSTR lpstrElementName; 1533 LPCWSTR lpstrAlias; 1534 } MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW; 1535 1536 typedef struct tagMCI_PLAY_PARMS { 1537 DWORD_PTR dwCallback; 1538 DWORD dwFrom; 1539 DWORD dwTo; 1540 } MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS; 1541 1542 typedef struct tagMCI_SEEK_PARMS { 1543 DWORD_PTR dwCallback; 1544 DWORD dwTo; 1545 } MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS; 1546 1547 #ifdef _WINE 1548 typedef struct tagMCI_SOUND_PARMSA { 1549 DWORD_PTR dwCallback; 1550 LPCSTR lpstrSoundName; 1551 } MCI_SOUND_PARMSA, *LPMCI_SOUND_PARMSA; 1552 1553 typedef struct tagMCI_SOUND_PARMSW { 1554 DWORD_PTR dwCallback; 1555 LPCWSTR lpstrSoundName; 1556 } MCI_SOUND_PARMSW, *LPMCI_SOUND_PARMSW; 1557 1558 #ifdef UNICODE 1559 typedef MCI_SOUND_PARMSW MCI_SOUND_PARMS; 1560 #else 1561 typedef MCI_SOUND_PARMSA MCI_SOUND_PARMS; 1562 #endif 1563 #endif 1564 1565 typedef struct tagMCI_STATUS_PARMS { 1566 DWORD_PTR dwCallback; 1567 DWORD_PTR dwReturn; 1568 DWORD dwItem; 1569 DWORD dwTrack; 1570 } MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS; 1571 1572 typedef struct tagMCI_INFO_PARMSA { 1573 DWORD_PTR dwCallback; 1574 LPSTR lpstrReturn; 1575 DWORD dwRetSize; 1576 } MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA; 1577 1578 typedef struct tagMCI_INFO_PARMSW { 1579 DWORD_PTR dwCallback; 1580 LPWSTR lpstrReturn; 1581 DWORD dwRetSize; 1582 } MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW; 1583 1584 typedef struct tagMCI_GETDEVCAPS_PARMS { 1585 DWORD_PTR dwCallback; 1586 DWORD dwReturn; 1587 DWORD dwItem; 1588 } MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS; 1589 1590 typedef struct tagMCI_SYSINFO_PARMSA { 1591 DWORD_PTR dwCallback; 1592 LPSTR lpstrReturn; 1593 DWORD dwRetSize; 1594 DWORD dwNumber; 1595 UINT wDeviceType; 1596 } MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA; 1597 1598 typedef struct tagMCI_SYSINFO_PARMSW { 1599 DWORD_PTR dwCallback; 1600 LPWSTR lpstrReturn; 1601 DWORD dwRetSize; 1602 DWORD dwNumber; 1603 UINT wDeviceType; 1604 } MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW; 1605 1606 typedef struct tagMCI_SET_PARMS { 1607 DWORD_PTR dwCallback; 1608 DWORD dwTimeFormat; 1609 DWORD dwAudio; 1610 } MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS; 1611 1612 typedef struct tagMCI_BREAK_PARMS { 1613 DWORD_PTR dwCallback; 1614 int nVirtKey; 1615 HWND hwndBreak; 1616 } MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS; 1617 1618 typedef struct tagMCI_SAVE_PARMSA { 1619 DWORD_PTR dwCallback; 1620 LPCSTR lpfilename; 1621 } MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA; 1622 1623 typedef struct tagMCI_SAVE_PARMSW { 1624 DWORD_PTR dwCallback; 1625 LPCWSTR lpfilename; 1626 } MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW; 1627 1628 typedef struct tagMCI_LOAD_PARMSA { 1629 DWORD_PTR dwCallback; 1630 LPCSTR lpfilename; 1631 } MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA; 1632 1633 typedef struct tagMCI_LOAD_PARMSW { 1634 DWORD_PTR dwCallback; 1635 LPCWSTR lpfilename; 1636 } MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW; 1637 1638 typedef struct tagMCI_RECORD_PARMS { 1639 DWORD_PTR dwCallback; 1640 DWORD dwFrom; 1641 DWORD dwTo; 1642 } MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS; 1643 1644 typedef struct tagMCI_VD_PLAY_PARMS { 1645 DWORD_PTR dwCallback; 1646 DWORD dwFrom; 1647 DWORD dwTo; 1648 DWORD dwSpeed; 1649 } MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS; 1650 1651 typedef struct tagMCI_VD_STEP_PARMS { 1652 DWORD_PTR dwCallback; 1653 DWORD dwFrames; 1654 } MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS; 1655 1656 typedef struct tagMCI_VD_ESCAPE_PARMSA { 1657 DWORD_PTR dwCallback; 1658 LPCSTR lpstrCommand; 1659 } MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA; 1660 1661 typedef struct tagMCI_VD_ESCAPE_PARMSW { 1662 DWORD_PTR dwCallback; 1663 LPCWSTR lpstrCommand; 1664 } MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW; 1665 1666 typedef struct tagMCI_WAVE_OPEN_PARMSA { 1667 DWORD_PTR dwCallback; 1668 MCIDEVICEID wDeviceID; 1669 LPCSTR lpstrDeviceType; 1670 LPCSTR lpstrElementName; 1671 LPCSTR lpstrAlias; 1672 DWORD dwBufferSeconds; 1673 } MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA; 1674 1675 typedef struct tagMCI_WAVE_OPEN_PARMSW { 1676 DWORD_PTR dwCallback; 1677 MCIDEVICEID wDeviceID; 1678 LPCWSTR lpstrDeviceType; 1679 LPCWSTR lpstrElementName; 1680 LPCWSTR lpstrAlias; 1681 DWORD dwBufferSeconds; 1682 } MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW; 1683 1684 typedef struct tagMCI_WAVE_DELETE_PARMS { 1685 DWORD_PTR dwCallback; 1686 DWORD dwFrom; 1687 DWORD dwTo; 1688 } MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS; 1689 1690 typedef struct tagMCI_WAVE_SET_PARMS { 1691 DWORD_PTR dwCallback; 1692 DWORD dwTimeFormat; 1693 DWORD dwAudio; 1694 UINT wInput; 1695 UINT wOutput; 1696 WORD wFormatTag; 1697 WORD wReserved2; 1698 WORD nChannels; 1699 WORD wReserved3; 1700 DWORD nSamplesPerSec; 1701 DWORD nAvgBytesPerSec; 1702 WORD nBlockAlign; 1703 WORD wReserved4; 1704 WORD wBitsPerSample; 1705 WORD wReserved5; 1706 } MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS; 1707 1708 typedef struct tagWAVEOUTCAPS2A { 1709 WORD wMid; 1710 WORD wPid; 1711 MMVERSION vDriverVersion; 1712 CHAR szPname[MAXPNAMELEN]; 1713 DWORD dwFormats; 1714 WORD wChannels; 1715 WORD wReserved1; 1716 DWORD dwSupport; 1717 GUID ManufacturerGuid; 1718 GUID ProductGuid; 1719 GUID NameGuid; 1720 } WAVEOUTCAPS2A, *LPWAVEOUTCAPS2A; 1721 1722 typedef struct tagWAVEOUTCAPS2W { 1723 WORD wMid; 1724 WORD wPid; 1725 MMVERSION vDriverVersion; 1726 WCHAR szPname[MAXPNAMELEN]; 1727 DWORD dwFormats; 1728 WORD wChannels; 1729 WORD wReserved1; 1730 DWORD dwSupport; 1731 GUID ManufacturerGuid; 1732 GUID ProductGuid; 1733 GUID NameGuid; 1734 } WAVEOUTCAPS2W, *LPWAVEOUTCAPS2W; 1735 1736 typedef struct tagWAVEINCAPS2A { 1737 WORD wMid; 1738 WORD wPid; 1739 MMVERSION vDriverVersion; 1740 CHAR szPname[MAXPNAMELEN]; 1741 DWORD dwFormats; 1742 WORD wChannels; 1743 WORD wReserved1; 1744 GUID ManufacturerGuid; 1745 GUID ProductGuid; 1746 GUID NameGuid; 1747 } WAVEINCAPS2A, *LPWAVEINCAPS2A; 1748 1749 typedef struct tagWAVEINCAPS2W { 1750 WORD wMid; 1751 WORD wPid; 1752 MMVERSION vDriverVersion; 1753 WCHAR szPname[MAXPNAMELEN]; 1754 DWORD dwFormats; 1755 WORD wChannels; 1756 WORD wReserved1; 1757 GUID ManufacturerGuid; 1758 GUID ProductGuid; 1759 GUID NameGuid; 1760 } WAVEINCAPS2W, *LPWAVEINCAPS2W; 1761 1762 typedef struct tagMIDIOUTCAPS2A { 1763 WORD wMid; 1764 WORD wPid; 1765 MMVERSION vDriverVersion; 1766 CHAR szPname[MAXPNAMELEN]; 1767 WORD wTechnology; 1768 WORD wVoices; 1769 WORD wNotes; 1770 WORD wChannelMask; 1771 DWORD dwSupport; 1772 GUID ManufacturerGuid; 1773 GUID ProductGuid; 1774 GUID NameGuid; 1775 } MIDIOUTCAPS2A, *LPMIDIOUTCAPS2A; 1776 1777 typedef struct tagMIDIOUTCAPS2W { 1778 WORD wMid; 1779 WORD wPid; 1780 MMVERSION vDriverVersion; 1781 WCHAR szPname[MAXPNAMELEN]; 1782 WORD wTechnology; 1783 WORD wVoices; 1784 WORD wNotes; 1785 WORD wChannelMask; 1786 DWORD dwSupport; 1787 GUID ManufacturerGuid; 1788 GUID ProductGuid; 1789 GUID NameGuid; 1790 } MIDIOUTCAPS2W, *LPMIDIOUTCAPS2W; 1791 1792 typedef struct tagMIDIINCAPS2A { 1793 WORD wMid; 1794 WORD wPid; 1795 MMVERSION vDriverVersion; 1796 CHAR szPname[MAXPNAMELEN]; 1797 DWORD dwSupport; 1798 GUID ManufacturerGuid; 1799 GUID ProductGuid; 1800 GUID NameGuid; 1801 } MIDIINCAPS2A, *LPMIDIINCAPS2A; 1802 1803 typedef struct tagMIDIINCAPS2W { 1804 WORD wMid; 1805 WORD wPid; 1806 MMVERSION vDriverVersion; 1807 WCHAR szPname[MAXPNAMELEN]; 1808 DWORD dwSupport; 1809 GUID ManufacturerGuid; 1810 GUID ProductGuid; 1811 GUID NameGuid; 1812 } MIDIINCAPS2W, *LPMIDIINCAPS2W; 1813 1814 typedef struct tagAUXCAPS2A { 1815 WORD wMid; 1816 WORD wPid; 1817 MMVERSION vDriverVersion; 1818 CHAR szPname[MAXPNAMELEN]; 1819 WORD wTechnology; 1820 WORD wReserved1; 1821 DWORD dwSupport; 1822 GUID ManufacturerGuid; 1823 GUID ProductGuid; 1824 GUID NameGuid; 1825 } AUXCAPS2A, *LPAUXCAPS2A; 1826 1827 typedef struct tagAUXCAPS2W { 1828 WORD wMid; 1829 WORD wPid; 1830 MMVERSION vDriverVersion; 1831 WCHAR szPname[MAXPNAMELEN]; 1832 WORD wTechnology; 1833 WORD wReserved1; 1834 DWORD dwSupport; 1835 GUID ManufacturerGuid; 1836 GUID ProductGuid; 1837 GUID NameGuid; 1838 } AUXCAPS2W, *LPAUXCAPS2W; 1839 1840 typedef struct tagMIXERCAPS2A { 1841 WORD wMid; 1842 WORD wPid; 1843 MMVERSION vDriverVersion; 1844 CHAR szPname[MAXPNAMELEN]; 1845 DWORD fdwSupport; 1846 DWORD cDestinations; 1847 GUID ManufacturerGuid; 1848 GUID ProductGuid; 1849 GUID NameGuid; 1850 } MIXERCAPS2A,*LPMIXERCAPS2A; 1851 1852 typedef struct tagMIXERCAPS2W { 1853 WORD wMid; 1854 WORD wPid; 1855 MMVERSION vDriverVersion; 1856 WCHAR szPname[MAXPNAMELEN]; 1857 DWORD fdwSupport; 1858 DWORD cDestinations; 1859 GUID ManufacturerGuid; 1860 GUID ProductGuid; 1861 GUID NameGuid; 1862 } MIXERCAPS2W,*LPMIXERCAPS2W; 1863 1864 typedef struct tagJOYCAPS2A { 1865 WORD wMid; 1866 WORD wPid; 1867 CHAR szPname[MAXPNAMELEN]; 1868 UINT wXmin; 1869 UINT wXmax; 1870 UINT wYmin; 1871 UINT wYmax; 1872 UINT wZmin; 1873 UINT wZmax; 1874 UINT wNumButtons; 1875 UINT wPeriodMin; 1876 UINT wPeriodMax; 1877 UINT wRmin; 1878 UINT wRmax; 1879 UINT wUmin; 1880 UINT wUmax; 1881 UINT wVmin; 1882 UINT wVmax; 1883 UINT wCaps; 1884 UINT wMaxAxes; 1885 UINT wNumAxes; 1886 UINT wMaxButtons; 1887 CHAR szRegKey[MAXPNAMELEN]; 1888 CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 1889 GUID ManufacturerGuid; 1890 GUID ProductGuid; 1891 GUID NameGuid; 1892 } JOYCAPS2A, *LPJOYCAPS2A; 1893 1894 typedef struct tagJOYCAPS2W { 1895 WORD wMid; 1896 WORD wPid; 1897 WCHAR szPname[MAXPNAMELEN]; 1898 UINT wXmin; 1899 UINT wXmax; 1900 UINT wYmin; 1901 UINT wYmax; 1902 UINT wZmin; 1903 UINT wZmax; 1904 UINT wNumButtons; 1905 UINT wPeriodMin; 1906 UINT wPeriodMax; 1907 UINT wRmin; 1908 UINT wRmax; 1909 UINT wUmin; 1910 UINT wUmax; 1911 UINT wVmin; 1912 UINT wVmax; 1913 UINT wCaps; 1914 UINT wMaxAxes; 1915 UINT wNumAxes; 1916 UINT wMaxButtons; 1917 WCHAR szRegKey[MAXPNAMELEN]; 1918 WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 1919 GUID ManufacturerGuid; 1920 GUID ProductGuid; 1921 GUID NameGuid; 1922 } JOYCAPS2W, *LPJOYCAPS2W; 1923 1924 LRESULT WINAPI CloseDriver(_In_ HDRVR, _In_ LPARAM, _In_ LPARAM); 1925 HDRVR WINAPI OpenDriver(_In_ LPCWSTR, _In_ LPCWSTR, _In_ LPARAM); 1926 LRESULT WINAPI SendDriverMessage(_In_ HDRVR, _In_ UINT, _In_ LPARAM, _In_ LPARAM); 1927 HMODULE WINAPI DrvGetModuleHandle(_In_ HDRVR); 1928 HMODULE WINAPI GetDriverModuleHandle(_In_ HDRVR); 1929 1930 LRESULT 1931 WINAPI 1932 DefDriverProc( 1933 _In_ DWORD_PTR, 1934 _In_ HDRVR, 1935 _In_ UINT, 1936 _In_ LPARAM, 1937 _In_ LPARAM); 1938 1939 UINT WINAPI mmsystemGetVersion(void); 1940 #define OutputDebugStr OutputDebugString 1941 BOOL WINAPI sndPlaySoundA(_In_opt_ LPCSTR, _In_ UINT); 1942 BOOL WINAPI sndPlaySoundW(_In_opt_ LPCWSTR, _In_ UINT); 1943 BOOL WINAPI PlaySoundA(_In_opt_ LPCSTR, _In_opt_ HMODULE, _In_ DWORD); 1944 BOOL WINAPI PlaySoundW(_In_opt_ LPCWSTR, _In_opt_ HMODULE, _In_ DWORD); 1945 UINT WINAPI waveOutGetNumDevs(void); 1946 MMRESULT WINAPI waveOutGetDevCapsA(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSA, _In_ UINT); 1947 MMRESULT WINAPI waveOutGetDevCapsW(_In_ UINT_PTR, _Out_ LPWAVEOUTCAPSW, _In_ UINT); 1948 MMRESULT WINAPI waveOutGetVolume(_In_opt_ HWAVEOUT, _Out_ PDWORD); 1949 MMRESULT WINAPI waveOutSetVolume(_In_opt_ HWAVEOUT, _In_ DWORD); 1950 1951 MMRESULT 1952 WINAPI 1953 waveOutGetErrorTextA( 1954 _In_ MMRESULT mmrError, 1955 _Out_writes_(cchText) LPSTR pszText, 1956 _In_ UINT cchText); 1957 1958 MMRESULT 1959 WINAPI 1960 waveOutGetErrorTextW( 1961 _In_ MMRESULT mmrError, 1962 _Out_writes_(cchText) LPWSTR pszText, 1963 _In_ UINT cchText); 1964 1965 MMRESULT 1966 WINAPI 1967 waveOutOpen( 1968 _Out_opt_ LPHWAVEOUT, 1969 _In_ UINT, 1970 _In_ LPCWAVEFORMATEX, 1971 _In_opt_ DWORD_PTR, 1972 _In_opt_ DWORD_PTR, 1973 _In_ DWORD); 1974 1975 MMRESULT WINAPI waveOutClose(_In_ HWAVEOUT); 1976 1977 MMRESULT 1978 WINAPI 1979 waveOutPrepareHeader( 1980 _In_ HWAVEOUT hwo, 1981 _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, 1982 _In_ UINT cbwh); 1983 1984 MMRESULT 1985 WINAPI 1986 waveOutUnprepareHeader( 1987 _In_ HWAVEOUT hwo, 1988 _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, 1989 _In_ UINT cbwh); 1990 1991 MMRESULT 1992 WINAPI 1993 waveOutWrite( 1994 _In_ HWAVEOUT hwo, 1995 _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, 1996 _In_ UINT cbwh); 1997 1998 MMRESULT WINAPI waveOutPause(_In_ HWAVEOUT); 1999 MMRESULT WINAPI waveOutRestart(_In_ HWAVEOUT); 2000 MMRESULT WINAPI waveOutReset(_In_ HWAVEOUT); 2001 MMRESULT WINAPI waveOutBreakLoop(_In_ HWAVEOUT); 2002 2003 MMRESULT 2004 WINAPI 2005 waveOutGetPosition( 2006 _In_ HWAVEOUT hwo, 2007 _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt, 2008 _In_ UINT cbmmt); 2009 2010 MMRESULT WINAPI waveOutGetPitch(_In_ HWAVEOUT, _Out_ PDWORD); 2011 MMRESULT WINAPI waveOutSetPitch(_In_ HWAVEOUT, _In_ DWORD); 2012 MMRESULT WINAPI waveOutGetPlaybackRate(_In_ HWAVEOUT, _Out_ PDWORD); 2013 MMRESULT WINAPI waveOutSetPlaybackRate(_In_ HWAVEOUT, _In_ DWORD); 2014 MMRESULT WINAPI waveOutGetID(_In_ HWAVEOUT, _Out_ LPUINT); 2015 2016 #if (WINVER >= 0x030a) 2017 #ifdef _WIN32 2018 MMRESULT WINAPI waveOutMessage(_In_opt_ HWAVEOUT, _In_ UINT, _In_ DWORD_PTR, _In_ DWORD_PTR); 2019 #else 2020 DWORD WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD); 2021 #endif 2022 #endif 2023 2024 UINT WINAPI waveInGetNumDevs(void); 2025 2026 MMRESULT 2027 WINAPI 2028 waveInGetDevCapsA( 2029 _In_ UINT_PTR uDeviceID, 2030 _Out_writes_bytes_(cbwic) LPWAVEINCAPSA pwic, 2031 _In_ UINT cbwic); 2032 2033 MMRESULT 2034 WINAPI 2035 waveInGetDevCapsW( 2036 _In_ UINT_PTR uDeviceID, 2037 _Out_writes_bytes_(cbwic) LPWAVEINCAPSW pwic, 2038 _In_ UINT cbwic); 2039 2040 MMRESULT 2041 WINAPI 2042 waveInGetErrorTextA( 2043 _In_ MMRESULT mmrError, 2044 _Out_writes_(cchText) LPSTR pszText, 2045 _In_ UINT cchText); 2046 2047 MMRESULT 2048 WINAPI 2049 waveInGetErrorTextW( 2050 _In_ MMRESULT mmrError, 2051 _Out_writes_(cchText) LPWSTR pszText, 2052 _In_ UINT cchText); 2053 2054 MMRESULT 2055 WINAPI 2056 waveInOpen( 2057 _Out_opt_ LPHWAVEIN, 2058 _In_ UINT, 2059 _In_ LPCWAVEFORMATEX, 2060 _In_opt_ DWORD_PTR, 2061 _In_opt_ DWORD_PTR, 2062 _In_ DWORD); 2063 2064 MMRESULT WINAPI waveInClose(_In_ HWAVEIN); 2065 2066 MMRESULT 2067 WINAPI 2068 waveInPrepareHeader( 2069 _In_ HWAVEIN hwi, 2070 _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, 2071 _In_ UINT cbwh); 2072 2073 MMRESULT 2074 WINAPI 2075 waveInUnprepareHeader( 2076 _In_ HWAVEIN hwi, 2077 _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, 2078 _In_ UINT cbwh); 2079 2080 MMRESULT 2081 WINAPI 2082 waveInAddBuffer( 2083 _In_ HWAVEIN hwi, 2084 _Inout_updates_bytes_(cbwh) LPWAVEHDR pwh, 2085 _In_ UINT cbwh); 2086 2087 MMRESULT WINAPI waveInStart(_In_ HWAVEIN); 2088 MMRESULT WINAPI waveInStop(_In_ HWAVEIN); 2089 MMRESULT WINAPI waveInReset(_In_ HWAVEIN); 2090 2091 MMRESULT 2092 WINAPI 2093 waveInGetPosition( 2094 _In_ HWAVEIN hwi, 2095 _Inout_updates_bytes_(cbmmt) LPMMTIME pmmt, 2096 _In_ UINT cbmmt); 2097 2098 MMRESULT WINAPI waveInGetID(_In_ HWAVEIN, _In_ LPUINT); 2099 2100 #if (WINVER >= 0x030a) 2101 #ifdef _WIN32 2102 MMRESULT WINAPI waveInMessage(_In_opt_ HWAVEIN, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR); 2103 #else 2104 DWORD WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD); 2105 #endif 2106 #endif 2107 UINT WINAPI midiOutGetNumDevs(void); 2108 2109 MMRESULT 2110 WINAPI 2111 midiStreamOpen( 2112 _Out_ LPHMIDISTRM phms, 2113 _Inout_updates_(cMidi) LPUINT puDeviceID, 2114 _In_ DWORD cMidi, 2115 _In_opt_ DWORD_PTR dwCallback, 2116 _In_opt_ DWORD_PTR dwInstance, 2117 _In_ DWORD fdwOpen); 2118 2119 MMRESULT WINAPI midiStreamClose(_In_ HMIDISTRM); 2120 2121 MMRESULT 2122 WINAPI 2123 midiStreamProperty( 2124 _In_ HMIDISTRM hms, 2125 _Inout_updates_bytes_(sizeof(DWORD) + sizeof(DWORD)) LPBYTE lppropdata, 2126 _In_ DWORD dwProperty); 2127 2128 MMRESULT 2129 WINAPI 2130 midiStreamPosition( 2131 _In_ HMIDISTRM hms, 2132 _Out_writes_bytes_(cbmmt) LPMMTIME lpmmt, 2133 _In_ UINT cbmmt); 2134 2135 MMRESULT 2136 WINAPI 2137 midiStreamOut( 2138 _In_ HMIDISTRM hms, 2139 _Out_writes_bytes_(cbmh) LPMIDIHDR pmh, 2140 _In_ UINT cbmh); 2141 2142 MMRESULT WINAPI midiStreamPause(_In_ HMIDISTRM); 2143 MMRESULT WINAPI midiStreamRestart(_In_ HMIDISTRM); 2144 MMRESULT WINAPI midiStreamStop(_In_ HMIDISTRM); 2145 MMRESULT WINAPI midiConnect(_In_ HMIDI, _In_ HMIDIOUT, _In_opt_ PVOID); 2146 MMRESULT WINAPI midiDisconnect(_In_ HMIDI, _In_ HMIDIOUT, _In_opt_ PVOID); 2147 2148 MMRESULT 2149 WINAPI 2150 midiOutGetDevCapsA( 2151 _In_ UINT_PTR uDeviceID, 2152 _Out_writes_bytes_(cbmoc) LPMIDIOUTCAPSA pmoc, 2153 _In_ UINT cbmoc); 2154 2155 MMRESULT 2156 WINAPI 2157 midiOutGetDevCapsW( 2158 _In_ UINT_PTR uDeviceID, 2159 _Out_writes_bytes_(cbmoc) LPMIDIOUTCAPSW pmoc, 2160 _In_ UINT cbmoc); 2161 2162 MMRESULT WINAPI midiOutGetVolume(_In_opt_ HMIDIOUT, _Out_ PDWORD); 2163 MMRESULT WINAPI midiOutSetVolume(_In_opt_ HMIDIOUT, _In_ DWORD); 2164 2165 MMRESULT 2166 WINAPI 2167 midiOutGetErrorTextA( 2168 _In_ MMRESULT mmrError, 2169 _Out_writes_(cchText) LPSTR pszText, 2170 _In_ UINT cchText); 2171 2172 MMRESULT 2173 WINAPI 2174 midiOutGetErrorTextW( 2175 _In_ MMRESULT mmrError, 2176 _Out_writes_(cchText) LPWSTR pszText, 2177 _In_ UINT cchText); 2178 2179 MMRESULT 2180 WINAPI 2181 midiOutOpen( 2182 _Out_ LPHMIDIOUT, 2183 _In_ UINT, 2184 _In_opt_ DWORD_PTR, 2185 _In_opt_ DWORD_PTR, 2186 _In_ DWORD); 2187 2188 MMRESULT WINAPI midiOutClose(_In_ HMIDIOUT); 2189 2190 MMRESULT 2191 WINAPI 2192 midiOutPrepareHeader( 2193 _In_ HMIDIOUT hmo, 2194 _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, 2195 _In_ UINT cbmh); 2196 2197 MMRESULT 2198 WINAPI 2199 midiOutUnprepareHeader( 2200 _In_ HMIDIOUT hmo, 2201 _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, 2202 _In_ UINT cbmh); 2203 2204 MMRESULT WINAPI midiOutShortMsg(_In_ HMIDIOUT, _In_ DWORD); 2205 2206 MMRESULT 2207 WINAPI 2208 midiOutLongMsg( 2209 _In_ HMIDIOUT hmo, 2210 _In_reads_bytes_(cbmh) LPMIDIHDR pmh, 2211 _In_ UINT cbmh); 2212 2213 MMRESULT WINAPI midiOutReset(_In_ HMIDIOUT); 2214 2215 MMRESULT 2216 WINAPI 2217 midiOutCachePatches( 2218 _In_ HMIDIOUT hmo, 2219 _In_ UINT uBank, 2220 _In_reads_(MIDIPATCHSIZE) LPWORD pwpa, 2221 _In_ UINT fuCache); 2222 2223 MMRESULT 2224 WINAPI 2225 midiOutCacheDrumPatches( 2226 _In_ HMIDIOUT hmo, 2227 _In_ UINT uPatch, 2228 _In_reads_(MIDIPATCHSIZE) LPWORD pwkya, 2229 _In_ UINT fuCache); 2230 2231 MMRESULT WINAPI midiOutGetID(_In_ HMIDIOUT, _Out_ LPUINT); 2232 2233 #if (WINVER >= 0x030a) 2234 #ifdef _WIN32 2235 MMRESULT WINAPI midiOutMessage(_In_opt_ HMIDIOUT, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR); 2236 #else 2237 DWORD WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD); 2238 #endif 2239 #endif 2240 2241 UINT WINAPI midiInGetNumDevs(void); 2242 2243 MMRESULT 2244 WINAPI 2245 midiInGetDevCapsA( 2246 _In_ UINT_PTR uDeviceID, 2247 _Out_writes_bytes_(cbmic) LPMIDIINCAPSA pmic, 2248 _In_ UINT cbmic); 2249 2250 MMRESULT 2251 WINAPI 2252 midiInGetDevCapsW( 2253 _In_ UINT_PTR uDeviceID, 2254 _Out_writes_bytes_(cbmic) LPMIDIINCAPSW pmic, 2255 _In_ UINT cbmic); 2256 2257 MMRESULT 2258 WINAPI 2259 midiInGetErrorTextA( 2260 _In_ MMRESULT mmrError, 2261 _Out_writes_(cchText) LPSTR pszText, 2262 _In_ UINT cchText); 2263 2264 MMRESULT 2265 WINAPI 2266 midiInGetErrorTextW( 2267 _In_ MMRESULT mmrError, 2268 _Out_writes_(cchText) LPWSTR pszText, 2269 _In_ UINT cchText); 2270 2271 MMRESULT 2272 WINAPI 2273 midiInOpen( 2274 _Out_ LPHMIDIIN, 2275 _In_ UINT, 2276 _In_opt_ DWORD_PTR, 2277 _In_opt_ DWORD_PTR, 2278 _In_ DWORD); 2279 2280 MMRESULT WINAPI midiInClose(_In_ HMIDIIN); 2281 2282 MMRESULT 2283 WINAPI 2284 midiInPrepareHeader( 2285 _In_ HMIDIIN hmi, 2286 _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, 2287 _In_ UINT cbmh); 2288 2289 MMRESULT 2290 WINAPI 2291 midiInUnprepareHeader( 2292 _In_ HMIDIIN hmi, 2293 _Inout_updates_bytes_(cbmh) LPMIDIHDR pmh, 2294 _In_ UINT cbmh); 2295 2296 MMRESULT 2297 WINAPI 2298 midiInAddBuffer( 2299 _In_ HMIDIIN hmi, 2300 _Out_writes_bytes_(cbmh) LPMIDIHDR pmh, 2301 _In_ UINT cbmh); 2302 2303 MMRESULT WINAPI midiInStart(_In_ HMIDIIN); 2304 MMRESULT WINAPI midiInStop(_In_ HMIDIIN); 2305 MMRESULT WINAPI midiInReset(_In_ HMIDIIN); 2306 MMRESULT WINAPI midiInGetID(_In_ HMIDIIN, _Out_ LPUINT); 2307 2308 #if (WINVER >= 0x030a) 2309 #ifdef _WIN32 2310 MMRESULT WINAPI midiInMessage(_In_opt_ HMIDIIN, _In_ UINT, _In_opt_ DWORD_PTR, _In_opt_ DWORD_PTR); 2311 #else 2312 DWORD WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD); 2313 #endif 2314 #endif 2315 2316 UINT WINAPI auxGetNumDevs(void); 2317 2318 MMRESULT 2319 WINAPI 2320 auxGetDevCapsA( 2321 _In_ UINT_PTR uDeviceID, 2322 _Out_writes_bytes_(cbac) LPAUXCAPSA pac, 2323 _In_ UINT cbac); 2324 2325 MMRESULT 2326 WINAPI 2327 auxGetDevCapsW( 2328 _In_ UINT_PTR uDeviceID, 2329 _Out_writes_bytes_(cbac) LPAUXCAPSW pac, 2330 _In_ UINT cbac); 2331 2332 MMRESULT WINAPI auxSetVolume(_In_ UINT, _In_ DWORD); 2333 MMRESULT WINAPI auxGetVolume(_In_ UINT, _Out_ PDWORD); 2334 2335 MMRESULT 2336 WINAPI 2337 auxOutMessage( 2338 _In_ UINT, 2339 _In_ UINT, 2340 _In_opt_ DWORD_PTR, 2341 _In_opt_ DWORD_PTR); 2342 2343 UINT WINAPI mixerGetNumDevs(void); 2344 2345 MMRESULT 2346 WINAPI 2347 mixerGetDevCapsA( 2348 _In_ UINT_PTR uMxId, 2349 _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSA pmxcaps, 2350 _In_ UINT cbmxcaps); 2351 2352 MMRESULT 2353 WINAPI 2354 mixerGetDevCapsW( 2355 _In_ UINT_PTR uMxId, 2356 _Out_writes_bytes_(cbmxcaps) LPMIXERCAPSW pmxcaps, 2357 _In_ UINT cbmxcaps); 2358 2359 MMRESULT 2360 WINAPI 2361 mixerOpen( 2362 _Out_opt_ LPHMIXER, 2363 _In_ UINT, 2364 _In_opt_ DWORD_PTR, 2365 _In_opt_ DWORD_PTR, 2366 _In_ DWORD); 2367 2368 MMRESULT WINAPI mixerClose(_In_ HMIXER); 2369 2370 DWORD 2371 WINAPI 2372 mixerMessage( 2373 _In_opt_ HMIXER, 2374 _In_ UINT, 2375 _In_opt_ DWORD_PTR, 2376 _In_opt_ DWORD_PTR); 2377 2378 MMRESULT 2379 WINAPI 2380 mixerGetLineInfoA( 2381 _In_opt_ HMIXEROBJ, 2382 _Inout_ LPMIXERLINEA, 2383 _In_ DWORD); 2384 2385 MMRESULT 2386 WINAPI 2387 mixerGetLineInfoW( 2388 _In_opt_ HMIXEROBJ, 2389 _Inout_ LPMIXERLINEW, 2390 _In_ DWORD); 2391 2392 MMRESULT WINAPI mixerGetID(_In_opt_ HMIXEROBJ, _Out_ PUINT, _In_ DWORD); 2393 2394 MMRESULT 2395 WINAPI 2396 mixerGetLineControlsA( 2397 _In_opt_ HMIXEROBJ, 2398 _Inout_ LPMIXERLINECONTROLSA, 2399 _In_ DWORD); 2400 2401 MMRESULT 2402 WINAPI 2403 mixerGetLineControlsW( 2404 _In_opt_ HMIXEROBJ, 2405 _Inout_ LPMIXERLINECONTROLSW, 2406 _In_ DWORD); 2407 2408 MMRESULT 2409 WINAPI 2410 mixerGetControlDetailsA( 2411 _In_opt_ HMIXEROBJ, 2412 _Inout_ LPMIXERCONTROLDETAILS, 2413 _In_ DWORD); 2414 2415 MMRESULT 2416 WINAPI 2417 mixerGetControlDetailsW( 2418 _In_opt_ HMIXEROBJ, 2419 _Inout_ LPMIXERCONTROLDETAILS, 2420 _In_ DWORD); 2421 2422 MMRESULT 2423 WINAPI 2424 mixerSetControlDetails( 2425 _In_opt_ HMIXEROBJ, 2426 _In_ LPMIXERCONTROLDETAILS, 2427 _In_ DWORD); 2428 2429 MMRESULT 2430 WINAPI 2431 timeGetSystemTime( 2432 _Out_writes_bytes_(cbmmt) LPMMTIME pmmt, 2433 _In_ UINT cbmmt); 2434 2435 DWORD WINAPI timeGetTime(void); 2436 2437 MMRESULT 2438 WINAPI 2439 timeSetEvent( 2440 _In_ UINT, 2441 _In_ UINT, 2442 _In_ LPTIMECALLBACK, 2443 _In_ DWORD_PTR, 2444 _In_ UINT); 2445 2446 MMRESULT WINAPI timeKillEvent(_In_ UINT); 2447 2448 MMRESULT 2449 WINAPI 2450 timeGetDevCaps( 2451 _Out_writes_bytes_(cbtc) LPTIMECAPS ptc, 2452 _In_ UINT cbtc); 2453 2454 MMRESULT WINAPI timeBeginPeriod(_In_ UINT); 2455 MMRESULT WINAPI timeEndPeriod(_In_ UINT); 2456 UINT WINAPI joyGetNumDevs(void); 2457 2458 MMRESULT 2459 WINAPI 2460 joyGetDevCapsA( 2461 _In_ UINT_PTR uJoyID, 2462 _Out_writes_bytes_(cbjc) LPJOYCAPSA pjc, 2463 _In_ UINT cbjc); 2464 2465 MMRESULT 2466 WINAPI 2467 joyGetDevCapsW( 2468 _In_ UINT_PTR uJoyID, 2469 _Out_writes_bytes_(cbjc) LPJOYCAPSW pjc, 2470 _In_ UINT cbjc); 2471 2472 MMRESULT WINAPI joyGetPos(_In_ UINT, _Out_ LPJOYINFO); 2473 MMRESULT WINAPI joyGetPosEx(_In_ UINT, _Out_ LPJOYINFOEX); 2474 MMRESULT WINAPI joyGetThreshold(_In_ UINT, _Out_ LPUINT); 2475 MMRESULT WINAPI joyReleaseCapture(_In_ UINT); 2476 MMRESULT WINAPI joySetCapture(_In_ HWND, _In_ UINT, _In_ UINT, _In_ BOOL); 2477 MMRESULT WINAPI joySetThreshold(_In_ UINT, _In_ UINT); 2478 FOURCC WINAPI mmioStringToFOURCCA(LPCSTR, _In_ UINT); 2479 FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR, _In_ UINT); 2480 2481 LPMMIOPROC 2482 WINAPI 2483 mmioInstallIOProcA( 2484 _In_ FOURCC, 2485 _In_opt_ LPMMIOPROC, 2486 _In_ DWORD); 2487 2488 LPMMIOPROC 2489 WINAPI 2490 mmioInstallIOProcW( 2491 _In_ FOURCC, 2492 _In_opt_ LPMMIOPROC, 2493 _In_ DWORD); 2494 2495 HMMIO 2496 WINAPI 2497 mmioOpenA( 2498 _Inout_updates_bytes_opt_(128) LPSTR pszFileName, 2499 _Inout_opt_ LPMMIOINFO pmmioinfo, 2500 _In_ DWORD fdwOpen); 2501 2502 HMMIO 2503 WINAPI 2504 mmioOpenW( 2505 _Inout_updates_bytes_opt_(128) LPWSTR pszFileName, 2506 _Inout_opt_ LPMMIOINFO pmmioinfo, 2507 _In_ DWORD fdwOpen); 2508 2509 MMRESULT 2510 WINAPI 2511 mmioRenameA( 2512 _In_ LPCSTR, 2513 _In_ LPCSTR, 2514 _In_opt_ LPCMMIOINFO, 2515 _In_ DWORD); 2516 2517 MMRESULT 2518 WINAPI 2519 mmioRenameW( 2520 _In_ LPCWSTR, 2521 _In_ LPCWSTR, 2522 _In_opt_ LPCMMIOINFO, 2523 _In_ DWORD); 2524 2525 MMRESULT WINAPI mmioClose(_In_ HMMIO, _In_ UINT); 2526 2527 LONG 2528 WINAPI 2529 mmioRead( 2530 _In_ HMMIO hmmio, 2531 _Out_writes_bytes_(cch) HPSTR pch, 2532 _In_ LONG cch); 2533 2534 LONG 2535 WINAPI 2536 mmioWrite( 2537 _In_ HMMIO hmmio, 2538 _In_reads_bytes_(cch) const char _huge * pch, 2539 _In_ LONG cch); 2540 2541 LONG WINAPI mmioSeek(_In_ HMMIO, _In_ LONG, _In_ int); 2542 MMRESULT WINAPI mmioGetInfo(_In_ HMMIO, _Out_ LPMMIOINFO, _In_ UINT); 2543 MMRESULT WINAPI mmioSetInfo(_In_ HMMIO, _In_ LPCMMIOINFO, _In_ UINT); 2544 2545 MMRESULT 2546 WINAPI 2547 mmioSetBuffer( 2548 _In_ HMMIO hmmio, 2549 _Out_writes_opt_(cchBuffer) LPSTR pchBuffer, 2550 _In_ LONG cchBuffer, 2551 _In_ UINT fuBuffer); 2552 2553 MMRESULT WINAPI mmioFlush(_In_ HMMIO, _In_ UINT); 2554 MMRESULT WINAPI mmioAdvance(_In_ HMMIO, _In_opt_ LPMMIOINFO, _In_ UINT); 2555 2556 LRESULT 2557 WINAPI 2558 mmioSendMessage( 2559 _In_ HMMIO, 2560 _In_ UINT, 2561 _In_opt_ LPARAM, 2562 _In_opt_ LPARAM); 2563 2564 MMRESULT 2565 WINAPI 2566 mmioDescend( 2567 _In_ HMMIO, 2568 _Inout_ LPMMCKINFO, 2569 _In_opt_ const MMCKINFO*, 2570 _In_ UINT); 2571 2572 MMRESULT WINAPI mmioAscend(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT); 2573 MMRESULT WINAPI mmioCreateChunk(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT); 2574 2575 MCIERROR 2576 WINAPI 2577 mciSendCommandA( 2578 _In_ MCIDEVICEID, 2579 _In_ UINT, 2580 _In_opt_ DWORD_PTR, 2581 _In_opt_ DWORD_PTR); 2582 2583 MCIERROR 2584 WINAPI 2585 mciSendCommandW( 2586 _In_ MCIDEVICEID, 2587 _In_ UINT, 2588 _In_opt_ DWORD_PTR, 2589 _In_opt_ DWORD_PTR); 2590 2591 MCIERROR 2592 WINAPI 2593 mciSendStringA( 2594 _In_ LPCSTR lpstrCommand, 2595 _Out_writes_opt_(uReturnLength) LPSTR lpstrReturnString, 2596 _In_ UINT uReturnLength, 2597 _In_opt_ HWND hwndCallback); 2598 2599 MCIERROR 2600 WINAPI 2601 mciSendStringW( 2602 _In_ LPCWSTR lpstrCommand, 2603 _Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString, 2604 _In_ UINT uReturnLength, 2605 _In_opt_ HWND hwndCallback); 2606 2607 MCIDEVICEID WINAPI mciGetDeviceIDA(_In_ LPCSTR); 2608 MCIDEVICEID WINAPI mciGetDeviceIDW(_In_ LPCWSTR); 2609 MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(_In_ DWORD, _In_ LPCSTR); 2610 MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(_In_ DWORD, _In_ LPCWSTR); 2611 2612 BOOL 2613 WINAPI 2614 mciGetErrorStringA( 2615 _In_ MCIERROR mcierr, 2616 _Out_writes_(cchText) LPSTR pszText, 2617 _In_ UINT cchText); 2618 2619 BOOL 2620 WINAPI 2621 mciGetErrorStringW( 2622 _In_ MCIERROR mcierr, 2623 _Out_writes_(cchText) LPWSTR pszText, 2624 _In_ UINT cchText); 2625 2626 BOOL WINAPI mciSetYieldProc(_In_ MCIDEVICEID, _In_opt_ YIELDPROC, _In_ DWORD); 2627 HTASK WINAPI mciGetCreatorTask(_In_ MCIDEVICEID); 2628 YIELDPROC WINAPI mciGetYieldProc(_In_ MCIDEVICEID, _In_ PDWORD); 2629 2630 #ifdef _WINE 2631 DWORD WINAPI GetDriverFlags(HDRVR hDriver); 2632 #endif 2633 2634 typedef struct tagMCI_SEQ_SET_PARMS { 2635 DWORD_PTR dwCallback; 2636 DWORD dwTimeFormat; 2637 DWORD dwAudio; 2638 DWORD dwTempo; 2639 DWORD dwPort; 2640 DWORD dwSlave; 2641 DWORD dwMaster; 2642 DWORD dwOffset; 2643 } MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS; 2644 typedef struct tagMCI_ANIM_OPEN_PARMSA { 2645 DWORD_PTR dwCallback; 2646 MCIDEVICEID wDeviceID; 2647 LPCSTR lpstrDeviceType; 2648 LPCSTR lpstrElementName; 2649 LPCSTR lpstrAlias; 2650 DWORD dwStyle; 2651 HWND hWndParent; 2652 } MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA; 2653 typedef struct tagMCI_ANIM_OPEN_PARMSW { 2654 DWORD_PTR dwCallback; 2655 MCIDEVICEID wDeviceID; 2656 LPCWSTR lpstrDeviceType; 2657 LPCWSTR lpstrElementName; 2658 LPCWSTR lpstrAlias; 2659 DWORD dwStyle; 2660 HWND hWndParent; 2661 } MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW; 2662 typedef struct tagMCI_ANIM_PLAY_PARMS { 2663 DWORD_PTR dwCallback; 2664 DWORD dwFrom; 2665 DWORD dwTo; 2666 DWORD dwSpeed; 2667 } MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS; 2668 typedef struct tagMCI_ANIM_STEP_PARMS { 2669 DWORD_PTR dwCallback; 2670 DWORD dwFrames; 2671 } MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS; 2672 typedef struct tagMCI_ANIM_WINDOW_PARMSA { 2673 DWORD_PTR dwCallback; 2674 HWND hWnd; 2675 UINT nCmdShow; 2676 LPCSTR lpstrText; 2677 } MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA; 2678 typedef struct tagMCI_ANIM_WINDOW_PARMSW { 2679 DWORD_PTR dwCallback; 2680 HWND hWnd; 2681 UINT nCmdShow; 2682 LPCWSTR lpstrText; 2683 } MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW; 2684 typedef struct tagMCI_ANIM_RECT_PARMS { 2685 DWORD_PTR dwCallback; 2686 #ifdef MCI_USE_OFFEXT 2687 POINT ptOffset; 2688 POINT ptExtent; 2689 #else 2690 RECT rc; 2691 #endif 2692 } MCI_ANIM_RECT_PARMS,*PMCI_ANIM_RECT_PARMS,*LPMCI_ANIM_RECT_PARMS; 2693 typedef struct tagMCI_ANIM_UPDATE_PARMS { 2694 DWORD_PTR dwCallback; 2695 RECT rc; 2696 HDC hDC; 2697 } MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS; 2698 typedef struct tagMCI_OVLY_OPEN_PARMSA { 2699 DWORD_PTR dwCallback; 2700 MCIDEVICEID wDeviceID; 2701 LPCSTR lpstrDeviceType; 2702 LPCSTR lpstrElementName; 2703 LPCSTR lpstrAlias; 2704 DWORD dwStyle; 2705 HWND hWndParent; 2706 } MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA; 2707 typedef struct tagMCI_OVLY_OPEN_PARMSW { 2708 DWORD_PTR dwCallback; 2709 MCIDEVICEID wDeviceID; 2710 LPCWSTR lpstrDeviceType; 2711 LPCWSTR lpstrElementName; 2712 LPCWSTR lpstrAlias; 2713 DWORD dwStyle; 2714 HWND hWndParent; 2715 } MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW; 2716 typedef struct tagMCI_OVLY_WINDOW_PARMSA { 2717 DWORD_PTR dwCallback; 2718 HWND hWnd; 2719 UINT nCmdShow; 2720 LPCSTR lpstrText; 2721 } MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA; 2722 typedef struct tagMCI_OVLY_WINDOW_PARMSW { 2723 DWORD_PTR dwCallback; 2724 HWND hWnd; 2725 UINT nCmdShow; 2726 LPCWSTR lpstrText; 2727 } MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW; 2728 typedef struct tagMCI_OVLY_RECT_PARMS { 2729 DWORD_PTR dwCallback; 2730 #ifdef MCI_USE_OFFEXT 2731 POINT ptOffset; 2732 POINT ptExtent; 2733 #else 2734 RECT rc; 2735 #endif 2736 } MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS; 2737 typedef struct tagMCI_OVLY_SAVE_PARMSA { 2738 DWORD_PTR dwCallback; 2739 LPCSTR lpfilename; 2740 RECT rc; 2741 } MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA; 2742 typedef struct tagMCI_OVLY_SAVE_PARMSW { 2743 DWORD_PTR dwCallback; 2744 LPCWSTR lpfilename; 2745 RECT rc; 2746 } MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW; 2747 typedef struct tagMCI_OVLY_LOAD_PARMSA { 2748 DWORD_PTR dwCallback; 2749 LPCSTR lpfilename; 2750 RECT rc; 2751 } MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA; 2752 typedef struct tagMCI_OVLY_LOAD_PARMSW { 2753 DWORD_PTR dwCallback; 2754 LPCWSTR lpfilename; 2755 RECT rc; 2756 } MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW; 2757 2758 #ifdef UNICODE 2759 typedef WAVEOUTCAPSW WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS; 2760 typedef WAVEINCAPSW WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS; 2761 typedef MIDIOUTCAPSW MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS; 2762 typedef MIDIINCAPSW MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS; 2763 typedef AUXCAPSW AUXCAPS,*PAUXCAPS,*LPAUXCAPS; 2764 typedef MIXERCAPSW MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS; 2765 typedef MIXERLINEW MIXERLINE,*PMIXERLINE,*LPMIXERLINE; 2766 typedef MIXERCONTROLW MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL; 2767 typedef MIXERLINECONTROLSW MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS; 2768 typedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT; 2769 typedef JOYCAPSW JOYCAPS,*PJOYCAPS,*LPJOYCAPS; 2770 typedef MCI_OPEN_PARMSW MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS; 2771 typedef MCI_INFO_PARMSW MCI_INFO_PARMS,*LPMCI_INFO_PARMS; 2772 typedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS; 2773 typedef MCI_SAVE_PARMSW MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS; 2774 typedef MCI_LOAD_PARMSW MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS; 2775 typedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS; 2776 typedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS; 2777 typedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS; 2778 typedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS; 2779 typedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS; 2780 typedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS; 2781 typedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS; 2782 #define sndPlaySound sndPlaySoundW 2783 #define PlaySound PlaySoundW 2784 #define waveOutGetDevCaps waveOutGetDevCapsW 2785 #define waveOutGetErrorText waveOutGetErrorTextW 2786 #define waveInGetDevCaps waveInGetDevCapsW 2787 #define waveInGetErrorText waveInGetErrorTextW 2788 #define midiOutGetDevCaps midiOutGetDevCapsW 2789 #define midiOutGetErrorText midiOutGetErrorTextW 2790 #define midiInGetDevCaps midiInGetDevCapsW 2791 #define midiInGetErrorText midiInGetErrorTextW 2792 #define auxGetDevCaps auxGetDevCapsW 2793 #define mixerGetDevCaps mixerGetDevCapsW 2794 #define mixerGetLineInfo mixerGetLineInfoW 2795 #define mixerGetLineControls mixerGetLineControlsW 2796 #define mixerGetControlDetails mixerGetControlDetailsW 2797 #define joyGetDevCaps joyGetDevCapsW 2798 #define mmioInstallIOProc mmioInstallIOProcW 2799 #define mmioStringToFOURCC mmioStringToFOURCCW 2800 #define mmioOpen mmioOpenW 2801 #define mmioRename mmioRenameW 2802 #define mciSendCommand mciSendCommandW 2803 #define mciSendString mciSendStringW 2804 #define mciGetDeviceID mciGetDeviceIDW 2805 #define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDW 2806 #define mciGetErrorString mciGetErrorStringW 2807 #else 2808 typedef WAVEOUTCAPSA WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS; 2809 typedef WAVEINCAPSA WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS; 2810 typedef MIDIOUTCAPSA MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS; 2811 typedef MIDIINCAPSA MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS; 2812 typedef AUXCAPSA AUXCAPS,*PAUXCAPS,*LPAUXCAPS; 2813 typedef MIXERCAPSA MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS; 2814 typedef MIXERLINEA MIXERLINE,*PMIXERLINE,*LPMIXERLINE; 2815 typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL; 2816 typedef MIXERLINECONTROLSA MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS; 2817 typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT; 2818 typedef JOYCAPSA JOYCAPS,*PJOYCAPS,*LPJOYCAPS; 2819 typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS; 2820 typedef MCI_INFO_PARMSA MCI_INFO_PARMS,*LPMCI_INFO_PARMS; 2821 typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS; 2822 typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS; 2823 typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS; 2824 typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS; 2825 typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS; 2826 typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS; 2827 typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS; 2828 typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS; 2829 typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS; 2830 typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS; 2831 #define sndPlaySound sndPlaySoundA 2832 #define PlaySound PlaySoundA 2833 #define waveOutGetDevCaps waveOutGetDevCapsA 2834 #define waveOutGetErrorText waveOutGetErrorTextA 2835 #define waveInGetDevCaps waveInGetDevCapsA 2836 #define waveInGetErrorText waveInGetErrorTextA 2837 #define midiOutGetDevCaps midiOutGetDevCapsA 2838 #define midiOutGetErrorText midiOutGetErrorTextA 2839 #define midiInGetDevCaps midiInGetDevCapsA 2840 #define midiInGetErrorText midiInGetErrorTextA 2841 #define auxGetDevCaps auxGetDevCapsA 2842 #define mixerGetDevCaps mixerGetDevCapsA 2843 #define mixerGetLineInfo mixerGetLineInfoA 2844 #define mixerGetLineControls mixerGetLineControlsA 2845 #define mixerGetControlDetails mixerGetControlDetailsA 2846 #define joyGetDevCaps joyGetDevCapsA 2847 #define mmioInstallIOProc mmioInstallIOProcA 2848 #define mmioStringToFOURCC mmioStringToFOURCCA 2849 #define mmioOpen mmioOpenA 2850 #define mmioRename mmioRenameA 2851 #define mciSendCommand mciSendCommandA 2852 #define mciSendString mciSendStringA 2853 #define mciGetDeviceID mciGetDeviceIDA 2854 #define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDA 2855 #define mciGetErrorString mciGetErrorStringA 2856 #endif 2857 2858 #ifdef _MSC_VER 2859 #pragma warning(pop) 2860 #endif 2861 2862 #ifdef __cplusplus 2863 } 2864 #endif 2865 #pragma pack(pop) 2866 #endif 2867