Differences From Artifact [f5def972cae0b61c]:
- File
src/win32/mmsystem.d
- 2011-02-23 12:53:16 - part of checkin [c2b7a98c21] on branch trunk - Initial import (user: kinaba) [annotate]
To Artifact [e73903b559a6e2de]:
- File
src/win32/mmsystem.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
> 1 /***********************************************************************\
> 2 * mmsystem.d *
> 3 * *
> 4 * Windows API header module *
> 5 * *
> 6 * Translated from MinGW Windows headers *
> 7 * *
> 8 * Placed into public domain *
> 9 \***********************************************************************/
1 module win32.mmsystem; 10 module win32.mmsystem;
> 11 pragma(lib, "winmm.lib");
2 12
3 // Translated from Microsoft Platform SDK August 2001 Edition | 13 /* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define
4 // by Y.Tomino (demoonlit@inter7.jp) | 14 * compile-time constants, so they are implemented as templates.
> 15 */
5 16
6 import win32.winbase; | 17 private import win32.w32api, win32.windef, win32.winver;
7 18
8 // #ifndef _INC_MMSYSTEM <
9 // #define _INC_MMSYSTEM <
10 <
11 // #ifdef _WIN32 <
12 align(1): 19 align(1):
13 // #else <
> 20
14 // #ifndef RC_INVOKED | 21 const MAXPNAMELEN = 32;
15 // #... | 22 const MAXERRORLENGTH = 256;
16 // #endif | 23 const MAX_JOYSTICKOEMVXDNAME = 260;
17 // #endif <
18 | 24
> 25 const TIME_MS = 1;
19 // #ifdef __cplusplus | 26 const TIME_SAMPLES = 2;
20 // extern "C" { /* Assume C declarations for C++ */ | 27 const TIME_BYTES = 4;
21 // #endif /* __cplusplus */ | 28 const TIME_SMPTE = 8;
> 29 const TIME_MIDI = 16;
> 30 const TIME_TICKS = 32;
22 | 31
23 // #ifdef _WIN32 <
24 // #ifndef _WINMM_ <
25 // #define WINMMAPI DECLSPEC_IMPORT | 32 template MAKEFOURCC(char c0, char c1, char c2, char c3)
26 // #else <
> 33 {
27 // #... | 34 const DWORD MAKEFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24);
28 // #endif <
29 // #define _loadds <
> 35 }
> 36
30 // #define _huge | 37 template mmioFOURCC(char c0, char c1, char c2, char c3)
31 // #else <
> 38 {
32 // #... | 39 const DWORD mmioFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24);
33 // #endif <
34 | 40 }
35 // #ifdef _MAC <
36 // #... <
37 // #endif //_MAC <
38 | 41
> 42 enum {
> 43 MM_JOY1MOVE = 0x3A0,
> 44 MM_JOY2MOVE,
> 45 MM_JOY1ZMOVE,
39 enum : uint { MAXPNAMELEN = 32 } | 46 MM_JOY2ZMOVE, // = 0x3A3
40 enum : uint { MAXERRORLENGTH = 256 } | 47 MM_JOY1BUTTONDOWN = 0x3B5,
41 enum : uint { MAX_JOYSTICKOEMVXDNAME = 260 } | 48 MM_JOY2BUTTONDOWN,
> 49 MM_JOY1BUTTONUP,
> 50 MM_JOY2BUTTONUP,
> 51 MM_MCINOTIFY, // = 0x3B9
> 52 MM_WOM_OPEN = 0x3BB,
> 53 MM_WOM_CLOSE,
> 54 MM_WOM_DONE,
> 55 MM_WIM_OPEN,
> 56 MM_WIM_CLOSE,
> 57 MM_WIM_DATA,
> 58 MM_MIM_OPEN,
> 59 MM_MIM_CLOSE,
> 60 MM_MIM_DATA,
> 61 MM_MIM_LONGDATA,
> 62 MM_MIM_ERROR,
> 63 MM_MIM_LONGERROR,
> 64 MM_MOM_OPEN,
> 65 MM_MOM_CLOSE,
> 66 MM_MOM_DONE, // = 0x3C9
> 67 MM_DRVM_OPEN = 0x3D0,
> 68 MM_DRVM_CLOSE,
> 69 MM_DRVM_DATA,
> 70 MM_DRVM_ERROR,
> 71 MM_STREAM_OPEN,
> 72 MM_STREAM_CLOSE,
> 73 MM_STREAM_DONE,
> 74 MM_STREAM_ERROR, // = 0x3D7
> 75 MM_MOM_POSITIONCB = 0x3CA,
> 76 MM_MCISIGNAL,
> 77 MM_MIM_MOREDATA, // = 0x3CC
> 78 MM_MIXM_LINE_CHANGE = 0x3D0,
> 79 MM_MIXM_CONTROL_CHANGE = 0x3D1
42 | 80 }
> 81
> 82 const MMSYSERR_BASE = 0;
> 83 const WAVERR_BASE = 32;
> 84 const MIDIERR_BASE = 64;
> 85 const TIMERR_BASE = 96;
> 86 const JOYERR_BASE = 160;
> 87 const MCIERR_BASE = 256;
> 88 const MIXERR_BASE = 1024;
> 89 const MCI_STRING_OFFSET = 512;
> 90 const MCI_VD_OFFSET = 1024;
> 91 const MCI_CD_OFFSET = 1088;
> 92 const MCI_WAVE_OFFSET = 1152;
> 93 const MCI_SEQ_OFFSET = 1216;
> 94
> 95 enum {
> 96 MMSYSERR_NOERROR = 0,
> 97 MMSYSERR_ERROR = MMSYSERR_BASE+1,
> 98 MMSYSERR_BADDEVICEID,
> 99 MMSYSERR_NOTENABLED,
> 100 MMSYSERR_ALLOCATED,
> 101 MMSYSERR_INVALHANDLE,
> 102 MMSYSERR_NODRIVER,
> 103 MMSYSERR_NOMEM,
> 104 MMSYSERR_NOTSUPPORTED,
> 105 MMSYSERR_BADERRNUM,
> 106 MMSYSERR_INVALFLAG,
> 107 MMSYSERR_INVALPARAM,
> 108 MMSYSERR_HANDLEBUSY,
> 109 MMSYSERR_INVALIDALIAS,
> 110 MMSYSERR_BADDB,
> 111 MMSYSERR_KEYNOTFOUND,
> 112 MMSYSERR_READERROR,
> 113 MMSYSERR_WRITEERROR,
> 114 MMSYSERR_DELETEERROR,
> 115 MMSYSERR_VALNOTFOUND,
> 116 MMSYSERR_NODRIVERCB, // = MMSYSERR_BASE+20
> 117 MMSYSERR_LASTERROR = MMSYSERR_NODRIVERCB
> 118 }
> 119
> 120 enum {
> 121 DRV_LOAD = 1,
> 122 DRV_ENABLE,
> 123 DRV_OPEN,
> 124 DRV_CLOSE,
> 125 DRV_DISABLE,
> 126 DRV_FREE,
> 127 DRV_CONFIGURE,
> 128 DRV_QUERYCONFIGURE,
> 129 DRV_INSTALL,
> 130 DRV_REMOVE,
> 131 DRV_EXITSESSION,
> 132 DRV_POWER
> 133 }
> 134
> 135 const DRV_RESERVED = 0x800;
> 136 const DRV_USER = 0x4000;
> 137
> 138 const DRVCNF_CANCEL = 0;
> 139 const DRVCNF_OK = 1;
> 140 const DRVCNF_RESTART = 2;
> 141 const DRV_CANCEL = DRVCNF_CANCEL;
> 142 const DRV_OK = DRVCNF_OK;
> 143 const DRV_RESTART = DRVCNF_RESTART;
> 144 const DRV_MCI_FIRST = DRV_RESERVED;
> 145 const DRV_MCI_LAST = DRV_RESERVED + 0xFFF;
> 146
> 147 const CALLBACK_TYPEMASK = 0x70000;
> 148 const CALLBACK_NULL = 0;
> 149 const CALLBACK_WINDOW = 0x10000;
> 150 const CALLBACK_TASK = 0x20000;
> 151 const CALLBACK_FUNCTION = 0x30000;
> 152 const CALLBACK_THREAD = CALLBACK_TASK;
> 153 const CALLBACK_EVENT = 0x50000;
> 154
> 155 const SND_SYNC=0;
> 156 const SND_ASYNC=1;
> 157 const SND_NODEFAULT=2;
> 158 const SND_MEMORY=4;
> 159 const SND_LOOP=8;
> 160 const SND_NOSTOP=16;
> 161 const SND_NOWAIT=0x2000;
> 162 const SND_ALIAS=0x10000;
> 163 const SND_ALIAS_ID=0x110000;
> 164 const SND_FILENAME=0x20000;
> 165 const SND_RESOURCE=0x40004;
> 166 const SND_PURGE=0x40;
> 167 const SND_APPLICATION=0x80;
> 168 const SND_ALIAS_START=0;
> 169
> 170 template sndAlias(char c0, char c1)
> 171 {
> 172 const DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8);
> 173 }
> 174
> 175 const SND_ALIAS_SYSTEMASTERISK = sndAlias!('S','*');
> 176 const SND_ALIAS_SYSTEMQUESTION = sndAlias!('S','?');
> 177 const SND_ALIAS_SYSTEMHAND = sndAlias!('S','H');
> 178 const SND_ALIAS_SYSTEMEXIT = sndAlias!('S','E');
> 179 const SND_ALIAS_SYSTEMSTART = sndAlias!('S','S');
> 180 const SND_ALIAS_SYSTEMWELCOME = sndAlias!('S','W');
> 181 const SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S','!');
> 182 const SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S','D');
> 183
> 184 enum {
> 185 WAVERR_BADFORMAT = (WAVERR_BASE + 0),
> 186 WAVERR_STILLPLAYING,
> 187 WAVERR_UNPREPARED,
> 188 WAVERR_SYNC, // = WAVERR_BASE + 3;
> 189 WAVERR_LASTERROR = WAVERR_SYNC
> 190 }
> 191
> 192 const WOM_OPEN = MM_WOM_OPEN;
> 193 const WOM_CLOSE = MM_WOM_CLOSE;
> 194 const WOM_DONE = MM_WOM_DONE;
> 195 const WIM_OPEN = MM_WIM_OPEN;
> 196 const WIM_CLOSE = MM_WIM_CLOSE;
> 197 const WIM_DATA = MM_WIM_DATA;
> 198
> 199 const UINT WAVE_MAPPER= -1; // FIXME: This doesn't make sense!
> 200 const WAVE_FORMAT_QUERY=1;
> 201 const WAVE_ALLOWSYNC=2;
> 202 const WAVE_MAPPED=4;
> 203 const WAVE_FORMAT_DIRECT=8;
> 204 const WAVE_FORMAT_DIRECT_QUERY=(WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT);
> 205 const WHDR_DONE=1;
> 206 const WHDR_PREPARED=2;
> 207 const WHDR_BEGINLOOP=4;
> 208 const WHDR_ENDLOOP=8;
> 209 const WHDR_INQUEUE=16;
> 210
> 211 const WAVECAPS_PITCH=1;
> 212 const WAVECAPS_PLAYBACKRATE=2;
> 213 const WAVECAPS_VOLUME=4;
> 214 const WAVECAPS_LRVOLUME=8;
> 215 const WAVECAPS_SYNC=16;
> 216 const WAVECAPS_SAMPLEACCURATE=32;
> 217 const WAVECAPS_DIRECTSOUND=64;
> 218
> 219 const WAVE_INVALIDFORMAT=0;
> 220 const WAVE_FORMAT_1M08=1;
> 221 const WAVE_FORMAT_1S08=2;
> 222 const WAVE_FORMAT_1M16=4;
> 223 const WAVE_FORMAT_1S16=8;
> 224 const WAVE_FORMAT_2M08=16;
> 225 const WAVE_FORMAT_2S08=32;
> 226 const WAVE_FORMAT_2M16=64;
> 227 const WAVE_FORMAT_2S16=128;
> 228 const WAVE_FORMAT_4M08=256;
> 229 const WAVE_FORMAT_4S08=512;
> 230 const WAVE_FORMAT_4M16=1024;
> 231 const WAVE_FORMAT_4S16=2048;
> 232 const WAVE_FORMAT_PCM=1;
> 233
> 234 enum {
> 235 MIDIERR_UNPREPARED = MIDIERR_BASE,
> 236 MIDIERR_STILLPLAYING,
> 237 MIDIERR_NOMAP,
> 238 MIDIERR_NOTREADY,
> 239 MIDIERR_NODEVICE,
> 240 MIDIERR_INVALIDSETUP,
> 241 MIDIERR_BADOPENMODE,
> 242 MIDIERR_DONT_CONTINUE, // = MIDIERR_BASE+7
> 243 MIDIERR_LASTERROR = MIDIERR_DONT_CONTINUE
> 244 }
> 245
> 246 const MIDIPATCHSIZE=128;
> 247
> 248 const MIM_OPEN=MM_MIM_OPEN;
> 249 const MIM_CLOSE=MM_MIM_CLOSE;
> 250 const MIM_DATA=MM_MIM_DATA;
> 251 const MIM_LONGDATA=MM_MIM_LONGDATA;
> 252 const MIM_ERROR=MM_MIM_ERROR;
> 253 const MIM_LONGERROR=MM_MIM_LONGERROR;
> 254 const MOM_OPEN=MM_MOM_OPEN;
> 255 const MOM_CLOSE=MM_MOM_CLOSE;
> 256 const MOM_DONE=MM_MOM_DONE;
> 257 const MIM_MOREDATA=MM_MIM_MOREDATA;
> 258 const MOM_POSITIONCB=MM_MOM_POSITIONCB;
> 259
> 260 const UINT MIDIMAPPER= -1; // FIXME: uint is nonsense for this!
> 261 const UINT MIDI_MAPPER= -1; // FIXME: uint is nonsense for this!
> 262 const MIDI_IO_STATUS=32;
> 263 const MIDI_CACHE_ALL=1;
> 264 const MIDI_CACHE_BESTFIT=2;
> 265 const MIDI_CACHE_QUERY=3;
> 266 const MIDI_UNCACHE=4;
> 267 const MOD_MIDIPORT=1;
> 268 const MOD_SYNTH=2;
> 269 const MOD_SQSYNTH=3;
> 270 const MOD_FMSYNTH=4;
> 271 const MOD_MAPPER=5;
> 272 const MIDICAPS_VOLUME=1;
> 273 const MIDICAPS_LRVOLUME=2;
> 274 const MIDICAPS_CACHE=4;
> 275 const MIDICAPS_STREAM=8;
> 276 const MHDR_DONE=1;
> 277 const MHDR_PREPARED=2;
> 278 const MHDR_INQUEUE=4;
> 279 const MHDR_ISSTRM=8;
> 280 const MEVT_F_SHORT=0;
> 281 const MEVT_F_LONG=0x80000000;
> 282 const MEVT_F_CALLBACK=0x40000000;
> 283
> 284 BYTE MEVT_EVENTTYPE(DWORD x) { return cast(BYTE)((x>>24) &0xFF); }
> 285 DWORD MEVT_EVENTPARM(DWORD x) { return x & 0xFFFFFF; }
> 286
> 287 const MEVT_SHORTMSG=0;
> 288 const MEVT_TEMPO=1;
> 289 const MEVT_NOP=2;
> 290
> 291 const BYTE MEVT_LONGMSG = 0x80;
> 292 const BYTE MEVT_COMMENT = 0x82;
> 293 const BYTE MEVT_VERSION = 0x84;
> 294
> 295 const MIDISTRM_ERROR = -2;
> 296
> 297 const MIDIPROP_SET = 0x80000000;
> 298 const MIDIPROP_GET = 0x40000000;
> 299 const MIDIPROP_TIMEDIV = 1;
> 300 const MIDIPROP_TEMPO = 2;
> 301
> 302 const UINT AUX_MAPPER = -1;
> 303
> 304 const AUXCAPS_CDAUDIO=1;
> 305 const AUXCAPS_AUXIN=2;
> 306 const AUXCAPS_VOLUME=1;
> 307 const AUXCAPS_LRVOLUME=2;
> 308 const MIXER_SHORT_NAME_CHARS=16;
> 309 const MIXER_LONG_NAME_CHARS=64;
> 310 const MIXERR_INVALLINE=MIXERR_BASE;
> 311 const MIXERR_INVALCONTROL=(MIXERR_BASE+1);
> 312 const MIXERR_INVALVALUE=(MIXERR_BASE+2);
> 313 const MIXERR_LASTERROR=(MIXERR_BASE+2);
> 314
> 315 const MIXER_OBJECTF_HANDLE=0x80000000;
> 316 const MIXER_OBJECTF_MIXER=0;
> 317 const MIXER_OBJECTF_HMIXER=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER);
> 318 const MIXER_OBJECTF_WAVEOUT=0x10000000;
> 319 const MIXER_OBJECTF_HWAVEOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT);
> 320 const MIXER_OBJECTF_WAVEIN=0x20000000;
> 321 const MIXER_OBJECTF_HWAVEIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN);
> 322 const MIXER_OBJECTF_MIDIOUT=0x30000000;
> 323 const MIXER_OBJECTF_HMIDIOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT);
> 324 const MIXER_OBJECTF_MIDIIN=0x40000000;
> 325 const MIXER_OBJECTF_HMIDIIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN);
> 326 const MIXER_OBJECTF_AUX=0x50000000;
> 327
> 328 const MIXERLINE_LINEF_ACTIVE=1;
> 329 const MIXERLINE_LINEF_DISCONNECTED=0x8000;
> 330 const MIXERLINE_LINEF_SOURCE=0x80000000;
> 331
> 332 const MIXERLINE_COMPONENTTYPE_DST_FIRST=0;
> 333 const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED=MIXERLINE_COMPONENTTYPE_DST_FIRST;
> 334 const MIXERLINE_COMPONENTTYPE_DST_DIGITAL=(MIXERLINE_COMPONENTTYPE_DST_FIRST+1);
> 335 const MIXERLINE_COMPONENTTYPE_DST_LINE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+2);
> 336 const MIXERLINE_COMPONENTTYPE_DST_MONITOR=(MIXERLINE_COMPONENTTYPE_DST_FIRST+3);
> 337 const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS=(MIXERLINE_COMPONENTTYPE_DST_FIRST+4)
> 338 const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES=(MIXERLINE_COMPONENTTYPE_DST_FIRST+
> 339 const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+6
> 340 const MIXERLINE_COMPONENTTYPE_DST_WAVEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+7);
> 341 const MIXERLINE_COMPONENTTYPE_DST_VOICEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8);
> 342 const MIXERLINE_COMPONENTTYPE_DST_LAST=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8);
> 343 const MIXERLINE_COMPONENTTYPE_SRC_FIRST=0x1000;
> 344 const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED=MIXERLINE_COMPONENTTYPE_SRC_FIRST;
> 345 const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+1);
> 346 const MIXERLINE_COMPONENTTYPE_SRC_LINE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+2);
> 347 const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+
> 348 const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST
> 349 const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC=(MIXERLINE_COMPONENTTYPE_SRC_FIRST
> 350 const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+6
> 351 const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+7
> 352 const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+8);
> 353 const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+9
> 354 const MIXERLINE_COMPONENTTYPE_SRC_ANALOG=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10);
> 355 const MIXERLINE_COMPONENTTYPE_SRC_LAST=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10);
> 356
> 357 enum {
> 358 MIXERLINE_TARGETTYPE_UNDEFINED = 0,
> 359 MIXERLINE_TARGETTYPE_WAVEOUT,
> 360 MIXERLINE_TARGETTYPE_WAVEIN,
> 361 MIXERLINE_TARGETTYPE_MIDIOUT,
> 362 MIXERLINE_TARGETTYPE_MIDIIN,
> 363 MIXERLINE_TARGETTYPE_AUX // =5
> 364 }
> 365
> 366 const MIXER_GETLINEINFOF_DESTINATION=0;
> 367 const MIXER_GETLINEINFOF_SOURCE=1;
> 368 const MIXER_GETLINEINFOF_LINEID=2;
> 369 const MIXER_GETLINEINFOF_COMPONENTTYPE=3;
> 370 const MIXER_GETLINEINFOF_TARGETTYPE=4;
> 371 const MIXER_GETLINEINFOF_QUERYMASK=15;
> 372
> 373 const MIXERCONTROL_CONTROLF_UNIFORM=1;
> 374 const MIXERCONTROL_CONTROLF_MULTIPLE=2;
> 375 const MIXERCONTROL_CONTROLF_DISABLED=0x80000000;
> 376 const MIXERCONTROL_CT_CLASS_MASK=0xF0000000;
> 377 const MIXERCONTROL_CT_CLASS_CUSTOM=0;
> 378 const MIXERCONTROL_CT_CLASS_METER=0x10000000;
> 379 const MIXERCONTROL_CT_CLASS_SWITCH=0x20000000;
> 380 const MIXERCONTROL_CT_CLASS_NUMBER=0x30000000;
> 381 const MIXERCONTROL_CT_CLASS_SLIDER=0x40000000;
> 382 const MIXERCONTROL_CT_CLASS_FADER=0x50000000;
> 383 const MIXERCONTROL_CT_CLASS_TIME=0x60000000;
> 384 const MIXERCONTROL_CT_CLASS_LIST=0x70000000;
> 385 const MIXERCONTROL_CT_SUBCLASS_MASK=0xF000000;
> 386 const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN=0;
> 387 const MIXERCONTROL_CT_SC_SWITCH_BUTTON=0x1000000;
> 388 const MIXERCONTROL_CT_SC_METER_POLLED=0;
> 389 const MIXERCONTROL_CT_SC_TIME_MICROSECS=0;
> 390 const MIXERCONTROL_CT_SC_TIME_MILLISECS=0x1000000;
> 391 const MIXERCONTROL_CT_SC_LIST_SINGLE=0;
> 392 const MIXERCONTROL_CT_SC_LIST_MULTIPLE=0x1000000;
> 393 const MIXERCONTROL_CT_UNITS_MASK=0xFF0000;
> 394 const MIXERCONTROL_CT_UNITS_CUSTOM=0;
> 395 const MIXERCONTROL_CT_UNITS_BOOLEAN=0x10000;
> 396 const MIXERCONTROL_CT_UNITS_SIGNED=0x20000;
> 397 const MIXERCONTROL_CT_UNITS_UNSIGNED=0x30000;
> 398 const MIXERCONTROL_CT_UNITS_DECIBELS=0x40000;
> 399 const MIXERCONTROL_CT_UNITS_PERCENT=0x50000;
> 400
> 401 const MIXERCONTROL_CONTROLTYPE_CUSTOM=(MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL
> 402 const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCO
> 403 const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCON
> 404 const MIXERCONTROL_CONTROLTYPE_PEAKMETER=(MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1
> 405 const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERC
> 406 const MIXERCONTROL_CONTROLTYPE_BOOLEAN=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTRO
> 407 const MIXERCONTROL_CONTROLTYPE_ONOFF=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+1);
> 408 const MIXERCONTROL_CONTROLTYPE_MUTE=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+2);
> 409 const MIXERCONTROL_CONTROLTYPE_MONO=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+3);
> 410 const MIXERCONTROL_CONTROLTYPE_LOUDNESS=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+4);
> 411 const MIXERCONTROL_CONTROLTYPE_STEREOENH=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+5);
> 412 const MIXERCONTROL_CONTROLTYPE_BUTTON=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL
> 413 const MIXERCONTROL_CONTROLTYPE_DECIBELS=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTR
> 414 const MIXERCONTROL_CONTROLTYPE_SIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL
> 415 const MIXERCONTROL_CONTROLTYPE_UNSIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTR
> 416 const MIXERCONTROL_CONTROLTYPE_PERCENT=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTRO
> 417 const MIXERCONTROL_CONTROLTYPE_SLIDER=(MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL
> 418 const MIXERCONTROL_CONTROLTYPE_PAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+1);
> 419 const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+2);
> 420 const MIXERCONTROL_CONTROLTYPE_FADER=(MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_C
> 421 const MIXERCONTROL_CONTROLTYPE_VOLUME=(MIXERCONTROL_CONTROLTYPE_FADER+1);
> 422 const MIXERCONTROL_CONTROLTYPE_BASS=(MIXERCONTROL_CONTROLTYPE_FADER+2);
> 423 const MIXERCONTROL_CONTROLTYPE_TREBLE=(MIXERCONTROL_CONTROLTYPE_FADER+3);
> 424 const MIXERCONTROL_CONTROLTYPE_EQUALIZER=(MIXERCONTROL_CONTROLTYPE_FADER+4);
> 425 const MIXERCONTROL_CONTROLTYPE_SINGLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCON
> 426 const MIXERCONTROL_CONTROLTYPE_MUX=(MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1);
> 427 const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERC
> 428 const MIXERCONTROL_CONTROLTYPE_MIXER=(MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1)
> 429 const MIXERCONTROL_CONTROLTYPE_MICROTIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTRO
> 430 const MIXERCONTROL_CONTROLTYPE_MILLITIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTRO
> 431
> 432 const MIXER_GETLINECONTROLSF_ALL=0;
> 433 const MIXER_GETLINECONTROLSF_ONEBYID=1;
> 434 const MIXER_GETLINECONTROLSF_ONEBYTYPE=2;
> 435 const MIXER_GETLINECONTROLSF_QUERYMASK=15;
> 436 const MIXER_GETCONTROLDETAILSF_VALUE=0;
> 437 const MIXER_GETCONTROLDETAILSF_LISTTEXT=1;
> 438 const MIXER_GETCONTROLDETAILSF_QUERYMASK=15;
> 439 const MIXER_SETCONTROLDETAILSF_VALUE=0;
> 440 const MIXER_SETCONTROLDETAILSF_CUSTOM=1;
> 441 const MIXER_SETCONTROLDETAILSF_QUERYMASK=15;
> 442
> 443 const TIMERR_NOERROR=0;
> 444 const TIMERR_NOCANDO=(TIMERR_BASE+1);
> 445 const TIMERR_STRUCT=(TIMERR_BASE+33);
> 446 const TIME_ONESHOT=0;
> 447 const TIME_PERIODIC=1;
> 448 const TIME_CALLBACK_FUNCTION=0;
> 449 const TIME_CALLBACK_EVENT_SET=16;
> 450 const TIME_CALLBACK_EVENT_PULSE=32;
> 451
43 // #if (WINVER <= 0x0400) | 452 static if (WINVER >= 0x0501) {
44 // #ifndef MM_MICROSOFT <
45 // #... <
46 // #endif <
47 | 453
48 // #ifndef MM_MIDI_MAPPER <
> 454 const TIME_KILL_SYNCHRONOUS=0x0100;
> 455
> 456 }
> 457
> 458 const JOYERR_NOERROR = 0;
> 459 const JOYERR_PARMS=(JOYERR_BASE+5);
> 460 const JOYERR_NOCANDO=(JOYERR_BASE+6);
> 461 const JOYERR_UNPLUGGED=(JOYERR_BASE+7);
> 462
> 463 const JOY_BUTTON1=1;
> 464 const JOY_BUTTON2=2;
> 465 const JOY_BUTTON3=4;
> 466 const JOY_BUTTON4=8;
> 467 const JOY_BUTTON1CHG=256;
> 468 const JOY_BUTTON2CHG=512;
> 469 const JOY_BUTTON3CHG=1024;
> 470 const JOY_BUTTON4CHG=2048;
> 471 const JOY_BUTTON5=257;
> 472 const JOY_BUTTON6=513;
> 473 const JOY_BUTTON7=1025;
> 474 const JOY_BUTTON8=2049;
> 475 const JOY_BUTTON9=256;
> 476 const JOY_BUTTON10=512;
> 477 const JOY_BUTTON11=1024;
> 478 const JOY_BUTTON12=2048;
> 479 const JOY_BUTTON13=4096;
> 480 const JOY_BUTTON14=8192;
> 481 const JOY_BUTTON15=16384;
> 482 const JOY_BUTTON16=32768;
> 483 const JOY_BUTTON17=65536;
> 484 const JOY_BUTTON18=0x20000;
> 485 const JOY_BUTTON19=0x40000;
> 486 const JOY_BUTTON20=0x80000;
> 487 const JOY_BUTTON21=0x100000;
> 488 const JOY_BUTTON22=0x200000;
> 489 const JOY_BUTTON23=0x400000;
> 490 const JOY_BUTTON24=0x800000;
> 491 const JOY_BUTTON25=0x1000000;
> 492 const JOY_BUTTON26=0x2000000;
> 493 const JOY_BUTTON27=0x4000000;
> 494 const JOY_BUTTON28=0x8000000;
> 495 const JOY_BUTTON29=0x10000000;
> 496 const JOY_BUTTON30=0x20000000;
> 497 const JOY_BUTTON31=0x40000000;
> 498 const JOY_BUTTON32=0x80000000;
> 499
> 500 enum : DWORD {
> 501 JOY_POVCENTERED = -1,
> 502 JOY_POVFORWARD = 0,
> 503 JOY_POVBACKWARD = 18000,
> 504 JOY_POVLEFT = 27000,
> 505 JOY_POVRIGHT = 9000
> 506 }
> 507
> 508 const DWORD
> 509 JOY_RETURNX = 0x00000001,
> 510 JOY_RETURNY = 0x00000002,
> 511 JOY_RETURNZ = 0x00000004,
> 512 JOY_RETURNR = 0x00000008,
> 513 JOY_RETURNU = 0x00000010,
> 514 JOY_RETURNV = 0x00000020,
> 515 JOY_RETURNPOV = 0x00000040,
> 516 JOY_RETURNBUTTONS = 0x00000080,
> 517 JOY_RETURNRAWDATA = 0x00000100,
> 518 JOY_RETURNPOVCTS = 0x00000200,
> 519 JOY_RETURNCENTERED = 0x00000400,
> 520 JOY_USEDEADZONE = 0x00000800,
> 521 JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETUR
> 522 | JOY_RETURNU | JOY_RETURNV | JOY_RETURNPOV
> 523 | JOY_RETURNBUTTONS,
> 524 JOY_CAL_READALWAYS = 0x00010000,
> 525 JOY_CAL_READXYONLY = 0x00020000,
> 526 JOY_CAL_READ3 = 0x00040000,
> 527 JOY_CAL_READ4 = 0x00080000,
> 528 JOY_CAL_READXONLY = 0x00100000,
> 529 JOY_CAL_READYONLY = 0x00200000,
> 530 JOY_CAL_READ5 = 0x00400000,
> 531 JOY_CAL_READ6 = 0x00800000,
> 532 JOY_CAL_READZONLY = 0x01000000,
> 533 JOY_CAL_READRONLY = 0x02000000,
> 534 JOY_CAL_READUONLY = 0x04000000,
> 535 JOY_CAL_READVONLY = 0x08000000;
> 536
> 537 const JOYSTICKID1=0;
> 538 const JOYSTICKID2=1;
> 539
> 540 const JOYCAPS_HASZ=1;
> 541 const JOYCAPS_HASR=2;
> 542 const JOYCAPS_HASU=4;
> 543 const JOYCAPS_HASV=8;
> 544 const JOYCAPS_HASPOV=16;
> 545 const JOYCAPS_POV4DIR=32;
> 546 const JOYCAPS_POVCTS=64;
> 547
> 548 const MMIOERR_BASE=256;
> 549 const MMIOERR_FILENOTFOUND=(MMIOERR_BASE+1);
> 550 const MMIOERR_OUTOFMEMORY=(MMIOERR_BASE+2);
> 551 const MMIOERR_CANNOTOPEN=(MMIOERR_BASE+3);
> 552 const MMIOERR_CANNOTCLOSE=(MMIOERR_BASE+4);
> 553 const MMIOERR_CANNOTREAD=(MMIOERR_BASE+5);
> 554 const MMIOERR_CANNOTWRITE=(MMIOERR_BASE+6);
> 555 const MMIOERR_CANNOTSEEK=(MMIOERR_BASE+7);
> 556 const MMIOERR_CANNOTEXPAND=(MMIOERR_BASE+8);
> 557 const MMIOERR_CHUNKNOTFOUND=(MMIOERR_BASE+9);
> 558 const MMIOERR_UNBUFFERED=(MMIOERR_BASE+10);
> 559 const MMIOERR_PATHNOTFOUND=(MMIOERR_BASE+11);
> 560 const MMIOERR_ACCESSDENIED=(MMIOERR_BASE+12);
> 561 const MMIOERR_SHARINGVIOLATION=(MMIOERR_BASE+13);
> 562 const MMIOERR_NETWORKERROR=(MMIOERR_BASE+14);
> 563 const MMIOERR_TOOMANYOPENFILES=(MMIOERR_BASE+15);
> 564 const MMIOERR_INVALIDFILE=(MMIOERR_BASE+16);
> 565
> 566 const CFSEPCHAR='+';
> 567
> 568 const MMIO_RWMODE=3;
> 569 const MMIO_SHAREMODE=0x70;
> 570 const MMIO_CREATE=0x1000;
> 571 const MMIO_PARSE=256;
> 572 const MMIO_DELETE=512;
> 573 const MMIO_EXIST=0x4000;
> 574 const MMIO_ALLOCBUF=0x10000;
> 575 const MMIO_GETTEMP=0x20000;
> 576 const MMIO_DIRTY=0x10000000;
> 577 const MMIO_READ=0;
> 578 const MMIO_WRITE=1;
> 579 const MMIO_READWRITE=2;
> 580 const MMIO_COMPAT=0;
> 581 const MMIO_EXCLUSIVE=16;
> 582 const MMIO_DENYWRITE=32;
> 583 const MMIO_DENYREAD=0x30;
> 584 const MMIO_DENYNONE=64;
> 585 const MMIO_FHOPEN=16;
> 586 const MMIO_EMPTYBUF=16;
> 587 const MMIO_TOUPPER=16;
> 588 const MMIO_INSTALLPROC=0x10000;
> 589 const MMIO_GLOBALPROC=0x10000000;
> 590 const MMIO_REMOVEPROC=0x20000;
> 591 const MMIO_UNICODEPROC=0x1000000;
> 592 const MMIO_FINDPROC=0x40000;
> 593 const MMIO_FINDCHUNK=16;
> 594 const MMIO_FINDRIFF=32;
> 595 const MMIO_FINDLIST=64;
> 596 const MMIO_CREATERIFF=32;
> 597 const MMIO_CREATELIST=64;
> 598 const MMIOM_READ=MMIO_READ;
> 599 const MMIOM_WRITE=MMIO_WRITE;
> 600 const MMIOM_SEEK=2;
> 601 const MMIOM_OPEN=3;
> 602 const MMIOM_CLOSE=4;
> 603 const MMIOM_WRITEFLUSH=5;
> 604 const MMIOM_RENAME=6;
> 605 const MMIOM_USER=0x8000;
> 606
> 607 const FOURCC_RIFF = mmioFOURCC!('R', 'I', 'F', 'F');
> 608 const FOURCC_LIST = mmioFOURCC!('L', 'I', 'S', 'T');
> 609 const FOURCC_DOS = mmioFOURCC!('D', 'O', 'S', ' ');
> 610 const FOURCC_MEM = mmioFOURCC!('M', 'E', 'M', ' ');
> 611
> 612 const MMIO_DEFAULTBUFFER=8192;
> 613
> 614 enum {
> 615 MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1,
> 616 MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3,
> 617 MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5,
> 618 MCIERR_HARDWARE,
> 619 MCIERR_INVALID_DEVICE_NAME,
> 620 MCIERR_OUT_OF_MEMORY,
> 621 MCIERR_DEVICE_OPEN,
> 622 MCIERR_CANNOT_LOAD_DRIVER,
> 623 MCIERR_MISSING_COMMAND_STRING,
> 624 MCIERR_PARAM_OVERFLOW,
> 625 MCIERR_MISSING_STRING_ARGUMENT,
> 626 MCIERR_BAD_INTEGER,
> 627 MCIERR_PARSER_INTERNAL,
> 628 MCIERR_DRIVER_INTERNAL,
> 629 MCIERR_MISSING_PARAMETER,
> 630 MCIERR_UNSUPPORTED_FUNCTION,
> 631 MCIERR_FILE_NOT_FOUND,
> 632 MCIERR_DEVICE_NOT_READY,
> 633 MCIERR_INTERNAL,
> 634 MCIERR_DRIVER,
> 635 MCIERR_CANNOT_USE_ALL,
> 636 MCIERR_MULTIPLE,
> 637 MCIERR_EXTENSION_NOT_FOUND,
> 638 MCIERR_OUTOFRANGE, // = MCIERR_BASE+26
> 639 MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28,
> 640 MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30,
> 641 MCIERR_DEVICE_TYPE_REQUIRED,
> 642 MCIERR_DEVICE_LOCKED,
> 643 MCIERR_DUPLICATE_ALIAS,
> 644 MCIERR_BAD_CONSTANT,
> 645 MCIERR_MUST_USE_SHAREABLE,
> 646 MCIERR_MISSING_DEVICE_NAME,
> 647 MCIERR_BAD_TIME_FORMAT,
> 648 MCIERR_NO_CLOSING_QUOTE,
> 649 MCIERR_DUPLICATE_FLAGS,
> 650 MCIERR_INVALID_FILE,
> 651 MCIERR_NULL_PARAMETER_BLOCK,
> 652 MCIERR_UNNAMED_RESOURCE,
> 653 MCIERR_NEW_REQUIRES_ALIAS,
> 654 MCIERR_NOTIFY_ON_AUTO_OPEN,
> 655 MCIERR_NO_ELEMENT_ALLOWED,
> 656 MCIERR_NONAPPLICABLE_FUNCTION,
> 657 MCIERR_ILLEGAL_FOR_AUTO_OPEN,
> 658 MCIERR_FILENAME_REQUIRED,
> 659 MCIERR_EXTRA_CHARACTERS,
> 660 MCIERR_DEVICE_NOT_INSTALLED,
> 661 MCIERR_GET_CD,
> 662 MCIERR_SET_CD,
> 663 MCIERR_SET_DRIVE,
> 664 MCIERR_DEVICE_LENGTH,
> 665 MCIERR_DEVICE_ORD_LENGTH,
> 666 MCIERR_NO_INTEGER, // = MCIERR_BASE + 56
> 667 MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64,
> 668 MCIERR_WAVE_SETOUTPUTINUSE,
> 669 MCIERR_WAVE_INPUTSINUSE,
> 670 MCIERR_WAVE_SETINPUTINUSE,
> 671 MCIERR_WAVE_OUTPUTUNSPECIFIED,
> 672 MCIERR_WAVE_INPUTUNSPECIFIED,
> 673 MCIERR_WAVE_OUTPUTSUNSUITABLE,
> 674 MCIERR_WAVE_SETOUTPUTUNSUITABLE,
> 675 MCIERR_WAVE_INPUTSUNSUITABLE,
> 676 MCIERR_WAVE_SETINPUTUNSUITABLE, // = MCIERR_BASE + 73
> 677 MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80,
> 678 MCIERR_SEQ_PORT_INUSE,
> 679 MCIERR_SEQ_PORT_NONEXISTENT,
> 680 MCIERR_SEQ_PORT_MAPNODEVICE,
> 681 MCIERR_SEQ_PORT_MISCERROR,
> 682 MCIERR_SEQ_TIMER,
> 683 MCIERR_SEQ_PORTUNSPECIFIED,
> 684 MCIERR_SEQ_NOMIDIPRESENT, // = MCIERR_BASE + 87
> 685 MCIERR_NO_WINDOW = MCIERR_BASE + 90,
> 686 MCIERR_CREATEWINDOW,
> 687 MCIERR_FILE_READ,
> 688 MCIERR_FILE_WRITE,
> 689 MCIERR_NO_IDENTITY // = MCIERR_BASE + 94
> 690 }
> 691 const MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256;
> 692
> 693 const MCI_FIRST=DRV_MCI_FIRST;
> 694 const MCI_OPEN=0x803;
> 695 const MCI_CLOSE=0x804;
> 696 const MCI_ESCAPE=0x805;
> 697 const MCI_PLAY=0x806;
> 698 const MCI_SEEK=0x807;
> 699 const MCI_STOP=0x808;
> 700 const MCI_PAUSE=0x809;
> 701 const MCI_INFO=0x80A;
> 702 const MCI_GETDEVCAPS=0x80B;
> 703 const MCI_SPIN=0x80C;
> 704 const MCI_SET=0x80D;
> 705 const MCI_STEP=0x80E;
> 706 const MCI_RECORD=0x80F;
> 707 const MCI_SYSINFO=0x810;
> 708 const MCI_BREAK=0x811;
> 709 const MCI_SAVE=0x813;
> 710 const MCI_STATUS=0x814;
> 711 const MCI_CUE=0x830;
> 712 const MCI_REALIZE=0x840;
> 713 const MCI_WINDOW=0x841;
> 714 const MCI_PUT=0x842;
> 715 const MCI_WHERE=0x843;
> 716 const MCI_FREEZE=0x844;
> 717 const MCI_UNFREEZE=0x845;
> 718 const MCI_LOAD=0x850;
> 719 const MCI_CUT=0x851;
> 720 const MCI_COPY=0x852;
> 721 const MCI_PASTE=0x853;
> 722 const MCI_UPDATE=0x854;
> 723 const MCI_RESUME=0x855;
> 724 const MCI_DELETE=0x856;
> 725 const MCI_USER_MESSAGES=(DRV_MCI_FIRST+0x400);
> 726 const MCI_LAST=0xFFF;
> 727
> 728 const MCIDEVICEID MCI_ALL_DEVICE_ID = -1;
> 729
> 730 const MCI_DEVTYPE_VCR=513;
> 731 const MCI_DEVTYPE_VIDEODISC=514;
> 732 const MCI_DEVTYPE_OVERLAY=515;
> 733 const MCI_DEVTYPE_CD_AUDIO=516;
> 734 const MCI_DEVTYPE_DAT=517;
> 735 const MCI_DEVTYPE_SCANNER=518;
> 736 const MCI_DEVTYPE_ANIMATION=519;
> 737 const MCI_DEVTYPE_DIGITAL_VIDEO=520;
> 738 const MCI_DEVTYPE_OTHER=521;
> 739 const MCI_DEVTYPE_WAVEFORM_AUDIO=522;
> 740 const MCI_DEVTYPE_SEQUENCER=523;
> 741 const MCI_DEVTYPE_FIRST=MCI_DEVTYPE_VCR;
> 742 const MCI_DEVTYPE_LAST=MCI_DEVTYPE_SEQUENCER;
> 743 const MCI_DEVTYPE_FIRST_USER=0x1000;
> 744 const MCI_MODE_NOT_READY=(MCI_STRING_OFFSET+12);
> 745 const MCI_MODE_STOP=(MCI_STRING_OFFSET+13);
> 746 const MCI_MODE_PLAY=(MCI_STRING_OFFSET+14);
> 747 const MCI_MODE_RECORD=(MCI_STRING_OFFSET+15);
> 748 const MCI_MODE_SEEK=(MCI_STRING_OFFSET+16);
> 749 const MCI_MODE_PAUSE=(MCI_STRING_OFFSET+17);
> 750 const MCI_MODE_OPEN=(MCI_STRING_OFFSET+18);
> 751 const MCI_FORMAT_MILLISECONDS=0;
> 752 const MCI_FORMAT_HMS=1;
> 753 const MCI_FORMAT_MSF=2;
> 754 const MCI_FORMAT_FRAMES=3;
> 755 const MCI_FORMAT_SMPTE_24=4;
> 756 const MCI_FORMAT_SMPTE_25=5;
> 757 const MCI_FORMAT_SMPTE_30=6;
> 758 const MCI_FORMAT_SMPTE_30DROP=7;
> 759 const MCI_FORMAT_BYTES=8;
> 760 const MCI_FORMAT_SAMPLES=9;
> 761 const MCI_FORMAT_TMSF=10;
> 762
> 763
> 764
> 765
49 // #... | 766 // Macros
50 // #... <
51 // #... <
52 // #... <
53 // #... <
54 // #... <
55 // #... <
56 // #... <
57 // #... <
58 // #... <
59 // #... <
60 // #endif <
61 // #endif <
> 767 BYTE MCI_HMS_HOUR(DWORD t) { return cast(BYTE)(t); }
> 768 BYTE MCI_HMS_MINUTE(DWORD t) { return cast(BYTE)(t>>>8); }
> 769 BYTE MCI_HMS_SECOND(DWORD t) { return cast(BYTE)( t>>>16); }
> 770 DWORD MCI_MAKE_HMS(BYTE h, BYTE m, BYTE s) { return h |(m<<8)|(cast(DWORD)(s)<<1
> 771 DWORD MCI_MAKE_MSF(BYTE m, BYTE s, BYTE f) { return m |(s<<8)|(cast(DWORD)(f)<<1
> 772 DWORD MCI_MAKE_TMSF(BYTE t, BYTE m, BYTE s, BYTE f) {
> 773 return t |(m<<8)|(s<<16)|(cast(DWORD)(f)<< 24); }
62 | 774
63 // #ifdef _WIN32 <
> 775 BYTE MCI_MSF_MINUTE(DWORD t) { return cast(BYTE)(t); }
> 776 BYTE MCI_MSF_SECOND(DWORD t) { return cast(BYTE)(t >>> 8); }
> 777 BYTE MCI_MSF_FRAME(DWORD t) { return cast(BYTE)(t >>> 16); }
> 778
> 779 BYTE MCI_TMSF_TRACK(DWORD t) { return cast(BYTE)(t); }
> 780 BYTE MCI_TMSF_MINUTE(DWORD t) { return cast(BYTE)(t>>8); }
> 781 BYTE MCI_TMSF_SECOND(DWORD t) { return cast(BYTE)(t>>16); }
> 782 BYTE MCI_TMSF_FRAME(DWORD t) { return cast(BYTE)(t>>24); }
> 783
> 784
> 785 const MCI_NOTIFY_SUCCESSFUL=1;
> 786 const MCI_NOTIFY_SUPERSEDED=2;
> 787 const MCI_NOTIFY_ABORTED=4;
> 788 const MCI_NOTIFY_FAILURE=8;
> 789 const MCI_NOTIFY=1;
> 790 const MCI_WAIT=2;
> 791 const MCI_FROM=4;
> 792 const MCI_TO=8;
> 793 const MCI_TRACK=16;
> 794 const MCI_OPEN_SHAREABLE=256;
> 795 const MCI_OPEN_ELEMENT=512;
> 796 const MCI_OPEN_ALIAS=1024;
> 797 const MCI_OPEN_ELEMENT_ID=2048;
> 798 const MCI_OPEN_TYPE_ID=0x1000;
> 799 const MCI_OPEN_TYPE=0x2000;
> 800 const MCI_SEEK_TO_START=256;
> 801 const MCI_SEEK_TO_END=512;
> 802 const MCI_STATUS_ITEM=256;
> 803 const MCI_STATUS_START=512;
> 804 const MCI_STATUS_LENGTH=1;
> 805 const MCI_STATUS_POSITION=2;
> 806 const MCI_STATUS_NUMBER_OF_TRACKS=3;
> 807 const MCI_STATUS_MODE=4;
> 808 const MCI_STATUS_MEDIA_PRESENT=5;
> 809 const MCI_STATUS_TIME_FORMAT=6;
> 810 const MCI_STATUS_READY=7;
> 811 const MCI_STATUS_CURRENT_TRACK=8;
> 812 const MCI_INFO_PRODUCT=256;
> 813 const MCI_INFO_FILE=512;
> 814 const MCI_INFO_MEDIA_UPC=1024;
> 815 const MCI_INFO_MEDIA_IDENTITY=2048;
> 816 const MCI_INFO_NAME=0x1000;
> 817 const MCI_INFO_COPYRIGHT=0x2000;
> 818
> 819 const MCI_GETDEVCAPS_ITEM=256;
> 820 const MCI_GETDEVCAPS_CAN_RECORD=1;
> 821 const MCI_GETDEVCAPS_HAS_AUDIO=2;
> 822 const MCI_GETDEVCAPS_HAS_VIDEO=3;
> 823 const MCI_GETDEVCAPS_DEVICE_TYPE=4;
> 824 const MCI_GETDEVCAPS_USES_FILES=5;
> 825 const MCI_GETDEVCAPS_COMPOUND_DEVICE=6;
> 826 const MCI_GETDEVCAPS_CAN_EJECT=7;
> 827 const MCI_GETDEVCAPS_CAN_PLAY=8;
> 828 const MCI_GETDEVCAPS_CAN_SAVE=9;
> 829
> 830 const MCI_SYSINFO_QUANTITY=256;
> 831 const MCI_SYSINFO_OPEN=512;
> 832 const MCI_SYSINFO_NAME=1024;
> 833 const MCI_SYSINFO_INSTALLNAME=2048;
> 834 const MCI_SET_DOOR_OPEN=256;
> 835 const MCI_SET_DOOR_CLOSED=512;
> 836 const MCI_SET_TIME_FORMAT=1024;
> 837 const MCI_SET_AUDIO=2048;
> 838 const MCI_SET_VIDEO=0x1000;
> 839 const MCI_SET_ON=0x2000;
> 840 const MCI_SET_OFF=0x4000;
> 841
> 842 const MCI_SET_AUDIO_ALL=0;
> 843 const MCI_SET_AUDIO_LEFT=1;
> 844 const MCI_SET_AUDIO_RIGHT=2;
> 845
> 846 const MCI_BREAK_KEY=256;
> 847 const MCI_BREAK_HWND=512;
> 848 const MCI_BREAK_OFF=1024;
> 849
> 850 const MCI_RECORD_INSERT=256;
> 851 const MCI_RECORD_OVERWRITE=512;
> 852 const MCI_SAVE_FILE=256;
> 853 const MCI_LOAD_FILE=256;
> 854
> 855 const MCI_VD_MODE_PARK=(MCI_VD_OFFSET+1);
> 856 const MCI_VD_MEDIA_CLV=(MCI_VD_OFFSET+2);
> 857 const MCI_VD_MEDIA_CAV=(MCI_VD_OFFSET+3);
> 858 const MCI_VD_MEDIA_OTHER=(MCI_VD_OFFSET+4);
> 859
> 860 const MCI_VD_FORMAT_TRACK=0x4001;
> 861 const MCI_VD_PLAY_REVERSE=0x10000;
> 862 const MCI_VD_PLAY_FAST=0x20000;
> 863 const MCI_VD_PLAY_SPEED=0x40000;
> 864 const MCI_VD_PLAY_SCAN=0x80000;
> 865 const MCI_VD_PLAY_SLOW=0x100000;
> 866 const MCI_VD_SEEK_REVERSE=0x10000;
> 867 const MCI_VD_STATUS_SPEED=0x4002;
> 868 const MCI_VD_STATUS_FORWARD=0x4003;
> 869 const MCI_VD_STATUS_MEDIA_TYPE=0x4004;
> 870 const MCI_VD_STATUS_SIDE=0x4005;
> 871 const MCI_VD_STATUS_DISC_SIZE=0x4006;
> 872 const MCI_VD_GETDEVCAPS_CLV=0x10000;
> 873 const MCI_VD_GETDEVCAPS_CAV=0x20000;
> 874 const MCI_VD_SPIN_UP=0x10000;
> 875 const MCI_VD_SPIN_DOWN=0x20000;
> 876 const MCI_VD_GETDEVCAPS_CAN_REVERSE=0x4002;
> 877 const MCI_VD_GETDEVCAPS_FAST_RATE=0x4003;
> 878 const MCI_VD_GETDEVCAPS_SLOW_RATE=0x4004;
> 879 const MCI_VD_GETDEVCAPS_NORMAL_RATE=0x4005;
> 880 const MCI_VD_STEP_FRAMES=0x10000;
> 881 const MCI_VD_STEP_REVERSE=0x20000;
> 882 const MCI_VD_ESCAPE_STRING=256;
> 883
> 884 const MCI_CDA_STATUS_TYPE_TRACK=0x4001;
> 885 const MCI_CDA_TRACK_AUDIO=MCI_CD_OFFSET;
> 886 const MCI_CDA_TRACK_OTHER=(MCI_CD_OFFSET+1);
> 887
> 888 const MCI_WAVE_PCM=MCI_WAVE_OFFSET;
> 889 const MCI_WAVE_MAPPER=(MCI_WAVE_OFFSET+1);
> 890 const MCI_WAVE_OPEN_BUFFER=0x10000;
> 891 const MCI_WAVE_SET_FORMATTAG=0x10000;
> 892 const MCI_WAVE_SET_CHANNELS=0x20000;
> 893 const MCI_WAVE_SET_SAMPLESPERSEC=0x40000;
> 894 const MCI_WAVE_SET_AVGBYTESPERSEC=0x80000;
> 895 const MCI_WAVE_SET_BLOCKALIGN=0x100000;
> 896 const MCI_WAVE_SET_BITSPERSAMPLE=0x200000;
> 897 const MCI_WAVE_INPUT=0x400000;
> 898 const MCI_WAVE_OUTPUT=0x800000;
> 899 const MCI_WAVE_STATUS_FORMATTAG=0x4001;
> 900 const MCI_WAVE_STATUS_CHANNELS=0x4002;
> 901 const MCI_WAVE_STATUS_SAMPLESPERSEC=0x4003;
> 902 const MCI_WAVE_STATUS_AVGBYTESPERSEC=0x4004;
> 903 const MCI_WAVE_STATUS_BLOCKALIGN=0x4005;
> 904 const MCI_WAVE_STATUS_BITSPERSAMPLE=0x4006;
> 905 const MCI_WAVE_STATUS_LEVEL=0x4007;
> 906 const MCI_WAVE_SET_ANYINPUT=0x4000000;
> 907 const MCI_WAVE_SET_ANYOUTPUT=0x8000000;
> 908 const MCI_WAVE_GETDEVCAPS_INPUTS=0x4001;
> 909 const MCI_WAVE_GETDEVCAPS_OUTPUTS=0x4002;
> 910
> 911 const MCI_SEQ_DIV_PPQN=MCI_SEQ_OFFSET;
> 912 const MCI_SEQ_DIV_SMPTE_24=(MCI_SEQ_OFFSET+1);
> 913 const MCI_SEQ_DIV_SMPTE_25=(MCI_SEQ_OFFSET+2);
> 914 const MCI_SEQ_DIV_SMPTE_30DROP=(MCI_SEQ_OFFSET+3);
> 915 const MCI_SEQ_DIV_SMPTE_30=(MCI_SEQ_OFFSET+4);
> 916 const MCI_SEQ_FORMAT_SONGPTR=0x4001;
> 917 const MCI_SEQ_FILE=0x4002;
> 918 const MCI_SEQ_MIDI=0x4003;
> 919 const MCI_SEQ_SMPTE=0x4004;
> 920 const MCI_SEQ_NONE=65533;
> 921 const MCI_SEQ_MAPPER=65535;
> 922
> 923 const MCI_SEQ_STATUS_TEMPO=0x4002;
> 924 const MCI_SEQ_STATUS_PORT=0x4003;
> 925 const MCI_SEQ_STATUS_SLAVE=0x4007;
> 926 const MCI_SEQ_STATUS_MASTER=0x4008;
> 927 const MCI_SEQ_STATUS_OFFSET=0x4009;
> 928 const MCI_SEQ_STATUS_DIVTYPE=0x400A;
> 929 const MCI_SEQ_STATUS_NAME=0x400B;
> 930 const MCI_SEQ_STATUS_COPYRIGHT=0x400C;
> 931
> 932 const MCI_SEQ_SET_TEMPO=0x10000;
> 933 const MCI_SEQ_SET_PORT=0x20000;
> 934 const MCI_SEQ_SET_SLAVE=0x40000;
> 935 const MCI_SEQ_SET_MASTER=0x80000;
> 936 const MCI_SEQ_SET_OFFSET=0x1000000;
> 937
> 938 const MCI_ANIM_OPEN_WS=0x10000;
> 939 const MCI_ANIM_OPEN_PARENT=0x20000;
> 940 const MCI_ANIM_OPEN_NOSTATIC=0x40000;
> 941 const MCI_ANIM_PLAY_SPEED=0x10000;
> 942 const MCI_ANIM_PLAY_REVERSE=0x20000;
> 943 const MCI_ANIM_PLAY_FAST=0x40000;
> 944 const MCI_ANIM_PLAY_SLOW=0x80000;
> 945 const MCI_ANIM_PLAY_SCAN=0x100000;
> 946 const MCI_ANIM_STEP_REVERSE=0x10000;
> 947 const MCI_ANIM_STEP_FRAMES=0x20000;
> 948 const MCI_ANIM_STATUS_SPEED=0x4001;
> 949 const MCI_ANIM_STATUS_FORWARD=0x4002;
> 950 const MCI_ANIM_STATUS_HWND=0x4003;
> 951 const MCI_ANIM_STATUS_HPAL=0x4004;
> 952 const MCI_ANIM_STATUS_STRETCH=0x4005;
> 953 const MCI_ANIM_INFO_TEXT=0x10000;
> 954
> 955 const MCI_ANIM_GETDEVCAPS_CAN_REVERSE=0x4001;
> 956 const MCI_ANIM_GETDEVCAPS_FAST_RATE=0x4002;
> 957 const MCI_ANIM_GETDEVCAPS_SLOW_RATE=0x4003;
> 958 const MCI_ANIM_GETDEVCAPS_NORMAL_RATE=0x4004;
> 959 const MCI_ANIM_GETDEVCAPS_PALETTES=0x4006;
> 960 const MCI_ANIM_GETDEVCAPS_CAN_STRETCH=0x4007;
> 961 const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS=0x4008;
> 962
> 963 const MCI_ANIM_REALIZE_NORM=0x10000;
> 964 const MCI_ANIM_REALIZE_BKGD=0x20000;
> 965
> 966 const MCI_ANIM_WINDOW_HWND=0x10000;
> 967 const MCI_ANIM_WINDOW_STATE=0x40000;
> 968 const MCI_ANIM_WINDOW_TEXT=0x80000;
> 969 const MCI_ANIM_WINDOW_ENABLE_STRETCH=0x100000;
> 970 const MCI_ANIM_WINDOW_DISABLE_STRETCH=0x200000;
> 971 const MCI_ANIM_WINDOW_DEFAULT=0x0;
> 972
> 973 const MCI_ANIM_RECT=0x10000;
> 974 const MCI_ANIM_PUT_SOURCE=0x20000;
> 975 const MCI_ANIM_PUT_DESTINATION=0x40000;
> 976 const MCI_ANIM_WHERE_SOURCE=0x20000;
> 977 const MCI_ANIM_WHERE_DESTINATION=0x40000;
> 978 const MCI_ANIM_UPDATE_HDC=0x20000;
> 979
> 980 const MCI_OVLY_OPEN_WS=0x10000;
> 981 const MCI_OVLY_OPEN_PARENT=0x20000;
> 982 const MCI_OVLY_STATUS_HWND=0x4001;
> 983 const MCI_OVLY_STATUS_STRETCH=0x4002;
> 984 const MCI_OVLY_INFO_TEXT=0x10000;
> 985 const MCI_OVLY_GETDEVCAPS_CAN_STRETCH=0x4001;
> 986 const MCI_OVLY_GETDEVCAPS_CAN_FREEZE=0x4002;
> 987 const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS=0x4003;
> 988 const MCI_OVLY_WINDOW_HWND=0x10000;
> 989 const MCI_OVLY_WINDOW_STATE=0x40000;
> 990 const MCI_OVLY_WINDOW_TEXT=0x80000;
> 991 const MCI_OVLY_WINDOW_ENABLE_STRETCH=0x100000;
> 992 const MCI_OVLY_WINDOW_DISABLE_STRETCH=0x200000;
> 993 const MCI_OVLY_WINDOW_DEFAULT=0x0;
> 994 const MCI_OVLY_RECT=0x10000;
> 995 const MCI_OVLY_PUT_SOURCE=0x20000;
> 996 const MCI_OVLY_PUT_DESTINATION=0x40000;
> 997 const MCI_OVLY_PUT_FRAME=0x80000;
> 998 const MCI_OVLY_PUT_VIDEO=0x100000;
> 999 const MCI_OVLY_WHERE_SOURCE=0x20000;
> 1000 const MCI_OVLY_WHERE_DESTINATION=0x40000;
> 1001 const MCI_OVLY_WHERE_FRAME=0x80000;
> 1002 const MCI_OVLY_WHERE_VIDEO=0x100000;
> 1003
> 1004 const NEWTRANSPARENT=3;
> 1005 const QUERYROPSUPPORT=40;
> 1006 const SELECTDIB=41;
> 1007
> 1008 LONG DIBINDEX(WORD n) {
> 1009 return MAKELONG(n,0x10FF);
> 1010 }
> 1011 const CAPS1=94;
> 1012 const C1_TRANSPARENT=1;
> 1013
> 1014 const SEEK_SET=0;
> 1015 const SEEK_CUR=1;
> 1016 const SEEK_END=2;
> 1017
> 1018 alias DWORD MCIERROR;
> 1019 alias UINT MCIDEVICEID;
> 1020 alias UINT function (MCIDEVICEID,DWORD) YIELDPROC;
64 alias UINT MMVERSION; | 1021 alias UINT MMVERSION;
65 // #else <
66 // ... <
67 // #endif <
68 alias UINT MMRESULT; 1022 alias UINT MMRESULT;
69 1023
70 // #define _MMRESULT_ <
71 <
72 alias UINT* LPUINT; <
73 <
74 struct mmtime_tag { | 1024 struct MMTIME {
75 UINT wType; | 1025 UINT wType;
76 union { | 1026 union {
77 DWORD ms; | 1027 DWORD ms;
78 DWORD sample; | 1028 DWORD sample;
79 DWORD cb; | 1029 DWORD cb;
80 DWORD ticks; | 1030 DWORD ticks;
81 <
82 struct { | 1031 struct smpte {
83 BYTE hour; | 1032 BYTE hour;
84 BYTE min; | 1033 BYTE min;
85 BYTE sec; | 1034 BYTE sec;
86 BYTE frame; | 1035 BYTE frame;
87 BYTE fps; | 1036 BYTE fps;
88 BYTE dummy; | 1037 BYTE dummy;
89 // #ifdef _WIN32 <
90 BYTE pad[2]; | 1038 BYTE pad[2];
91 // #endif <
92 } | 1039 };
93 <
94 struct { | 1040 struct midi {
95 DWORD songptrpos; | 1041 DWORD songptrpos;
96 } | 1042 }
97 | 1043 }
98 } | 1044 }
99 <
100 } <
101 alias mmtime_tag MMTIME; <
102 alias mmtime_tag* PMMTIME; <
103 alias mmtime_tag* NPMMTIME; <
104 alias mmtime_tag* LPMMTIME; | 1045 alias MMTIME* PMMTIME, LPMMTIME;
105 | 1046
106 enum : uint { TIME_MS = 0x0001 } <
107 enum : uint { TIME_SAMPLES = 0x0002 } <
108 enum : uint { TIME_BYTES = 0x0004 } <
109 enum : uint { TIME_SMPTE = 0x0008 } <
110 enum : uint { TIME_MIDI = 0x0010 } <
111 enum : uint { TIME_TICKS = 0x0020 } <
> 1047 alias HANDLE HDRVR;
112 | 1048
113 uint MAKEFOURCC(ubyte ch0, ubyte ch1, ubyte ch2, ubyte ch3){ return ch0 | (ch1 < <
> 1049 struct DRVCONFIGINFO {
> 1050 DWORD dwDCISize;
> 1051 LPCWSTR lpszDCISectionName;
> 1052 LPCWSTR lpszDCIAliasName;
114 | 1053 }
115 enum : uint { MM_JOY1MOVE = 0x3A0 } <
116 enum : uint { MM_JOY2MOVE = 0x3A1 } <
117 enum : uint { MM_JOY1ZMOVE = 0x3A2 } <
118 enum : uint { MM_JOY2ZMOVE = 0x3A3 } <
119 enum : uint { MM_JOY1BUTTONDOWN = 0x3B5 } <
120 enum : uint { MM_JOY2BUTTONDOWN = 0x3B6 } <
121 enum : uint { MM_JOY1BUTTONUP = 0x3B7 } <
122 enum : uint { MM_JOY2BUTTONUP = 0x3B8 } <
> 1054 alias DRVCONFIGINFO * PDRVCONFIGINFO, LPDRVCONFIGINFO;
123 | 1055
124 enum : uint { MM_MCINOTIFY = 0x3B9 } <
125 <
126 enum : uint { MM_WOM_OPEN = 0x3BB } <
127 enum : uint { MM_WOM_CLOSE = 0x3BC } <
128 enum : uint { MM_WOM_DONE = 0x3BD } <
129 <
130 enum : uint { MM_WIM_OPEN = 0x3BE } <
131 enum : uint { MM_WIM_CLOSE = 0x3BF } <
132 enum : uint { MM_WIM_DATA = 0x3C0 } <
133 <
134 enum : uint { MM_MIM_OPEN = 0x3C1 } <
135 enum : uint { MM_MIM_CLOSE = 0x3C2 } <
136 enum : uint { MM_MIM_DATA = 0x3C3 } <
137 enum : uint { MM_MIM_LONGDATA = 0x3C4 } <
138 enum : uint { MM_MIM_ERROR = 0x3C5 } <
139 enum : uint { MM_MIM_LONGERROR = 0x3C6 } <
140 <
141 enum : uint { MM_MOM_OPEN = 0x3C7 } <
142 enum : uint { MM_MOM_CLOSE = 0x3C8 } <
143 enum : uint { MM_MOM_DONE = 0x3C9 } <
144 <
145 // #ifndef MM_DRVM_OPEN <
146 enum : uint { MM_DRVM_OPEN = 0x3D0 } <
147 enum : uint { MM_DRVM_CLOSE = 0x3D1 } <
148 enum : uint { MM_DRVM_DATA = 0x3D2 } <
149 enum : uint { MM_DRVM_ERROR = 0x3D3 } <
150 // #endif <
151 <
152 enum : uint { MM_STREAM_OPEN = 0x3D4 } <
153 enum : uint { MM_STREAM_CLOSE = 0x3D5 } <
154 enum : uint { MM_STREAM_DONE = 0x3D6 } <
155 enum : uint { MM_STREAM_ERROR = 0x3D7 } <
156 <
157 // #if(WINVER >= 0x0400) <
158 enum : uint { MM_MOM_POSITIONCB = 0x3CA } <
159 <
160 // #ifndef MM_MCISIGNAL <
161 enum : uint { MM_MCISIGNAL = 0x3CB } <
162 // #endif <
163 <
164 enum : uint { MM_MIM_MOREDATA = 0x3CC } <
165 <
166 // #endif /* WINVER >= 0x0400 */ <
167 enum : uint { MM_MIXM_LINE_CHANGE = 0x3D0 } <
168 enum : uint { MM_MIXM_CONTROL_CHANGE = 0x3D1 } <
169 <
170 enum : uint { MMSYSERR_BASE = 0 } <
171 enum : uint { WAVERR_BASE = 32 } <
172 enum : uint { MIDIERR_BASE = 64 } <
173 enum : uint { TIMERR_BASE = 96 } <
174 enum : uint { JOYERR_BASE = 160 } <
175 enum : uint { MCIERR_BASE = 256 } <
176 enum : uint { MIXERR_BASE = 1024 } <
177 <
178 enum : uint { MCI_STRING_OFFSET = 512 } <
179 enum : uint { MCI_VD_OFFSET = 1024 } <
180 enum : uint { MCI_CD_OFFSET = 1088 } <
181 enum : uint { MCI_WAVE_OFFSET = 1152 } <
182 enum : uint { MCI_SEQ_OFFSET = 1216 } <
183 <
184 enum : uint { MMSYSERR_NOERROR = 0 } <
185 enum : uint { MMSYSERR_ERROR = MMSYSERR_BASE + 1 } <
186 enum : uint { MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2 } <
187 enum : uint { MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3 } <
188 enum : uint { MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4 } <
189 enum : uint { MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5 } <
190 enum : uint { MMSYSERR_NODRIVER = MMSYSERR_BASE + 6 } <
191 enum : uint { MMSYSERR_NOMEM = MMSYSERR_BASE + 7 } <
192 enum : uint { MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8 } <
193 enum : uint { MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9 } <
194 enum : uint { MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10 } <
195 enum : uint { MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11 } <
196 enum : uint { MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12 } <
197 <
198 enum : uint { MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13 } <
199 enum : uint { MMSYSERR_BADDB = MMSYSERR_BASE + 14 } <
200 enum : uint { MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15 } <
201 enum : uint { MMSYSERR_READERROR = MMSYSERR_BASE + 16 } <
202 enum : uint { MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17 } <
203 enum : uint { MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18 } <
204 enum : uint { MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19 } <
205 enum : uint { MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20 } <
206 enum : uint { MMSYSERR_MOREDATA = MMSYSERR_BASE + 21 } <
207 enum : uint { MMSYSERR_LASTERROR = MMSYSERR_BASE + 21 } <
208 <
209 // #if (WINVER < 0x030a) || defined(_WIN32) <
210 alias void* HDRVR; <
211 // #endif /* ifdef WINVER < 0x030a */ <
212 <
213 // #ifndef MMNODRV <
214 <
215 // #ifdef _WIN32 <
216 struct DRVCONFIGINFOEX { 1056 struct DRVCONFIGINFOEX {
217 DWORD dwDCISize; | 1057 DWORD dwDCISize;
218 LPCWSTR lpszDCISectionName; | 1058 LPCWSTR lpszDCISectionName;
219 LPCWSTR lpszDCIAliasName; | 1059 LPCWSTR lpszDCIAliasName;
220 DWORD dnDevNode; | 1060 DWORD dnDevNode;
221 } | 1061 }
222 alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX; | 1062 alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX, LPDRVCONFIGINFOEX;
223 alias DRVCONFIGINFOEX* NPDRVCONFIGINFOEX; <
224 alias DRVCONFIGINFOEX* LPDRVCONFIGINFOEX; <
225 | 1063
226 // #else <
227 // ... <
228 // #endif <
229 <
230 // #if (WINVER < 0x030a) || defined(_WIN32) <
231 <
232 // #ifndef DRV_LOAD <
233 <
234 enum : uint { DRV_LOAD = 0x0001 } <
235 enum : uint { DRV_ENABLE = 0x0002 } <
236 enum : uint { DRV_OPEN = 0x0003 } <
237 enum : uint { DRV_CLOSE = 0x0004 } <
238 enum : uint { DRV_DISABLE = 0x0005 } <
239 enum : uint { DRV_FREE = 0x0006 } <
240 enum : uint { DRV_CONFIGURE = 0x0007 } <
241 enum : uint { DRV_QUERYCONFIGURE = 0x0008 } <
242 enum : uint { DRV_INSTALL = 0x0009 } <
243 enum : uint { DRV_REMOVE = 0x000A } <
244 enum : uint { DRV_EXITSESSION = 0x000B } <
245 enum : uint { DRV_POWER = 0x000F } <
246 enum : uint { DRV_RESERVED = 0x0800 } <
247 enum : uint { DRV_USER = 0x4000 } <
248 <
249 // #ifdef _WIN32 <
250 struct tagDRVCONFIGINFO { <
251 DWORD dwDCISize; <
252 LPCWSTR lpszDCISectionName; <
253 LPCWSTR lpszDCIAliasName; <
254 } <
255 alias tagDRVCONFIGINFO DRVCONFIGINFO; <
256 alias tagDRVCONFIGINFO* PDRVCONFIGINFO; <
257 alias tagDRVCONFIGINFO* NPDRVCONFIGINFO; <
258 alias tagDRVCONFIGINFO* LPDRVCONFIGINFO; <
259 <
260 // #else <
261 // ... <
262 // #endif <
263 <
264 enum : uint { DRVCNF_CANCEL = 0x0000 } <
265 enum : uint { DRVCNF_OK = 0x0001 } <
266 enum : uint { DRVCNF_RESTART = 0x0002 } <
267 <
268 // #ifdef _WIN32 <
269 <
270 extern(Windows) alias LRESULT function(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM) D <
271 <
272 extern(Windows) export LRESULT CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM <
273 extern(Windows) export HDRVR OpenDriver(LPCWSTR szDriverName, LPCWSTR szSectionN <
274 extern(Windows) export LRESULT SendDriverMessage(HDRVR hDriver, UINT message, LP <
275 extern(Windows) export HMODULE DrvGetModuleHandle(HDRVR hDriver); | 1064 extern(Windows):
276 extern(Windows) export HMODULE GetDriverModuleHandle(HDRVR hDriver); <
277 extern(Windows) export LRESULT DefDriverProc(DWORD_PTR dwDriverIdentifier, HDRVR <
278 // #else <
279 // ... <
280 // #... <
281 // #endif /* ifdef _WIN32 */ <
282 // #endif /* DRV_LOAD */ <
283 // #endif /* ifdef (WINVER < 0x030a) || defined(_WIN32) */ <
284 | 1065
285 // #if (WINVER >= 0x030a) <
> 1066 /+FIXME: I couldn't find these in MSDN.
> 1067 alias void function (HDRVR,UINT,DWORD,DWORD,DWORD) DRVCALLBACK;
> 1068 LRESULT DRIVERPROC (DWORD,HDRVR,UINT,LPARAM,LPARAM);
> 1069 alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK;
286 | 1070
287 alias DRVCNF_CANCEL DRV_CANCEL; <
288 alias DRVCNF_OK DRV_OK; | 1071 alias DRVCALLBACK WAVECALLBACK;
289 alias DRVCNF_RESTART DRV_RESTART; <
> 1072 alias WAVECALLBACK* LPWAVECALLBACK;
290 | 1073
291 // #endif /* ifdef WINVER >= 0x030a */ <
292 <
293 alias DRV_RESERVED DRV_MCI_FIRST; <
294 enum : uint { DRV_MCI_LAST = DRV_RESERVED + 0xFFF } <
295 <
296 // #endif /* ifndef MMNODRV */ <
297 <
298 enum : uint { CALLBACK_TYPEMASK = 0x00070000 } <
299 enum : uint { CALLBACK_NULL = 0x00000000 } <
300 enum : uint { CALLBACK_WINDOW = 0x00010000 } <
301 enum : uint { CALLBACK_TASK = 0x00020000 } <
302 enum : uint { CALLBACK_FUNCTION = 0x00030000 } <
303 // #ifdef _WIN32 <
304 enum : uint { CALLBACK_THREAD = CALLBACK_TASK } <
305 enum : uint { CALLBACK_EVENT = 0x00050000 } <
306 // #endif <
307 // typedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, <
308 <
309 extern(Windows) alias void function(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DW <
310 // #ifdef _WIN32 <
311 alias LPDRVCALLBACK PDRVCALLBACK; | 1074 alias DRVCALLBACK MIDICALLBACK;
312 // #endif <
> 1075 alias MIDICALLBACK* LPMIDICALLBACK;
313 | 1076
314 // #ifndef MMNOMMSYSTEM <
> 1077 +/
315 | 1078
316 // #if (WINVER <= 0x030A) <
317 // ... <
318 // #endif <
319 // #ifdef _WIN32 <
320 alias OutputDebugString OutputDebugStr; <
321 // #else <
322 // ... <
323 // #endif <
> 1079 alias HANDLE HWAVE;
> 1080 alias HANDLE HWAVEIN;
> 1081 alias HANDLE HWAVEOUT;
324 | 1082
325 // #endif /* ifndef MMNOMMSYSTEM */ <
326 <
327 // #ifndef MMNOSOUND <
328 <
329 // #ifdef _WIN32 <
330 <
331 extern(Windows) export BOOL sndPlaySoundA(LPCSTR pszSound, UINT fuSound); <
332 extern(Windows) export BOOL sndPlaySoundW(LPCWSTR pszSound, UINT fuSound); <
333 // #ifdef UNICODE <
334 alias sndPlaySoundW sndPlaySound; <
335 // #else <
336 // #... <
337 // #endif // !UNICODE <
338 <
339 // #else <
340 // ... <
341 // #endif <
342 <
343 enum : uint { SND_SYNC = 0x0000 } <
344 enum : uint { SND_ASYNC = 0x0001 } <
345 enum : uint { SND_NODEFAULT = 0x0002 } <
346 enum : uint { SND_MEMORY = 0x0004 } <
347 enum : uint { SND_LOOP = 0x0008 } <
348 enum : uint { SND_NOSTOP = 0x0010 } <
349 <
350 enum : uint { SND_NOWAIT = 0x00002000 } <
351 enum : uint { SND_ALIAS = 0x00010000 } <
352 enum : uint { SND_ALIAS_ID = 0x00110000 } <
353 enum : uint { SND_FILENAME = 0x00020000 } <
354 enum : uint { SND_RESOURCE = 0x00040004 } <
355 // #if(WINVER >= 0x0400) <
356 enum : uint { SND_PURGE = 0x0040 } <
357 enum : uint { SND_APPLICATION = 0x0080 } <
358 // #endif /* WINVER >= 0x0400 */ <
359 <
360 enum : uint { SND_ALIAS_START = 0 } <
361 <
362 // #ifdef _WIN32 <
363 // #define sndAlias(ch0, ch1) (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD)(B <
364 <
365 // #define SND_ALIAS_SYSTEMASTERISK sndAlias('S', '*') <
366 // #define SND_ALIAS_SYSTEMQUESTION sndAlias('S', '?') <
367 // #define SND_ALIAS_SYSTEMHAND sndAlias('S', 'H') <
368 // #define SND_ALIAS_SYSTEMEXIT sndAlias('S', 'E') <
369 // #define SND_ALIAS_SYSTEMSTART sndAlias('S', 'S') <
370 // #define SND_ALIAS_SYSTEMWELCOME sndAlias('S', 'W') <
371 // #define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S', '!') <
372 // #define SND_ALIAS_SYSTEMDEFAULT sndAlias('S', 'D') <
373 <
374 extern(Windows) export BOOL PlaySoundA(LPCSTR pszSound, HMODULE hmod, DWORD fdwS <
375 extern(Windows) export BOOL PlaySoundW(LPCWSTR pszSound, HMODULE hmod, DWORD fdw <
376 // #ifdef UNICODE <
377 alias PlaySoundW PlaySound; <
378 // #else <
379 // #... <
380 // #endif // !UNICODE <
381 <
382 // #else <
383 // ... <
384 // #endif <
385 <
386 // #endif /* ifndef MMNOSOUND */ <
387 <
388 // #ifndef MMNOWAVE <
389 <
390 enum : uint { WAVERR_BADFORMAT = WAVERR_BASE + 0 } <
391 enum : uint { WAVERR_STILLPLAYING = WAVERR_BASE + 1 } <
392 enum : uint { WAVERR_UNPREPARED = WAVERR_BASE + 2 } <
393 enum : uint { WAVERR_SYNC = WAVERR_BASE + 3 } <
394 enum : uint { WAVERR_LASTERROR = WAVERR_BASE + 3 } <
395 <
396 alias void* HWAVE; <
397 alias void* HWAVEIN; <
398 alias void* HWAVEOUT; <
399 alias HWAVEIN* LPHWAVEIN; 1083 alias HWAVEIN* LPHWAVEIN;
400 alias HWAVEOUT* LPHWAVEOUT; 1084 alias HWAVEOUT* LPHWAVEOUT;
401 // typedef DRVCALLBACK WAVECALLBACK; <
402 alias LPDRVCALLBACK LPWAVECALLBACK; <
403 | 1085
404 alias MM_WOM_OPEN WOM_OPEN; <
405 alias MM_WOM_CLOSE WOM_CLOSE; <
406 alias MM_WOM_DONE WOM_DONE; <
407 alias MM_WIM_OPEN WIM_OPEN; <
408 alias MM_WIM_CLOSE WIM_CLOSE; <
409 alias MM_WIM_DATA WIM_DATA; <
410 <
411 enum : uint { WAVE_MAPPER = cast(UINT)-1 } <
412 <
413 enum : uint { WAVE_FORMAT_QUERY = 0x0001 } <
414 enum : uint { WAVE_ALLOWSYNC = 0x0002 } <
415 // #if(WINVER >= 0x0400) <
416 enum : uint { WAVE_MAPPED = 0x0004 } <
417 enum : uint { WAVE_FORMAT_DIRECT = 0x0008 } <
418 enum : uint { WAVE_FORMAT_DIRECT_QUERY = WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT <
419 // #endif /* WINVER >= 0x0400 */ <
420 <
421 struct wavehdr_tag { | 1086 struct WAVEHDR {
422 LPSTR lpData; | 1087 LPSTR lpData;
423 DWORD dwBufferLength; | 1088 DWORD dwBufferLength;
424 DWORD dwBytesRecorded; | 1089 DWORD dwBytesRecorded;
425 DWORD_PTR dwUser; | 1090 DWORD dwUser;
426 DWORD dwFlags; | 1091 DWORD dwFlags;
427 DWORD dwLoops; | 1092 DWORD dwLoops;
428 wavehdr_tag *lpNext; | 1093 WAVEHDR *lpNext;
429 DWORD_PTR reserved; | 1094 DWORD reserved;
430 } | 1095 }
431 alias wavehdr_tag WAVEHDR; <
432 alias wavehdr_tag* PWAVEHDR; <
433 alias wavehdr_tag* NPWAVEHDR; <
434 alias wavehdr_tag* LPWAVEHDR; | 1096 alias WAVEHDR* PWAVEHDR, LPWAVEHDR;
435 | 1097
436 enum : uint { WHDR_DONE = 0x00000001 } <
437 enum : uint { WHDR_PREPARED = 0x00000002 } <
438 enum : uint { WHDR_BEGINLOOP = 0x00000004 } <
439 enum : uint { WHDR_ENDLOOP = 0x00000008 } <
440 enum : uint { WHDR_INQUEUE = 0x00000010 } <
441 <
442 // #ifdef _WIN32 <
443 <
444 struct tagWAVEOUTCAPSA { | 1098 struct WAVEOUTCAPSA {
445 WORD wMid; | 1099 WORD wMid;
446 WORD wPid; | 1100 WORD wPid;
447 MMVERSION vDriverVersion; | 1101 MMVERSION vDriverVersion;
448 CHAR szPname[MAXPNAMELEN]; | 1102 CHAR szPname[MAXPNAMELEN];
449 DWORD dwFormats; | 1103 DWORD dwFormats;
450 WORD wChannels; | 1104 WORD wChannels;
451 WORD wReserved1; | 1105 WORD wReserved1;
452 DWORD dwSupport; | 1106 DWORD dwSupport;
453 } | 1107 }
454 alias tagWAVEOUTCAPSA WAVEOUTCAPSA; <
455 alias tagWAVEOUTCAPSA* PWAVEOUTCAPSA; | 1108 alias WAVEOUTCAPSA* PWAVEOUTCAPSA, LPWAVEOUTCAPSA;
456 alias tagWAVEOUTCAPSA* NPWAVEOUTCAPSA; <
457 alias tagWAVEOUTCAPSA* LPWAVEOUTCAPSA; <
458 | 1109
459 struct tagWAVEOUTCAPSW { | 1110 struct WAVEOUTCAPSW {
460 WORD wMid; | 1111 WORD wMid;
461 WORD wPid; | 1112 WORD wPid;
462 MMVERSION vDriverVersion; | 1113 MMVERSION vDriverVersion;
463 WCHAR szPname[MAXPNAMELEN]; | 1114 WCHAR szPname[MAXPNAMELEN];
464 DWORD dwFormats; | 1115 DWORD dwFormats;
465 WORD wChannels; | 1116 WORD wChannels;
466 WORD wReserved1; | 1117 WORD wReserved1;
467 DWORD dwSupport; | 1118 DWORD dwSupport;
468 } | 1119 }
469 alias tagWAVEOUTCAPSW WAVEOUTCAPSW; <
470 alias tagWAVEOUTCAPSW* PWAVEOUTCAPSW; | 1120 alias WAVEOUTCAPSW* PWAVEOUTCAPSW, LPWAVEOUTCAPSW;
471 alias tagWAVEOUTCAPSW* NPWAVEOUTCAPSW; <
472 alias tagWAVEOUTCAPSW* LPWAVEOUTCAPSW; <
473 | 1121
474 // #ifdef UNICODE <
475 alias WAVEOUTCAPSW WAVEOUTCAPS; <
476 alias PWAVEOUTCAPSW PWAVEOUTCAPS; <
477 alias NPWAVEOUTCAPSW NPWAVEOUTCAPS; <
478 alias LPWAVEOUTCAPSW LPWAVEOUTCAPS; <
479 // #else <
480 // ... <
481 // #endif // UNICODE <
482 struct tagWAVEOUTCAPS2A { <
483 WORD wMid; <
484 WORD wPid; <
485 MMVERSION vDriverVersion; <
486 CHAR szPname[MAXPNAMELEN]; <
487 DWORD dwFormats; <
488 WORD wChannels; <
489 WORD wReserved1; <
490 DWORD dwSupport; <
491 GUID ManufacturerGuid; <
492 GUID ProductGuid; <
493 GUID NameGuid; <
494 } <
495 alias tagWAVEOUTCAPS2A WAVEOUTCAPS2A; <
496 alias tagWAVEOUTCAPS2A* PWAVEOUTCAPS2A; <
497 alias tagWAVEOUTCAPS2A* NPWAVEOUTCAPS2A; <
498 alias tagWAVEOUTCAPS2A* LPWAVEOUTCAPS2A; <
499 <
500 struct tagWAVEOUTCAPS2W { <
501 WORD wMid; <
502 WORD wPid; <
503 MMVERSION vDriverVersion; <
504 WCHAR szPname[MAXPNAMELEN]; <
505 DWORD dwFormats; <
506 WORD wChannels; <
507 WORD wReserved1; <
508 DWORD dwSupport; <
509 GUID ManufacturerGuid; <
510 GUID ProductGuid; <
511 GUID NameGuid; <
512 } <
513 alias tagWAVEOUTCAPS2W WAVEOUTCAPS2W; <
514 alias tagWAVEOUTCAPS2W* PWAVEOUTCAPS2W; <
515 alias tagWAVEOUTCAPS2W* NPWAVEOUTCAPS2W; <
516 alias tagWAVEOUTCAPS2W* LPWAVEOUTCAPS2W; <
517 <
518 // #ifdef UNICODE <
519 alias WAVEOUTCAPS2W WAVEOUTCAPS2; <
520 alias PWAVEOUTCAPS2W PWAVEOUTCAPS2; <
521 alias NPWAVEOUTCAPS2W NPWAVEOUTCAPS2; <
522 alias LPWAVEOUTCAPS2W LPWAVEOUTCAPS2; <
523 // #else <
524 // ... <
525 // #endif // UNICODE <
526 <
527 // #else <
528 // ... <
529 // #endif <
530 <
531 enum : uint { WAVECAPS_PITCH = 0x0001 } <
532 enum : uint { WAVECAPS_PLAYBACKRATE = 0x0002 } <
533 enum : uint { WAVECAPS_VOLUME = 0x0004 } <
534 enum : uint { WAVECAPS_LRVOLUME = 0x0008 } <
535 enum : uint { WAVECAPS_SYNC = 0x0010 } <
536 enum : uint { WAVECAPS_SAMPLEACCURATE = 0x0020 } <
537 <
538 // #ifdef _WIN32 <
539 <
540 struct tagWAVEINCAPSA { | 1122 struct WAVEINCAPSA {
541 WORD wMid; | 1123 WORD wMid;
542 WORD wPid; | 1124 WORD wPid;
543 MMVERSION vDriverVersion; | 1125 MMVERSION vDriverVersion;
544 CHAR szPname[MAXPNAMELEN]; | 1126 CHAR szPname[MAXPNAMELEN];
545 DWORD dwFormats; | 1127 DWORD dwFormats;
546 WORD wChannels; | 1128 WORD wChannels;
547 WORD wReserved1; | 1129 WORD wReserved1;
548 } | 1130 }
549 alias tagWAVEINCAPSA WAVEINCAPSA; <
550 alias tagWAVEINCAPSA* PWAVEINCAPSA; | 1131 alias WAVEINCAPSA* PWAVEINCAPSA, LPWAVEINCAPSA;
551 alias tagWAVEINCAPSA* NPWAVEINCAPSA; <
552 alias tagWAVEINCAPSA* LPWAVEINCAPSA; <
553 | 1132
554 struct tagWAVEINCAPSW { | 1133 struct WAVEINCAPSW {
555 WORD wMid; | 1134 WORD wMid;
556 WORD wPid; | 1135 WORD wPid;
557 MMVERSION vDriverVersion; | 1136 MMVERSION vDriverVersion;
558 WCHAR szPname[MAXPNAMELEN]; | 1137 WCHAR szPname[MAXPNAMELEN];
559 DWORD dwFormats; | 1138 DWORD dwFormats;
560 WORD wChannels; | 1139 WORD wChannels;
561 WORD wReserved1; | 1140 WORD wReserved1;
562 } | 1141 }
563 alias tagWAVEINCAPSW WAVEINCAPSW; <
564 alias tagWAVEINCAPSW* PWAVEINCAPSW; | 1142 alias WAVEINCAPSW* PWAVEINCAPSW, LPWAVEINCAPSW;
565 alias tagWAVEINCAPSW* NPWAVEINCAPSW; <
566 alias tagWAVEINCAPSW* LPWAVEINCAPSW; <
567 | 1143
568 // #ifdef UNICODE <
569 alias WAVEINCAPSW WAVEINCAPS; <
570 alias PWAVEINCAPSW PWAVEINCAPS; <
571 alias NPWAVEINCAPSW NPWAVEINCAPS; <
572 alias LPWAVEINCAPSW LPWAVEINCAPS; <
573 // #else <
574 // ... <
575 // #endif // UNICODE <
576 struct tagWAVEINCAPS2A { <
577 WORD wMid; <
578 WORD wPid; <
579 MMVERSION vDriverVersion; <
580 CHAR szPname[MAXPNAMELEN]; <
581 DWORD dwFormats; <
582 WORD wChannels; <
583 WORD wReserved1; <
584 GUID ManufacturerGuid; <
585 GUID ProductGuid; <
586 GUID NameGuid; <
587 } <
588 alias tagWAVEINCAPS2A WAVEINCAPS2A; <
589 alias tagWAVEINCAPS2A* PWAVEINCAPS2A; <
590 alias tagWAVEINCAPS2A* NPWAVEINCAPS2A; <
591 alias tagWAVEINCAPS2A* LPWAVEINCAPS2A; <
592 <
593 struct tagWAVEINCAPS2W { <
594 WORD wMid; <
595 WORD wPid; <
596 MMVERSION vDriverVersion; <
597 WCHAR szPname[MAXPNAMELEN]; <
598 DWORD dwFormats; <
599 WORD wChannels; <
600 WORD wReserved1; <
601 GUID ManufacturerGuid; <
602 GUID ProductGuid; <
603 GUID NameGuid; <
604 } <
605 alias tagWAVEINCAPS2W WAVEINCAPS2W; <
606 alias tagWAVEINCAPS2W* PWAVEINCAPS2W; <
607 alias tagWAVEINCAPS2W* NPWAVEINCAPS2W; <
608 alias tagWAVEINCAPS2W* LPWAVEINCAPS2W; <
609 <
610 // #ifdef UNICODE <
611 alias WAVEINCAPS2W WAVEINCAPS2; <
612 alias PWAVEINCAPS2W PWAVEINCAPS2; <
613 alias NPWAVEINCAPS2W NPWAVEINCAPS2; <
614 alias LPWAVEINCAPS2W LPWAVEINCAPS2; <
615 // #else <
616 // ... <
617 // #endif // UNICODE <
618 <
619 // #else <
620 // ... <
621 // #endif <
622 <
623 enum : uint { WAVE_INVALIDFORMAT = 0x00000000 } <
624 enum : uint { WAVE_FORMAT_1M08 = 0x00000001 } <
625 enum : uint { WAVE_FORMAT_1S08 = 0x00000002 } <
626 enum : uint { WAVE_FORMAT_1M16 = 0x00000004 } <
627 enum : uint { WAVE_FORMAT_1S16 = 0x00000008 } <
628 enum : uint { WAVE_FORMAT_2M08 = 0x00000010 } <
629 enum : uint { WAVE_FORMAT_2S08 = 0x00000020 } <
630 enum : uint { WAVE_FORMAT_2M16 = 0x00000040 } <
631 enum : uint { WAVE_FORMAT_2S16 = 0x00000080 } <
632 enum : uint { WAVE_FORMAT_4M08 = 0x00000100 } <
633 enum : uint { WAVE_FORMAT_4S08 = 0x00000200 } <
634 enum : uint { WAVE_FORMAT_4M16 = 0x00000400 } <
635 enum : uint { WAVE_FORMAT_4S16 = 0x00000800 } <
636 <
637 enum : uint { WAVE_FORMAT_44M08 = 0x00000100 } <
638 enum : uint { WAVE_FORMAT_44S08 = 0x00000200 } <
639 enum : uint { WAVE_FORMAT_44M16 = 0x00000400 } <
640 enum : uint { WAVE_FORMAT_44S16 = 0x00000800 } <
641 enum : uint { WAVE_FORMAT_48M08 = 0x00001000 } <
642 enum : uint { WAVE_FORMAT_48S08 = 0x00002000 } <
643 enum : uint { WAVE_FORMAT_48M16 = 0x00004000 } <
644 enum : uint { WAVE_FORMAT_48S16 = 0x00008000 } <
645 enum : uint { WAVE_FORMAT_96M08 = 0x00010000 } <
646 enum : uint { WAVE_FORMAT_96S08 = 0x00020000 } <
647 enum : uint { WAVE_FORMAT_96M16 = 0x00040000 } <
648 enum : uint { WAVE_FORMAT_96S16 = 0x00080000 } <
649 <
650 // #ifndef WAVE_FORMAT_PCM <
651 <
652 struct waveformat_tag { <
> 1144 struct WAVEFORMAT {
653 WORD wFormatTag; | 1145 WORD wFormatTag;
654 WORD nChannels; | 1146 WORD nChannels;
655 DWORD nSamplesPerSec; | 1147 DWORD nSamplesPerSec;
656 DWORD nAvgBytesPerSec; | 1148 DWORD nAvgBytesPerSec;
657 WORD nBlockAlign; | 1149 WORD nBlockAlign;
658 } | 1150 }
659 alias waveformat_tag WAVEFORMAT; <
660 alias waveformat_tag* PWAVEFORMAT; <
661 alias waveformat_tag* NPWAVEFORMAT; <
662 alias waveformat_tag* LPWAVEFORMAT; | 1151 alias WAVEFORMAT* PWAVEFORMAT, LPWAVEFORMAT;
663 | 1152
664 enum : uint { WAVE_FORMAT_PCM = 1 } <
665 <
666 struct pcmwaveformat_tag { <
> 1153 struct PCMWAVEFORMAT {
667 WAVEFORMAT wf; | 1154 WAVEFORMAT wf;
668 WORD wBitsPerSample; | 1155 WORD wBitsPerSample;
669 } | 1156 }
670 alias pcmwaveformat_tag PCMWAVEFORMAT; <
671 alias pcmwaveformat_tag* PPCMWAVEFORMAT; <
672 alias pcmwaveformat_tag* NPPCMWAVEFORMAT; <
673 alias pcmwaveformat_tag* LPPCMWAVEFORMAT; | 1157 alias PCMWAVEFORMAT* PPCMWAVEFORMAT, LPPCMWAVEFORMAT;
674 | 1158
675 // #endif /* WAVE_FORMAT_PCM */ <
676 <
677 // #ifndef _WAVEFORMATEX_ <
678 // #define _WAVEFORMATEX_ <
679 <
680 struct tWAVEFORMATEX { | 1159 struct WAVEFORMATEX {
681 WORD wFormatTag; | 1160 WORD wFormatTag;
682 WORD nChannels; | 1161 WORD nChannels;
683 DWORD nSamplesPerSec; | 1162 DWORD nSamplesPerSec;
684 DWORD nAvgBytesPerSec; | 1163 DWORD nAvgBytesPerSec;
685 WORD nBlockAlign; | 1164 WORD nBlockAlign;
686 WORD wBitsPerSample; | 1165 WORD wBitsPerSample;
687 WORD cbSize; | 1166 WORD cbSize;
688 | 1167 }
689 } <
690 alias tWAVEFORMATEX WAVEFORMATEX; <
691 alias tWAVEFORMATEX* PWAVEFORMATEX; | 1168 alias WAVEFORMATEX* PWAVEFORMATEX, LPWAVEFORMATEX;
692 alias tWAVEFORMATEX* NPWAVEFORMATEX; <
693 alias tWAVEFORMATEX* LPWAVEFORMATEX; <
694 <
695 // #endif /* _WAVEFORMATEX_ */ <
696 alias WAVEFORMATEX* LPCWAVEFORMATEX; | 1169 alias CPtr!(WAVEFORMATEX) LPCWAVEFORMATEX;
697 | 1170
698 extern(Windows) export UINT waveOutGetNumDevs(); <
699 <
700 // #ifdef _WIN32 <
701 <
702 extern(Windows) export MMRESULT waveOutGetDevCapsA(UINT_PTR uDeviceID, LPWAVEOUT <
703 extern(Windows) export MMRESULT waveOutGetDevCapsW(UINT_PTR uDeviceID, LPWAVEOUT <
704 // #ifdef UNICODE <
705 alias waveOutGetDevCapsW waveOutGetDevCaps; <
706 // #else <
707 // #... <
708 // #endif // !UNICODE <
709 <
710 // #else <
711 // ... <
712 // #endif <
713 <
714 // #if (WINVER >= 0x0400) <
715 extern(Windows) export MMRESULT waveOutGetVolume(HWAVEOUT hwo, LPDWORD pdwVolume <
716 extern(Windows) export MMRESULT waveOutSetVolume(HWAVEOUT hwo, DWORD dwVolume); <
717 // #else <
718 // ... <
719 // #endif <
720 <
721 // #ifdef _WIN32 <
722 <
723 extern(Windows) export MMRESULT waveOutGetErrorTextA(MMRESULT mmrError, LPSTR ps <
724 extern(Windows) export MMRESULT waveOutGetErrorTextW(MMRESULT mmrError, LPWSTR p <
725 // #ifdef UNICODE <
726 alias waveOutGetErrorTextW waveOutGetErrorText; <
727 // #else <
728 // #... <
729 // #endif // !UNICODE <
730 <
731 // #else <
732 // ... <
733 // #endif <
734 <
735 extern(Windows) export MMRESULT waveOutOpen(LPHWAVEOUT phwo, UINT uDeviceID, <
736 LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpe <
737 <
738 extern(Windows) export MMRESULT waveOutClose(HWAVEOUT hwo); <
739 extern(Windows) export MMRESULT waveOutPrepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh <
740 extern(Windows) export MMRESULT waveOutUnprepareHeader(HWAVEOUT hwo, LPWAVEHDR p <
741 extern(Windows) export MMRESULT waveOutWrite(HWAVEOUT hwo, LPWAVEHDR pwh, UINT c <
742 extern(Windows) export MMRESULT waveOutPause(HWAVEOUT hwo); <
743 extern(Windows) export MMRESULT waveOutRestart(HWAVEOUT hwo); <
744 extern(Windows) export MMRESULT waveOutReset(HWAVEOUT hwo); <
745 extern(Windows) export MMRESULT waveOutBreakLoop(HWAVEOUT hwo); <
746 extern(Windows) export MMRESULT waveOutGetPosition(HWAVEOUT hwo, LPMMTIME pmmt, <
747 extern(Windows) export MMRESULT waveOutGetPitch(HWAVEOUT hwo, LPDWORD pdwPitch); <
748 extern(Windows) export MMRESULT waveOutSetPitch(HWAVEOUT hwo, DWORD dwPitch); <
749 extern(Windows) export MMRESULT waveOutGetPlaybackRate(HWAVEOUT hwo, LPDWORD pdw <
750 extern(Windows) export MMRESULT waveOutSetPlaybackRate(HWAVEOUT hwo, DWORD dwRat <
751 extern(Windows) export MMRESULT waveOutGetID(HWAVEOUT hwo, LPUINT puDeviceID); <
752 <
753 // #if (WINVER >= 0x030a) <
754 // #ifdef _WIN32 <
755 extern(Windows) export MMRESULT waveOutMessage(HWAVEOUT hwo, UINT uMsg, DWORD_PT <
756 // #else <
757 // ... <
758 // #endif <
759 // #endif /* ifdef WINVER >= 0x030a */ <
760 <
761 extern(Windows) export UINT waveInGetNumDevs(); <
762 <
763 // #ifdef _WIN32 <
764 <
765 extern(Windows) export MMRESULT waveInGetDevCapsA(UINT_PTR uDeviceID, LPWAVEINCA <
766 extern(Windows) export MMRESULT waveInGetDevCapsW(UINT_PTR uDeviceID, LPWAVEINCA <
767 // #ifdef UNICODE <
768 alias waveInGetDevCapsW waveInGetDevCaps; <
769 // #else <
770 // #... <
771 // #endif // !UNICODE <
772 <
773 // #else <
774 // ... <
775 // #endif <
776 <
777 // #ifdef _WIN32 <
778 <
779 extern(Windows) export MMRESULT waveInGetErrorTextA(MMRESULT mmrError, LPSTR psz <
780 extern(Windows) export MMRESULT waveInGetErrorTextW(MMRESULT mmrError, LPWSTR ps <
781 // #ifdef UNICODE <
782 alias waveInGetErrorTextW waveInGetErrorText; <
783 // #else <
784 // #... <
785 // #endif // !UNICODE <
786 <
787 // #else <
788 // ... <
789 // #endif <
790 <
791 extern(Windows) export MMRESULT waveInOpen(LPHWAVEIN phwi, UINT uDeviceID, <
792 LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpe <
793 <
794 extern(Windows) export MMRESULT waveInClose(HWAVEIN hwi); <
795 extern(Windows) export MMRESULT waveInPrepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, <
796 extern(Windows) export MMRESULT waveInUnprepareHeader(HWAVEIN hwi, LPWAVEHDR pwh <
797 extern(Windows) export MMRESULT waveInAddBuffer(HWAVEIN hwi, LPWAVEHDR pwh, UINT <
798 extern(Windows) export MMRESULT waveInStart(HWAVEIN hwi); <
799 extern(Windows) export MMRESULT waveInStop(HWAVEIN hwi); <
800 extern(Windows) export MMRESULT waveInReset(HWAVEIN hwi); <
801 extern(Windows) export MMRESULT waveInGetPosition(HWAVEIN hwi, LPMMTIME pmmt, UI <
802 extern(Windows) export MMRESULT waveInGetID(HWAVEIN hwi, LPUINT puDeviceID); <
803 <
804 // #if (WINVER >= 0x030a) <
805 // #ifdef _WIN32 <
806 extern(Windows) export MMRESULT waveInMessage(HWAVEIN hwi, UINT uMsg, DWORD_PTR <
807 // #else <
808 // ... <
809 // #endif <
810 // #endif /* ifdef WINVER >= 0x030a */ <
811 <
812 // #endif /* ifndef MMNOWAVE */ <
813 <
814 // #ifndef MMNOMIDI <
815 <
816 enum : uint { MIDIERR_UNPREPARED = MIDIERR_BASE + 0 } <
817 enum : uint { MIDIERR_STILLPLAYING = MIDIERR_BASE + 1 } <
818 enum : uint { MIDIERR_NOMAP = MIDIERR_BASE + 2 } <
819 enum : uint { MIDIERR_NOTREADY = MIDIERR_BASE + 3 } <
820 enum : uint { MIDIERR_NODEVICE = MIDIERR_BASE + 4 } <
821 enum : uint { MIDIERR_INVALIDSETUP = MIDIERR_BASE + 5 } <
822 enum : uint { MIDIERR_BADOPENMODE = MIDIERR_BASE + 6 } <
823 enum : uint { MIDIERR_DONT_CONTINUE = MIDIERR_BASE + 7 } <
824 enum : uint { MIDIERR_LASTERROR = MIDIERR_BASE + 7 } <
825 <
826 alias void* HMIDI; <
> 1171 alias HANDLE HMIDI;
827 alias void* HMIDIIN; | 1172 alias HANDLE HMIDIIN;
828 alias void* HMIDIOUT; | 1173 alias HANDLE HMIDIOUT;
829 alias void* HMIDISTRM; | 1174 alias HANDLE HMIDISTRM;
> 1175
830 alias HMIDI* LPHMIDI; 1176 alias HMIDI* LPHMIDI;
831 alias HMIDIIN* LPHMIDIIN; 1177 alias HMIDIIN* LPHMIDIIN;
832 alias HMIDIOUT* LPHMIDIOUT; 1178 alias HMIDIOUT* LPHMIDIOUT;
833 alias HMIDISTRM* LPHMIDISTRM; 1179 alias HMIDISTRM* LPHMIDISTRM;
834 // typedef DRVCALLBACK MIDICALLBACK; <
835 alias LPDRVCALLBACK LPMIDICALLBACK; <
836 enum : uint { MIDIPATCHSIZE = 128 } <
> 1180
837 alias WORD PATCHARRAY[MIDIPATCHSIZE]; 1181 alias WORD PATCHARRAY[MIDIPATCHSIZE];
838 alias WORD* LPPATCHARRAY; 1182 alias WORD* LPPATCHARRAY;
839 alias WORD KEYARRAY[MIDIPATCHSIZE]; 1183 alias WORD KEYARRAY[MIDIPATCHSIZE];
840 alias WORD* LPKEYARRAY; 1184 alias WORD* LPKEYARRAY;
841 1185
842 alias MM_MIM_OPEN MIM_OPEN; | 1186 struct MIDIOUTCAPSA {
843 alias MM_MIM_CLOSE MIM_CLOSE; | 1187 WORD wMid;
844 alias MM_MIM_DATA MIM_DATA; | 1188 WORD wPid;
845 alias MM_MIM_LONGDATA MIM_LONGDATA; | 1189 MMVERSION vDriverVersion;
846 alias MM_MIM_ERROR MIM_ERROR; | 1190 CHAR szPname[MAXPNAMELEN];
847 alias MM_MIM_LONGERROR MIM_LONGERROR; | 1191 WORD wTechnology;
848 alias MM_MOM_OPEN MOM_OPEN; | 1192 WORD wVoices;
849 alias MM_MOM_CLOSE MOM_CLOSE; | 1193 WORD wNotes;
850 alias MM_MOM_DONE MOM_DONE; | 1194 WORD wChannelMask;
> 1195 DWORD dwSupport;
851 | 1196 }
852 // #if(WINVER >= 0x0400) <
853 alias MM_MIM_MOREDATA MIM_MOREDATA; | 1197 alias MIDIOUTCAPSA* PMIDIOUTCAPSA, LPMIDIOUTCAPSA;
854 alias MM_MOM_POSITIONCB MOM_POSITIONCB; <
855 // #endif /* WINVER >= 0x0400 */ <
856 | 1198
> 1199 struct MIDIOUTCAPSW {
> 1200 WORD wMid;
857 enum : uint { MIDIMAPPER = cast(UINT)-1 } | 1201 WORD wPid;
858 enum : uint { MIDI_MAPPER = cast(UINT)-1 } | 1202 MMVERSION vDriverVersion;
> 1203 WCHAR szPname[MAXPNAMELEN];
> 1204 WORD wTechnology;
> 1205 WORD wVoices;
> 1206 WORD wNotes;
> 1207 WORD wChannelMask;
> 1208 DWORD dwSupport;
> 1209 }
> 1210 alias MIDIOUTCAPSW* PMIDIOUTCAPSW, LPMIDIOUTCAPSW;
> 1211
> 1212 struct MIDIINCAPSA {
> 1213 WORD wMid;
> 1214 WORD wPid;
> 1215 MMVERSION vDriverVersion;
> 1216 CHAR szPname[MAXPNAMELEN];
> 1217 DWORD dwSupport;
> 1218 }
> 1219 alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA;
> 1220
> 1221 struct MIDIINCAPSW {
> 1222 WORD wMid;
> 1223 WORD wPid;
> 1224 MMVERSION vDriverVersion;
> 1225 WCHAR szPname[MAXPNAMELEN];
> 1226 DWORD dwSupport;
> 1227 }
> 1228 alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW;
> 1229
> 1230 struct MIDIHDR {
> 1231 LPSTR lpData;
> 1232 DWORD dwBufferLength;
> 1233 DWORD dwBytesRecorded;
> 1234 DWORD dwUser;
> 1235 DWORD dwFlags;
> 1236 MIDIHDR *lpNext;
> 1237 DWORD reserved;
> 1238 DWORD dwOffset;
> 1239 DWORD dwReserved[8];
> 1240 }
> 1241 alias MIDIHDR* PMIDIHDR, LPMIDIHDR;
> 1242
> 1243 struct MIDIEVENT {
> 1244 DWORD dwDeltaTime;
> 1245 DWORD dwStreamID;
> 1246 DWORD dwEvent;
> 1247 DWORD dwParms[1];
> 1248 }
> 1249
> 1250 struct MIDISTRMBUFFVER {
> 1251 DWORD dwVersion;
> 1252 DWORD dwMid;
> 1253 DWORD dwOEMVersion;
> 1254 }
> 1255
> 1256 struct MIDIPROPTIMEDIV {
> 1257 DWORD cbStruct;
> 1258 DWORD dwTimeDiv;
> 1259 }
> 1260 alias MIDIPROPTIMEDIV* LPMIDIPROPTIMEDIV;
> 1261
> 1262 struct MIDIPROPTEMPO {
> 1263 DWORD cbStruct;
> 1264 DWORD dwTempo;
> 1265 }
> 1266 alias MIDIPROPTEMPO* LPMIDIPROPTEMPO;
> 1267
> 1268 struct AUXCAPSA {
> 1269 WORD wMid;
> 1270 WORD wPid;
> 1271 MMVERSION vDriverVersion;
> 1272 CHAR szPname[MAXPNAMELEN];
> 1273 WORD wTechnology;
> 1274 WORD wReserved1;
> 1275 DWORD dwSupport;
> 1276 }
> 1277 alias AUXCAPSA* PAUXCAPSA, LPAUXCAPSA;
> 1278
> 1279 struct AUXCAPSW {
> 1280 WORD wMid;
> 1281 WORD wPid;
> 1282 MMVERSION vDriverVersion;
> 1283 WCHAR szPname[MAXPNAMELEN];
> 1284 WORD wTechnology;
> 1285 WORD wReserved1;
> 1286 DWORD dwSupport;
> 1287 }
> 1288 alias AUXCAPSW* PAUXCAPSW, LPAUXCAPSW;
> 1289
> 1290 alias HANDLE HMIXEROBJ;
> 1291 alias HMIXEROBJ* LPHMIXEROBJ;
> 1292
> 1293 alias HANDLE HMIXER;
> 1294 alias HMIXER* LPHMIXER;
> 1295
> 1296 struct MIXERCAPSA {
> 1297 WORD wMid;
> 1298 WORD wPid;
> 1299 MMVERSION vDriverVersion;
> 1300 CHAR szPname[MAXPNAMELEN];
> 1301 DWORD fdwSupport;
> 1302 DWORD cDestinations;
> 1303 }
> 1304 alias MIXERCAPSA* PMIXERCAPSA, LPMIXERCAPSA;
> 1305
> 1306 struct MIXERCAPSW {
> 1307 WORD wMid;
> 1308 WORD wPid;
> 1309 MMVERSION vDriverVersion;
> 1310 WCHAR szPname[MAXPNAMELEN];
> 1311 DWORD fdwSupport;
> 1312 DWORD cDestinations;
> 1313 }
> 1314 alias MIXERCAPSW* PMIXERCAPSW, LPMIXERCAPSW;
> 1315
> 1316 struct MIXERLINEA {
> 1317 DWORD cbStruct;
> 1318 DWORD dwDestination;
> 1319 DWORD dwSource;
> 1320 DWORD dwLineID;
> 1321 DWORD fdwLine;
> 1322 DWORD dwUser;
> 1323 DWORD dwComponentType;
> 1324 DWORD cChannels;
> 1325 DWORD cConnections;
> 1326 DWORD cControls;
> 1327 CHAR szShortName[MIXER_SHORT_NAME_CHARS];
> 1328 CHAR szName[MIXER_LONG_NAME_CHARS];
> 1329 struct Target {
> 1330 DWORD dwType;
> 1331 DWORD dwDeviceID;
> 1332 WORD wMid;
> 1333 WORD wPid;
> 1334 MMVERSION vDriverVersion;
> 1335 CHAR szPname[MAXPNAMELEN];
> 1336 }
> 1337 }
> 1338 alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA;
> 1339
> 1340 struct MIXERLINEW {
> 1341 DWORD cbStruct;
> 1342 DWORD dwDestination;
> 1343 DWORD dwSource;
> 1344 DWORD dwLineID;
> 1345 DWORD fdwLine;
> 1346 DWORD dwUser;
> 1347 DWORD dwComponentType;
> 1348 DWORD cChannels;
> 1349 DWORD cConnections;
> 1350 DWORD cControls;
> 1351 WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
> 1352 WCHAR szName[MIXER_LONG_NAME_CHARS];
> 1353 struct Target {
> 1354 DWORD dwType;
> 1355 DWORD dwDeviceID;
> 1356 WORD wMid;
> 1357 WORD wPid;
> 1358 MMVERSION vDriverVersion;
> 1359 WCHAR szPname[MAXPNAMELEN];
> 1360 }
> 1361 }
> 1362 alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW;
> 1363
> 1364 struct MIXERCONTROLA {
> 1365 DWORD cbStruct;
> 1366 DWORD dwControlID;
> 1367 DWORD dwControlType;
> 1368 DWORD fdwControl;
> 1369 DWORD cMultipleItems;
> 1370 CHAR szShortName[MIXER_SHORT_NAME_CHARS];
> 1371 CHAR szName[MIXER_LONG_NAME_CHARS];
> 1372 union _Bounds {
> 1373 struct {
> 1374 LONG lMinimum;
> 1375 LONG lMaximum;
> 1376 }
> 1377 struct {
> 1378 DWORD dwMinimum;
> 1379 DWORD dwMaximum;
> 1380 }
> 1381 DWORD dwReserved[6];
> 1382 }
> 1383 _Bounds Bounds;
> 1384 union _Metrics {
> 1385 DWORD cSteps;
> 1386 DWORD cbCustomData;
> 1387 DWORD dwReserved[6];
> 1388 }
> 1389 _Metrics Metrics;
> 1390 }
> 1391 alias MIXERCONTROLA* PMIXERCONTROLA, LPMIXERCONTROLA;
> 1392
> 1393 struct MIXERCONTROLW {
> 1394 DWORD cbStruct;
> 1395 DWORD dwControlID;
> 1396 DWORD dwControlType;
> 1397 DWORD fdwControl;
> 1398 DWORD cMultipleItems;
> 1399 WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
> 1400 WCHAR szName[MIXER_LONG_NAME_CHARS];
> 1401 union _Bounds {
> 1402 struct {
> 1403 LONG lMinimum;
> 1404 LONG lMaximum;
> 1405 }
> 1406 struct {
> 1407 DWORD dwMinimum;
> 1408 DWORD dwMaximum;
> 1409 }
> 1410 DWORD dwReserved[6];
> 1411 }
> 1412 _Bounds Bounds;
> 1413 union _Metrics {
> 1414 DWORD cSteps;
> 1415 DWORD cbCustomData;
> 1416 DWORD dwReserved[6];
> 1417 }
> 1418 _Metrics Metrics;
> 1419 }
> 1420
> 1421 alias MIXERCONTROLW* PMIXERCONTROLW, LPMIXERCONTROLW;
> 1422
> 1423 struct MIXERLINECONTROLSA {
> 1424 DWORD cbStruct;
> 1425 DWORD dwLineID;
> 1426 union {
> 1427 DWORD dwControlID;
> 1428 DWORD dwControlType;
> 1429 }
> 1430 DWORD cControls;
> 1431 DWORD cbmxctrl;
> 1432 LPMIXERCONTROLA pamxctrl;
> 1433 }
> 1434 alias MIXERLINECONTROLSA* PMIXERLINECONTROLSA, LPMIXERLINECONTROLSA;
> 1435
> 1436 struct MIXERLINECONTROLSW {
> 1437 DWORD cbStruct;
> 1438 DWORD dwLineID;
> 1439 union {
> 1440 DWORD dwControlID;
> 1441 DWORD dwControlType;
> 1442 }
> 1443 DWORD cControls;
> 1444 DWORD cbmxctrl;
> 1445 LPMIXERCONTROLW pamxctrl;
> 1446 }
> 1447 alias MIXERLINECONTROLSW* PMIXERLINECONTROLSW, LPMIXERLINECONTROLSW;
> 1448
> 1449 struct MIXERCONTROLDETAILS {
> 1450 DWORD cbStruct;
> 1451 DWORD dwControlID;
> 1452 DWORD cChannels;
> 1453 union {
> 1454 HWND hwndOwner;
> 1455 DWORD cMultipleItems;
> 1456 }
> 1457 DWORD cbDetails;
> 1458 PVOID paDetails;
> 1459 }
> 1460 alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS;
> 1461
> 1462 struct MIXERCONTROLDETAILS_LISTTEXTA {
> 1463 DWORD dwParam1;
> 1464 DWORD dwParam2;
> 1465 CHAR szName[MIXER_LONG_NAME_CHARS];
> 1466 }
> 1467 alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA,LPMIXERCONTR
> 1468
> 1469 struct MIXERCONTROLDETAILS_LISTTEXTW {
> 1470 DWORD dwParam1;
> 1471 DWORD dwParam2;
> 1472 WCHAR szName[MIXER_LONG_NAME_CHARS];
> 1473 }
> 1474 alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW,LPMIXERCONTR
> 1475
> 1476 struct MIXERCONTROLDETAILS_BOOLEAN {
> 1477 LONG fValue;
> 1478 }
> 1479 alias MIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN, LPMIXERCONTROLD
> 1480
> 1481 struct MIXERCONTROLDETAILS_SIGNED {
> 1482 LONG lValue;
> 1483 }
> 1484 alias MIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED, LPMIXERCONTROLDET
> 1485
> 1486 struct MIXERCONTROLDETAILS_UNSIGNED {
> 1487 DWORD dwValue;
> 1488 }
> 1489 alias MIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED, LPMIXERCONTRO
> 1490
> 1491 alias void function (UINT,UINT,DWORD,DWORD,DWORD) LPTIMECALLBACK;
> 1492
> 1493 struct TIMECAPS {
> 1494 UINT wPeriodMin;
> 1495 UINT wPeriodMax;
> 1496 }
> 1497 alias TIMECAPS* PTIMECAPS, LPTIMECAPS;
> 1498
> 1499 struct JOYCAPSA {
> 1500 WORD wMid;
> 1501 WORD wPid;
> 1502 CHAR szPname[MAXPNAMELEN];
> 1503 UINT wXmin;
> 1504 UINT wXmax;
> 1505 UINT wYmin;
> 1506 UINT wYmax;
> 1507 UINT wZmin;
> 1508 UINT wZmax;
> 1509 UINT wNumButtons;
> 1510 UINT wPeriodMin;
> 1511 UINT wPeriodMax;
> 1512 UINT wRmin;
> 1513 UINT wRmax;
> 1514 UINT wUmin;
> 1515 UINT wUmax;
> 1516 UINT wVmin;
> 1517 UINT wVmax;
> 1518 UINT wCaps;
> 1519 UINT wMaxAxes;
> 1520 UINT wNumAxes;
> 1521 UINT wMaxButtons;
> 1522 CHAR szRegKey[MAXPNAMELEN];
> 1523 CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
> 1524 }
> 1525 alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA;
> 1526
> 1527 struct JOYCAPSW {
> 1528 WORD wMid;
> 1529 WORD wPid;
> 1530 WCHAR szPname[MAXPNAMELEN];
> 1531 UINT wXmin;
> 1532 UINT wXmax;
> 1533 UINT wYmin;
> 1534 UINT wYmax;
> 1535 UINT wZmin;
> 1536 UINT wZmax;
> 1537 UINT wNumButtons;
> 1538 UINT wPeriodMin;
> 1539 UINT wPeriodMax;
> 1540 UINT wRmin;
> 1541 UINT wRmax;
> 1542 UINT wUmin;
> 1543 UINT wUmax;
> 1544 UINT wVmin;
> 1545 UINT wVmax;
> 1546 UINT wCaps;
> 1547 UINT wMaxAxes;
> 1548 UINT wNumAxes;
> 1549 UINT wMaxButtons;
> 1550 WCHAR szRegKey[MAXPNAMELEN];
> 1551 WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
> 1552 }
> 1553 alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW;
> 1554
> 1555 struct JOYINFO {
> 1556 UINT wXpos;
> 1557 UINT wYpos;
> 1558 UINT wZpos;
> 1559 UINT wButtons;
> 1560 }
> 1561 alias JOYINFO* PJOYINFO, LPJOYINFO;
> 1562
> 1563 struct JOYINFOEX {
> 1564 DWORD dwSize;
> 1565 DWORD dwFlags;
> 1566 DWORD dwXpos;
> 1567 DWORD dwYpos;
> 1568 DWORD dwZpos;
> 1569 DWORD dwRpos;
> 1570 DWORD dwUpos;
> 1571 DWORD dwVpos;
> 1572 DWORD dwButtons;
> 1573 DWORD dwButtonNumber;
> 1574 DWORD dwPOV;
> 1575 DWORD dwReserved1;
> 1576 DWORD dwReserved2;
> 1577 }
> 1578 alias JOYINFOEX* PJOYINFOEX, LPJOYINFOEX;
> 1579
> 1580 alias DWORD FOURCC;
> 1581 alias char* HPSTR;
> 1582
> 1583 alias HANDLE HMMIO;
> 1584
> 1585 alias LRESULT function (LPSTR,UINT,LPARAM,LPARAM) LPMMIOPROC;
> 1586
> 1587 struct MMIOINFO {
> 1588 DWORD dwFlags;
> 1589 FOURCC fccIOProc;
> 1590 LPMMIOPROC pIOProc;
> 1591 UINT wErrorRet;
> 1592 HTASK htask;
> 1593 LONG cchBuffer;
> 1594 HPSTR pchBuffer;
> 1595 HPSTR pchNext;
> 1596 HPSTR pchEndRead;
> 1597 HPSTR pchEndWrite;
> 1598 LONG lBufOffset;
> 1599 LONG lDiskOffset;
> 1600 DWORD adwInfo[3];
> 1601 DWORD dwReserved1;
> 1602 DWORD dwReserved2;
> 1603 HMMIO hmmio;
> 1604 }
> 1605 alias MMIOINFO* PMMIOINFO, LPMMIOINFO;
> 1606 alias CPtr!(MMIOINFO) LPCMMIOINFO;
> 1607
> 1608 struct MMCKINFO {
> 1609 FOURCC ckid;
> 1610 DWORD cksize;
> 1611 FOURCC fccType;
> 1612 DWORD dwDataOffset;
> 1613 DWORD dwFlags;
> 1614 }
> 1615 alias MMCKINFO* PMMCKINFO, LPMMCKINFO;
> 1616 alias CPtr!(MMCKINFO) LPCMMCKINFO;
> 1617
> 1618 struct MCI_GENERIC_PARMS {
> 1619 DWORD dwCallback;
> 1620 }
> 1621 alias MCI_GENERIC_PARMS* PMCI_GENERIC_PARMS, LPMCI_GENERIC_PARMS;
> 1622
> 1623 struct MCI_OPEN_PARMSA {
> 1624 DWORD dwCallback;
> 1625 MCIDEVICEID wDeviceID;
> 1626 LPCSTR lpstrDeviceType;
> 1627 LPCSTR lpstrElementName;
> 1628 LPCSTR lpstrAlias;
> 1629 }
> 1630 alias MCI_OPEN_PARMSA* PMCI_OPEN_PARMSA, LPMCI_OPEN_PARMSA;
> 1631
> 1632 struct MCI_OPEN_PARMSW {
> 1633 DWORD dwCallback;
> 1634 MCIDEVICEID wDeviceID;
> 1635 LPCWSTR lpstrDeviceType;
> 1636 LPCWSTR lpstrElementName;
> 1637 LPCWSTR lpstrAlias;
> 1638 }
> 1639 alias MCI_OPEN_PARMSW* PMCI_OPEN_PARMSW, LPMCI_OPEN_PARMSW;
> 1640
> 1641 struct MCI_PLAY_PARMS {
> 1642 DWORD dwCallback;
> 1643 DWORD dwFrom;
> 1644 DWORD dwTo;
> 1645 }
> 1646 alias MCI_PLAY_PARMS* PMCI_PLAY_PARMS, LPMCI_PLAY_PARMS;
> 1647
> 1648 struct MCI_SEEK_PARMS {
> 1649 DWORD dwCallback;
> 1650 DWORD dwTo;
> 1651 }
> 1652 alias MCI_SEEK_PARMS* PMCI_SEEK_PARMS, LPMCI_SEEK_PARMS;
> 1653
> 1654 struct MCI_STATUS_PARMS {
> 1655 DWORD dwCallback;
> 1656 DWORD dwReturn;
> 1657 DWORD dwItem;
> 1658 DWORD dwTrack;
> 1659 }
> 1660 alias MCI_STATUS_PARMS* PMCI_STATUS_PARMS, LPMCI_STATUS_PARMS;
> 1661
> 1662 struct MCI_INFO_PARMSA {
> 1663 DWORD dwCallback;
> 1664 LPSTR lpstrReturn;
> 1665 DWORD dwRetSize;
> 1666 }
> 1667 alias MCI_INFO_PARMSA* LPMCI_INFO_PARMSA;
> 1668
> 1669 struct MCI_INFO_PARMSW {
> 1670 DWORD dwCallback;
> 1671 LPWSTR lpstrReturn;
> 1672 DWORD dwRetSize;
> 1673 }
> 1674 alias MCI_INFO_PARMSW* LPMCI_INFO_PARMSW;
> 1675
> 1676 struct MCI_GETDEVCAPS_PARMS {
> 1677 DWORD dwCallback;
> 1678 DWORD dwReturn;
> 1679 DWORD dwItem;
> 1680 }
> 1681 alias MCI_GETDEVCAPS_PARMS* PMCI_GETDEVCAPS_PARMS, LPMCI_GETDEVCAPS_PARMS;
> 1682
> 1683 struct MCI_SYSINFO_PARMSA {
> 1684 DWORD dwCallback;
> 1685 LPSTR lpstrReturn;
> 1686 DWORD dwRetSize;
> 1687 DWORD dwNumber;
> 1688 UINT wDeviceType;
> 1689 }
> 1690 alias MCI_SYSINFO_PARMSA* PMCI_SYSINFO_PARMSA, LPMCI_SYSINFO_PARMSA;
> 1691
> 1692 struct MCI_SYSINFO_PARMSW {
> 1693 DWORD dwCallback;
> 1694 LPWSTR lpstrReturn;
> 1695 DWORD dwRetSize;
> 1696 DWORD dwNumber;
> 1697 UINT wDeviceType;
> 1698 }
> 1699 alias MCI_SYSINFO_PARMSW* PMCI_SYSINFO_PARMSW, LPMCI_SYSINFO_PARMSW;
> 1700
> 1701 struct MCI_SET_PARMS {
> 1702 DWORD dwCallback;
> 1703 DWORD dwTimeFormat;
> 1704 DWORD dwAudio;
> 1705 }
> 1706 alias MCI_SET_PARMS* PMCI_SET_PARMS, LPMCI_SET_PARMS;
> 1707
> 1708 struct MCI_BREAK_PARMS {
> 1709 DWORD dwCallback;
> 1710 int nVirtKey;
> 1711 HWND hwndBreak;
> 1712 }
> 1713 alias MCI_BREAK_PARMS* PMCI_BREAK_PARMS, LPMCI_BREAK_PARMS;
> 1714
> 1715 struct MCI_SAVE_PARMSA {
> 1716 DWORD dwCallback;
> 1717 LPCSTR lpfilename;
> 1718 }
> 1719 alias MCI_SAVE_PARMSA* PMCI_SAVE_PARMSA, LPMCI_SAVE_PARMSA;
> 1720
> 1721 struct MCI_SAVE_PARMSW {
> 1722 DWORD dwCallback;
> 1723 LPCWSTR lpfilename;
> 1724 }
> 1725 alias MCI_SAVE_PARMSW* PMCI_SAVE_PARMSW, LPMCI_SAVE_PARMSW;
> 1726
> 1727 struct MCI_LOAD_PARMSA {
> 1728 DWORD dwCallback;
> 1729 LPCSTR lpfilename;
> 1730 }
> 1731 alias MCI_LOAD_PARMSA* PMCI_LOAD_PARMSA, LPMCI_LOAD_PARMSA;
> 1732
> 1733 struct MCI_LOAD_PARMSW {
> 1734 DWORD dwCallback;
> 1735 LPCWSTR lpfilename;
> 1736 }
> 1737 alias MCI_LOAD_PARMSW* PMCI_LOAD_PARMSW, LPMCI_LOAD_PARMSW;
> 1738
> 1739 struct MCI_RECORD_PARMS {
> 1740 DWORD dwCallback;
> 1741 DWORD dwFrom;
> 1742 DWORD dwTo;
> 1743 }
> 1744 alias MCI_RECORD_PARMS* LPMCI_RECORD_PARMS;
> 1745
> 1746 struct MCI_VD_PLAY_PARMS {
> 1747 DWORD dwCallback;
> 1748 DWORD dwFrom;
> 1749 DWORD dwTo;
> 1750 DWORD dwSpeed;
> 1751 }
> 1752 alias MCI_VD_PLAY_PARMS* PMCI_VD_PLAY_PARMS, LPMCI_VD_PLAY_PARMS;
> 1753
> 1754 struct MCI_VD_STEP_PARMS {
> 1755 DWORD dwCallback;
> 1756 DWORD dwFrames;
> 1757 }
> 1758 alias MCI_VD_STEP_PARMS* PMCI_VD_STEP_PARMS, LPMCI_VD_STEP_PARMS;
> 1759
> 1760 struct MCI_VD_ESCAPE_PARMSA {
> 1761 DWORD dwCallback;
> 1762 LPCSTR lpstrCommand;
> 1763 }
> 1764 alias MCI_VD_ESCAPE_PARMSA* PMCI_VD_ESCAPE_PARMSA, LPMCI_VD_ESCAPE_PARMSA;
> 1765
> 1766 struct MCI_VD_ESCAPE_PARMSW {
> 1767 DWORD dwCallback;
> 1768 LPCWSTR lpstrCommand;
> 1769 }
> 1770 alias MCI_VD_ESCAPE_PARMSW* PMCI_VD_ESCAPE_PARMSW, LPMCI_VD_ESCAPE_PARMSW;
> 1771
> 1772 struct MCI_WAVE_OPEN_PARMSA {
> 1773 DWORD dwCallback;
> 1774 MCIDEVICEID wDeviceID;
> 1775 LPCSTR lpstrDeviceType;
> 1776 LPCSTR lpstrElementName;
> 1777 LPCSTR lpstrAlias;
> 1778 DWORD dwBufferSeconds;
> 1779 }
> 1780 alias MCI_WAVE_OPEN_PARMSA* PMCI_WAVE_OPEN_PARMSA, LPMCI_WAVE_OPEN_PARMSA;
> 1781
> 1782 struct MCI_WAVE_OPEN_PARMSW {
> 1783 DWORD dwCallback;
> 1784 MCIDEVICEID wDeviceID;
> 1785 LPCWSTR lpstrDeviceType;
> 1786 LPCWSTR lpstrElementName;
> 1787 LPCWSTR lpstrAlias;
> 1788 DWORD dwBufferSeconds;
> 1789 }
> 1790 alias MCI_WAVE_OPEN_PARMSW* PMCI_WAVE_OPEN_PARMSW, LPMCI_WAVE_OPEN_PARMSW;
> 1791
> 1792 struct MCI_WAVE_DELETE_PARMS {
> 1793 DWORD dwCallback;
> 1794 DWORD dwFrom;
> 1795 DWORD dwTo;
> 1796 }
> 1797 alias MCI_WAVE_DELETE_PARMS* PMCI_WAVE_DELETE_PARMS, LPMCI_WAVE_DELETE_PARMS;
> 1798
> 1799 struct MCI_WAVE_SET_PARMS {
> 1800 DWORD dwCallback;
> 1801 DWORD dwTimeFormat;
> 1802 DWORD dwAudio;
> 1803 UINT wInput;
> 1804 UINT wOutput;
> 1805 WORD wFormatTag;
> 1806 WORD wReserved2;
> 1807 WORD nChannels;
> 1808 WORD wReserved3;
> 1809 DWORD nSamplesPerSec;
> 1810 DWORD nAvgBytesPerSec;
> 1811 WORD nBlockAlign;
> 1812 WORD wReserved4;
> 1813 WORD wBitsPerSample;
> 1814 WORD wReserved5;
> 1815 }
> 1816 alias MCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS, LPMCI_WAVE_SET_PARMS;
> 1817
> 1818 extern (Windows):
> 1819 LRESULT CloseDriver(HDRVR,LONG,LONG);
> 1820 HDRVR OpenDriver(LPCWSTR,LPCWSTR,LONG);
> 1821 LRESULT SendDriverMessage(HDRVR,UINT,LONG,LONG);
> 1822 HMODULE DrvGetModuleHandle(HDRVR);
> 1823 HMODULE GetDriverModuleHandle(HDRVR);
> 1824 LRESULT DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM);
> 1825 UINT mmsystemGetVersion();
> 1826 // FIXME: I believe this next line is a mistake
> 1827 //alias OutputDebugString OutputDebugStr;
> 1828 BOOL sndPlaySoundA(LPCSTR,UINT);
> 1829 BOOL sndPlaySoundW(LPCWSTR,UINT);
> 1830 BOOL PlaySoundA(LPCSTR,HMODULE,DWORD);
> 1831 BOOL PlaySoundW(LPCWSTR,HMODULE,DWORD);
> 1832 UINT waveOutGetNumDevs();
> 1833 MMRESULT waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
> 1834 MMRESULT waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
> 1835 MMRESULT waveOutGetVolume(HWAVEOUT,PDWORD);
> 1836 MMRESULT waveOutSetVolume(HWAVEOUT,DWORD);
> 1837 MMRESULT waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
> 1838 MMRESULT waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
> 1839 MMRESULT waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
> 1840 MMRESULT waveOutClose(HWAVEOUT);
> 1841 MMRESULT waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
> 1842 MMRESULT waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
> 1843 MMRESULT waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
> 1844 MMRESULT waveOutPause(HWAVEOUT);
> 1845 MMRESULT waveOutRestart(HWAVEOUT);
> 1846 MMRESULT waveOutReset(HWAVEOUT);
> 1847 MMRESULT waveOutBreakLoop(HWAVEOUT);
> 1848 MMRESULT waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
> 1849 MMRESULT waveOutGetPitch(HWAVEOUT,PDWORD);
> 1850 MMRESULT waveOutSetPitch(HWAVEOUT,DWORD);
> 1851 MMRESULT waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
> 1852 MMRESULT waveOutSetPlaybackRate(HWAVEOUT,DWORD);
> 1853 MMRESULT waveOutGetID(HWAVEOUT,LPUINT);
> 1854 MMRESULT waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
> 1855 UINT waveInGetNumDevs();
> 1856 MMRESULT waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
> 1857 MMRESULT waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
> 1858 MMRESULT waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
> 1859 MMRESULT waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
> 1860 MMRESULT waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
> 1861 MMRESULT waveInClose(HWAVEIN);
> 1862 MMRESULT waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
> 1863 MMRESULT waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
> 1864 MMRESULT waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
> 1865 MMRESULT waveInStart(HWAVEIN);
> 1866 MMRESULT waveInStop(HWAVEIN);
> 1867 MMRESULT waveInReset(HWAVEIN);
> 1868 MMRESULT waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
> 1869 MMRESULT waveInGetID(HWAVEIN,LPUINT);
> 1870 MMRESULT waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
> 1871 UINT midiOutGetNumDevs();
> 1872 MMRESULT midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD);
> 1873 MMRESULT midiStreamClose(HMIDISTRM);
> 1874 MMRESULT midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
> 1875 MMRESULT midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
> 1876 MMRESULT midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
> 1877 MMRESULT midiStreamPause(HMIDISTRM);
> 1878 MMRESULT midiStreamRestart(HMIDISTRM);
> 1879 MMRESULT midiStreamStop(HMIDISTRM);
> 1880 MMRESULT midiConnect(HMIDI,HMIDIOUT,PVOID);
> 1881 MMRESULT midiDisconnect(HMIDI,HMIDIOUT,PVOID);
> 1882 MMRESULT midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
> 1883 MMRESULT midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
> 1884 MMRESULT midiOutGetVolume(HMIDIOUT,PDWORD);
> 1885 MMRESULT midiOutSetVolume(HMIDIOUT,DWORD);
> 1886 MMRESULT midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
> 1887 MMRESULT midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
> 1888 MMRESULT midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD);
> 1889 MMRESULT midiOutClose(HMIDIOUT);
> 1890 MMRESULT midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
> 1891 MMRESULT midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
> 1892 MMRESULT midiOutShortMsg(HMIDIOUT,DWORD);
> 1893 MMRESULT midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
> 1894 MMRESULT midiOutReset(HMIDIOUT);
> 1895 MMRESULT midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
> 1896 MMRESULT midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
> 1897 MMRESULT midiOutGetID(HMIDIOUT,LPUINT);
> 1898 MMRESULT midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
> 1899 UINT midiInGetNumDevs();
> 1900 MMRESULT midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
> 1901 MMRESULT midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
> 1902 MMRESULT midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
> 1903 MMRESULT midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
> 1904 MMRESULT midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD);
> 1905 MMRESULT midiInClose(HMIDIIN);
> 1906 MMRESULT midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
> 1907 MMRESULT midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
> 1908 MMRESULT midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
> 1909 MMRESULT midiInStart(HMIDIIN);
> 1910 MMRESULT midiInStop(HMIDIIN);
> 1911 MMRESULT midiInReset(HMIDIIN);
> 1912 MMRESULT midiInGetID(HMIDIIN,LPUINT);
> 1913 MMRESULT midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
> 1914 UINT auxGetNumDevs();
> 1915 MMRESULT auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
> 1916 MMRESULT auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
> 1917 MMRESULT auxSetVolume(UINT,DWORD);
> 1918 MMRESULT auxGetVolume(UINT,PDWORD);
> 1919 MMRESULT auxOutMessage(UINT,UINT,DWORD,DWORD);
> 1920 UINT mixerGetNumDevs();
> 1921 MMRESULT mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
> 1922 MMRESULT mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
> 1923 MMRESULT mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
> 1924 MMRESULT mixerClose(HMIXER);
> 1925 DWORD mixerMessage(HMIXER,UINT,DWORD,DWORD);
> 1926 MMRESULT mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
> 1927 MMRESULT mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
> 1928 MMRESULT mixerGetID(HMIXEROBJ,PUINT,DWORD);
> 1929 MMRESULT mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
> 1930 MMRESULT mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
> 1931 MMRESULT mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
> 1932 MMRESULT mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
> 1933 MMRESULT mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
> 1934 MMRESULT timeGetSystemTime(LPMMTIME,UINT);
> 1935 DWORD timeGetTime();
> 1936 MMRESULT timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
> 1937 MMRESULT timeKillEvent(UINT);
> 1938 MMRESULT timeGetDevCaps(LPTIMECAPS,UINT);
> 1939 MMRESULT timeBeginPeriod(UINT);
> 1940 MMRESULT timeEndPeriod(UINT);
> 1941 UINT joyGetNumDevs();
> 1942 MMRESULT joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
> 1943 MMRESULT joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
> 1944 MMRESULT joyGetPos(UINT,LPJOYINFO);
> 1945 MMRESULT joyGetPosEx(UINT,LPJOYINFOEX);
> 1946 MMRESULT joyGetThreshold(UINT,LPUINT);
> 1947 MMRESULT joyReleaseCapture(UINT);
> 1948 MMRESULT joySetCapture(HWND,UINT,UINT,BOOL);
> 1949 MMRESULT joySetThreshold(UINT,UINT);
> 1950 FOURCC mmioStringToFOURCCA(LPCSTR,UINT);
> 1951 FOURCC mmioStringToFOURCCW(LPCWSTR,UINT);
> 1952 LPMMIOPROC mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
> 1953 LPMMIOPROC mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
> 1954 HMMIO mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
> 1955 HMMIO mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
> 1956 MMRESULT mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
> 1957 MMRESULT mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
> 1958 MMRESULT mmioClose(HMMIO,UINT);
> 1959 LONG mmioRead(HMMIO,HPSTR,LONG);
> 1960 LONG mmioWrite(HMMIO,LPCSTR,LONG);
> 1961 LONG mmioSeek(HMMIO,LONG,int);
> 1962 MMRESULT mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
> 1963 MMRESULT mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
> 1964 MMRESULT mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
> 1965 MMRESULT mmioFlush(HMMIO,UINT);
> 1966 MMRESULT mmioAdvance(HMMIO,LPMMIOINFO,UINT);
> 1967 LRESULT mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
> 1968 MMRESULT mmioDescend(HMMIO,LPMMCKINFO, CPtr!(MMCKINFO),UINT);
> 1969 MMRESULT mmioAscend(HMMIO,LPMMCKINFO,UINT);
> 1970 MMRESULT mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
> 1971 MCIERROR mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD);
> 1972 MCIERROR mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD);
> 1973 MCIERROR mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
> 1974 MCIERROR mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
> 1975 MCIDEVICEID mciGetDeviceIDA(LPCSTR);
> 1976 MCIDEVICEID mciGetDeviceIDW(LPCWSTR);
> 1977 MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
> 1978 MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
> 1979 BOOL mciGetErrorStringA(MCIERROR,LPSTR,UINT);
> 1980 BOOL mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
> 1981 BOOL mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
> 1982 HTASK mciGetCreatorTask(MCIDEVICEID);
> 1983 YIELDPROC mciGetYieldProc(MCIDEVICEID,PDWORD);
> 1984
> 1985 struct MCI_SEQ_SET_PARMS {
> 1986 DWORD dwCallback;
> 1987 DWORD dwTimeFormat;
> 1988 DWORD dwAudio;
> 1989 DWORD dwTempo;
> 1990 DWORD dwPort;
> 1991 DWORD dwSlave;
> 1992 DWORD dwMaster;
> 1993 DWORD dwOffset;
> 1994 }
> 1995 alias MCI_SEQ_SET_PARMS* PMCI_SEQ_SET_PARMS, LPMCI_SEQ_SET_PARMS;
> 1996
> 1997 struct MCI_ANIM_OPEN_PARMSA {
> 1998 DWORD dwCallback;
> 1999 MCIDEVICEID wDeviceID;
> 2000 LPCSTR lpstrDeviceType;
> 2001 LPCSTR lpstrElementName;
> 2002 LPCSTR lpstrAlias;
> 2003 DWORD dwStyle;
> 2004 HWND hWndParent;
> 2005 }
> 2006 alias MCI_ANIM_OPEN_PARMSA* PMCI_ANIM_OPEN_PARMSA, LPMCI_ANIM_OPEN_PARMSA;
> 2007
> 2008 struct MCI_ANIM_OPEN_PARMSW {
> 2009 DWORD dwCallback;
> 2010 MCIDEVICEID wDeviceID;
> 2011 LPCWSTR lpstrDeviceType;
> 2012 LPCWSTR lpstrElementName;
> 2013 LPCWSTR lpstrAlias;
> 2014 DWORD dwStyle;
> 2015 HWND hWndParent;
> 2016 }
> 2017 alias MCI_ANIM_OPEN_PARMSW* PMCI_ANIM_OPEN_PARMSW, LPMCI_ANIM_OPEN_PARMSW;
> 2018
> 2019 struct MCI_ANIM_PLAY_PARMS {
> 2020 DWORD dwCallback;
> 2021 DWORD dwFrom;
> 2022 DWORD dwTo;
> 2023 DWORD dwSpeed;
> 2024 }
> 2025 alias MCI_ANIM_PLAY_PARMS* PMCI_ANIM_PLAY_PARMS, LPMCI_ANIM_PLAY_PARMS;
> 2026
> 2027 struct MCI_ANIM_STEP_PARMS {
> 2028 DWORD dwCallback;
> 2029 DWORD dwFrames;
> 2030 }
> 2031 alias MCI_ANIM_STEP_PARMS* PMCI_ANIM_STEP_PARMS, LPMCI_ANIM_STEP_PARMS;
> 2032
> 2033 struct MCI_ANIM_WINDOW_PARMSA {
> 2034 DWORD dwCallback;
> 2035 HWND hWnd;
> 2036 UINT nCmdShow;
> 2037 LPCSTR lpstrText;
> 2038 }
> 2039 alias MCI_ANIM_WINDOW_PARMSA* PMCI_ANIM_WINDOW_PARMSA, LPMCI_ANIM_WINDOW_PARMSA;
> 2040
> 2041 struct MCI_ANIM_WINDOW_PARMSW {
> 2042 DWORD dwCallback;
> 2043 HWND hWnd;
> 2044 UINT nCmdShow;
> 2045 LPCWSTR lpstrText;
> 2046 }
> 2047 alias MCI_ANIM_WINDOW_PARMSW* PMCI_ANIM_WINDOW_PARMSW, LPMCI_ANIM_WINDOW_PARMSW;
> 2048
> 2049 struct MCI_ANIM_RECT_PARMS {
> 2050 DWORD dwCallback;
> 2051 //#ifdef MCI_USE_OFFEXT
> 2052 // POINT ptOffset;
> 2053 // POINT ptExtent;
> 2054 //#else
> 2055 RECT rc;
> 2056 //#endif
> 2057 }
> 2058 alias MCI_ANIM_RECT_PARMS* PMCI_ANIM_RECT_PARMS, LPMCI_ANIM_RECT_PARMS;
> 2059
> 2060 struct MCI_ANIM_UPDATE_PARMS {
> 2061 DWORD dwCallback;
> 2062 RECT rc;
> 2063 HDC hDC;
> 2064 }
> 2065 alias MCI_ANIM_UPDATE_PARMS* PMCI_ANIM_UPDATE_PARMS, LPMCI_ANIM_UPDATE_PARMS;
> 2066
> 2067 struct MCI_OVLY_OPEN_PARMSA {
> 2068 DWORD dwCallback;
> 2069 MCIDEVICEID wDeviceID;
> 2070 LPCSTR lpstrDeviceType;
> 2071 LPCSTR lpstrElementName;
> 2072 LPCSTR lpstrAlias;
> 2073 DWORD dwStyle;
> 2074 HWND hWndParent;
> 2075 }
> 2076 alias MCI_OVLY_OPEN_PARMSA* PMCI_OVLY_OPEN_PARMSA, LPMCI_OVLY_OPEN_PARMSA;
> 2077
> 2078 struct MCI_OVLY_OPEN_PARMSW {
> 2079 DWORD dwCallback;
> 2080 MCIDEVICEID wDeviceID;
> 2081 LPCWSTR lpstrDeviceType;
> 2082 LPCWSTR lpstrElementName;
> 2083 LPCWSTR lpstrAlias;
> 2084 DWORD dwStyle;
> 2085 HWND hWndParent;
> 2086 }
> 2087 alias MCI_OVLY_OPEN_PARMSW* PMCI_OVLY_OPEN_PARMSW, LPMCI_OVLY_OPEN_PARMSW;
859 2088
860 // #if(WINVER >= 0x0400) | 2089 struct MCI_OVLY_WINDOW_PARMSA {
> 2090 DWORD dwCallback;
> 2091 HWND hWnd;
> 2092 UINT nCmdShow;
> 2093 LPCSTR lpstrText;
861 | 2094 }
862 enum : uint { MIDI_IO_STATUS = 0x00000020 } <
863 // #endif /* WINVER >= 0x0400 */ <
> 2095 alias MCI_OVLY_WINDOW_PARMSA* PMCI_OVLY_WINDOW_PARMSA, LPMCI_OVLY_WINDOW_PARMSA;
864 2096
865 enum : uint { MIDI_CACHE_ALL = 1 } | 2097 struct MCI_OVLY_WINDOW_PARMSW {
866 enum : uint { MIDI_CACHE_BESTFIT = 2 } <
867 enum : uint { MIDI_CACHE_QUERY = 3 } <
868 enum : uint { MIDI_UNCACHE = 4 } <
869 <
870 // #ifdef _WIN32 <
871 <
872 struct tagMIDIOUTCAPSA { <
873 WORD wMid; <
874 WORD wPid; <
875 MMVERSION vDriverVersion; <
876 CHAR szPname[MAXPNAMELEN]; <
877 WORD wTechnology; <
878 WORD wVoices; <
879 WORD wNotes; <
880 WORD wChannelMask; <
881 DWORD dwSupport; | 2098 DWORD dwCallback;
> 2099 HWND hWnd;
> 2100 UINT nCmdShow;
> 2101 LPCWSTR lpstrText;
882 } 2102 }
883 alias tagMIDIOUTCAPSA MIDIOUTCAPSA; | 2103 alias MCI_OVLY_WINDOW_PARMSW* PMCI_OVLY_WINDOW_PARMSW, LPMCI_OVLY_WINDOW_PARMSW;
884 alias tagMIDIOUTCAPSA* PMIDIOUTCAPSA; <
885 alias tagMIDIOUTCAPSA* NPMIDIOUTCAPSA; <
886 alias tagMIDIOUTCAPSA* LPMIDIOUTCAPSA; <
887 2104
888 struct tagMIDIOUTCAPSW { | 2105 struct MCI_OVLY_RECT_PARMS {
889 WORD wMid; | 2106 DWORD dwCallback;
890 WORD wPid; | 2107 //#ifdef MCI_USE_OFFEXT
891 MMVERSION vDriverVersion; | 2108 // POINT ptOffset;
892 WCHAR szPname[MAXPNAMELEN]; | 2109 // POINT ptExtent;
893 WORD wTechnology; | 2110 //#else
894 WORD wVoices; | 2111 RECT rc;
895 WORD wNotes; | 2112 //#endif
896 WORD wChannelMask; <
897 DWORD dwSupport; <
898 } 2113 }
899 alias tagMIDIOUTCAPSW MIDIOUTCAPSW; | 2114 alias MCI_OVLY_RECT_PARMS* PMCI_OVLY_RECT_PARMS, LPMCI_OVLY_RECT_PARMS;
900 alias tagMIDIOUTCAPSW* PMIDIOUTCAPSW; <
901 alias tagMIDIOUTCAPSW* NPMIDIOUTCAPSW; <
902 alias tagMIDIOUTCAPSW* LPMIDIOUTCAPSW; <
903 2115
904 // #ifdef UNICODE | 2116 struct MCI_OVLY_SAVE_PARMSA {
905 alias MIDIOUTCAPSW MIDIOUTCAPS; <
906 alias PMIDIOUTCAPSW PMIDIOUTCAPS; <
907 alias NPMIDIOUTCAPSW NPMIDIOUTCAPS; <
908 alias LPMIDIOUTCAPSW LPMIDIOUTCAPS; <
909 // #else <
910 // ... <
911 // #endif // UNICODE <
912 struct tagMIDIOUTCAPS2A { <
913 WORD wMid; <
914 WORD wPid; <
915 MMVERSION vDriverVersion; <
916 CHAR szPname[MAXPNAMELEN]; <
917 WORD wTechnology; <
918 WORD wVoices; <
919 WORD wNotes; <
920 WORD wChannelMask; <
921 DWORD dwSupport; | 2117 DWORD dwCallback;
922 GUID ManufacturerGuid; <
923 GUID ProductGuid; <
924 GUID NameGuid; <
> 2118 LPCSTR lpfilename;
> 2119 RECT rc;
925 } 2120 }
926 alias tagMIDIOUTCAPS2A MIDIOUTCAPS2A; | 2121 alias MCI_OVLY_SAVE_PARMSA* PMCI_OVLY_SAVE_PARMSA, LPMCI_OVLY_SAVE_PARMSA;
927 alias tagMIDIOUTCAPS2A* PMIDIOUTCAPS2A; <
928 alias tagMIDIOUTCAPS2A* NPMIDIOUTCAPS2A; <
929 alias tagMIDIOUTCAPS2A* LPMIDIOUTCAPS2A; <
930 2122
931 struct tagMIDIOUTCAPS2W { | 2123 struct MCI_OVLY_SAVE_PARMSW {
932 WORD wMid; | 2124 DWORD dwCallback;
933 WORD wPid; | 2125 LPCWSTR lpfilename;
934 MMVERSION vDriverVersion; | 2126 RECT rc;
935 WCHAR szPname[MAXPNAMELEN]; <
936 WORD wTechnology; <
937 WORD wVoices; <
938 WORD wNotes; <
939 WORD wChannelMask; <
940 DWORD dwSupport; <
941 GUID ManufacturerGuid; <
942 GUID ProductGuid; <
943 GUID NameGuid; <
944 } <
945 alias tagMIDIOUTCAPS2W MIDIOUTCAPS2W; <
946 alias tagMIDIOUTCAPS2W* PMIDIOUTCAPS2W; <
947 alias tagMIDIOUTCAPS2W* NPMIDIOUTCAPS2W; <
948 alias tagMIDIOUTCAPS2W* LPMIDIOUTCAPS2W; <
949 <
950 // #ifdef UNICODE <
951 alias MIDIOUTCAPS2W MIDIOUTCAPS2; <
952 alias PMIDIOUTCAPS2W PMIDIOUTCAPS2; <
953 alias NPMIDIOUTCAPS2W NPMIDIOUTCAPS2; <
954 alias LPMIDIOUTCAPS2W LPMIDIOUTCAPS2; <
955 // #else <
956 // ... <
957 // #endif // UNICODE <
958 <
959 // #else <
960 // ... <
961 // #endif <
962 <
963 enum : uint { MOD_MIDIPORT = 1 } <
964 enum : uint { MOD_SYNTH = 2 } <
965 enum : uint { MOD_SQSYNTH = 3 } <
966 enum : uint { MOD_FMSYNTH = 4 } <
967 enum : uint { MOD_MAPPER = 5 } <
968 enum : uint { MOD_WAVETABLE = 6 } <
969 enum : uint { MOD_SWSYNTH = 7 } <
970 <
971 enum : uint { MIDICAPS_VOLUME = 0x0001 } <
972 enum : uint { MIDICAPS_LRVOLUME = 0x0002 } <
973 enum : uint { MIDICAPS_CACHE = 0x0004 } <
974 // #if(WINVER >= 0x0400) <
975 enum : uint { MIDICAPS_STREAM = 0x0008 } <
976 // #endif /* WINVER >= 0x0400 */ <
977 <
978 // #ifdef _WIN32 <
979 <
980 struct tagMIDIINCAPSA { <
981 WORD wMid; <
982 WORD wPid; <
983 MMVERSION vDriverVersion; <
984 CHAR szPname[MAXPNAMELEN]; <
985 // #if (WINVER >= 0x0400) <
986 DWORD dwSupport; <
987 // #endif <
988 } 2127 }
989 alias tagMIDIINCAPSA MIDIINCAPSA; | 2128 alias MCI_OVLY_SAVE_PARMSW* PMCI_OVLY_SAVE_PARMSW, LPMCI_OVLY_SAVE_PARMSW;
990 alias tagMIDIINCAPSA* PMIDIINCAPSA; <
991 alias tagMIDIINCAPSA* NPMIDIINCAPSA; <
992 alias tagMIDIINCAPSA* LPMIDIINCAPSA; <
993 2129
994 struct tagMIDIINCAPSW { | 2130 struct MCI_OVLY_LOAD_PARMSA {
995 WORD wMid; <
996 WORD wPid; <
997 MMVERSION vDriverVersion; <
998 WCHAR szPname[MAXPNAMELEN]; <
999 // #if (WINVER >= 0x0400) <
1000 DWORD dwSupport; | 2131 DWORD dwCallback;
1001 // #endif <
1002 } <
1003 alias tagMIDIINCAPSW MIDIINCAPSW; <
1004 alias tagMIDIINCAPSW* PMIDIINCAPSW; <
1005 alias tagMIDIINCAPSW* NPMIDIINCAPSW; <
1006 alias tagMIDIINCAPSW* LPMIDIINCAPSW; <
1007 <
1008 // #ifdef UNICODE <
1009 alias MIDIINCAPSW MIDIINCAPS; <
1010 alias PMIDIINCAPSW PMIDIINCAPS; <
1011 alias NPMIDIINCAPSW NPMIDIINCAPS; <
1012 alias LPMIDIINCAPSW LPMIDIINCAPS; <
1013 // #else <
1014 // ... <
1015 // #endif // UNICODE <
1016 struct tagMIDIINCAPS2A { <
1017 WORD wMid; <
1018 WORD wPid; <
1019 MMVERSION vDriverVersion; <
1020 CHAR szPname[MAXPNAMELEN]; <
1021 // #if (WINVER >= 0x0400) <
1022 DWORD dwSupport; <
1023 // #endif <
1024 GUID ManufacturerGuid; <
1025 GUID ProductGuid; <
1026 GUID NameGuid; <
1027 } <
1028 alias tagMIDIINCAPS2A MIDIINCAPS2A; <
1029 alias tagMIDIINCAPS2A* PMIDIINCAPS2A; <
1030 alias tagMIDIINCAPS2A* NPMIDIINCAPS2A; <
1031 alias tagMIDIINCAPS2A* LPMIDIINCAPS2A; <
1032 <
1033 struct tagMIDIINCAPS2W { <
1034 WORD wMid; <
1035 WORD wPid; <
1036 MMVERSION vDriverVersion; <
1037 WCHAR szPname[MAXPNAMELEN]; <
1038 // #if (WINVER >= 0x0400) <
1039 DWORD dwSupport; <
1040 // #endif <
1041 GUID ManufacturerGuid; <
1042 GUID ProductGuid; <
1043 GUID NameGuid; <
1044 } <
1045 alias tagMIDIINCAPS2W MIDIINCAPS2W; <
1046 alias tagMIDIINCAPS2W* PMIDIINCAPS2W; <
1047 alias tagMIDIINCAPS2W* NPMIDIINCAPS2W; <
1048 alias tagMIDIINCAPS2W* LPMIDIINCAPS2W; <
1049 <
1050 // #ifdef UNICODE <
1051 alias MIDIINCAPS2W MIDIINCAPS2; <
1052 alias PMIDIINCAPS2W PMIDIINCAPS2; <
1053 alias NPMIDIINCAPS2W NPMIDIINCAPS2; <
1054 alias LPMIDIINCAPS2W LPMIDIINCAPS2; <
1055 // #else <
1056 // ... <
1057 // #endif // UNICODE <
1058 <
1059 // #else <
1060 // ... <
1061 // #if (WINVER >= 0x0400) <
1062 // ... <
1063 // #endif <
1064 // ... <
1065 // #endif <
1066 <
1067 struct midihdr_tag { <
1068 LPSTR lpData; | 2132 LPCSTR lpfilename;
1069 DWORD dwBufferLength; <
1070 DWORD dwBytesRecorded; <
1071 DWORD_PTR dwUser; <
1072 DWORD dwFlags; <
1073 midihdr_tag *lpNext; <
1074 DWORD_PTR reserved; <
1075 // #if (WINVER >= 0x0400) <
1076 DWORD dwOffset; <
1077 DWORD_PTR dwReserved[8]; <
1078 // #endif <
1079 } <
1080 alias midihdr_tag MIDIHDR; <
1081 alias midihdr_tag* PMIDIHDR; <
1082 alias midihdr_tag* NPMIDIHDR; <
1083 alias midihdr_tag* LPMIDIHDR; <
1084 <
1085 // #if(WINVER >= 0x0400) <
1086 struct midievent_tag { <
1087 DWORD dwDeltaTime; <
1088 DWORD dwStreamID; <
1089 DWORD dwEvent; <
1090 DWORD dwParms[1]; <
1091 } <
1092 alias midievent_tag MIDIEVENT; <
1093 <
1094 struct midistrmbuffver_tag { <
1095 DWORD dwVersion; <
1096 DWORD dwMid; <
1097 DWORD dwOEMVersion; <
1098 } <
1099 alias midistrmbuffver_tag MIDISTRMBUFFVER; <
1100 <
1101 // #endif /* WINVER >= 0x0400 */ <
1102 <
1103 enum : uint { MHDR_DONE = 0x00000001 } <
1104 enum : uint { MHDR_PREPARED = 0x00000002 } <
1105 enum : uint { MHDR_INQUEUE = 0x00000004 } <
1106 enum : uint { MHDR_ISSTRM = 0x00000008 } <
1107 // #if(WINVER >= 0x0400) <
1108 <
1109 enum : uint { MEVT_F_SHORT = 0x00000000 } <
1110 enum : uint { MEVT_F_LONG = 0x80000000 } <
1111 enum : uint { MEVT_F_CALLBACK = 0x40000000 } <
1112 <
1113 // #define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF)) <
1114 // #define MEVT_EVENTPARM(x) ((DWORD)((x)&0x00FFFFFFL)) <
1115 <
1116 enum : uint { MEVT_SHORTMSG = cast(BYTE)0x00 } <
1117 enum : uint { MEVT_TEMPO = cast(BYTE)0x01 } <
1118 enum : uint { MEVT_NOP = cast(BYTE)0x02 } <
1119 <
1120 enum : uint { MEVT_LONGMSG = cast(BYTE)0x80 } <
1121 enum : uint { MEVT_COMMENT = cast(BYTE)0x82 } <
1122 enum : uint { MEVT_VERSION = cast(BYTE)0x84 } <
1123 <
1124 enum { MIDISTRM_ERROR = -2 } <
1125 <
1126 enum : uint { MIDIPROP_SET = 0x80000000 } <
1127 enum : uint { MIDIPROP_GET = 0x40000000 } <
1128 <
1129 enum : uint { MIDIPROP_TIMEDIV = 0x00000001 } <
1130 enum : uint { MIDIPROP_TEMPO = 0x00000002 } <
1131 <
1132 struct midiproptimediv_tag { <
1133 DWORD cbStruct; <
1134 DWORD dwTimeDiv; <
> 2133 RECT rc;
1135 } 2134 }
1136 alias midiproptimediv_tag MIDIPROPTIMEDIV; | 2135 alias MCI_OVLY_LOAD_PARMSA* PMCI_OVLY_LOAD_PARMSA, LPMCI_OVLY_LOAD_PARMSA;
1137 alias midiproptimediv_tag* LPMIDIPROPTIMEDIV; <
1138 2136
1139 struct midiproptempo_tag { | 2137 struct MCI_OVLY_LOAD_PARMSW {
1140 DWORD cbStruct; <
1141 DWORD dwTempo; | 2138 DWORD dwCallback;
1142 } <
1143 alias midiproptempo_tag MIDIPROPTEMPO; <
1144 alias midiproptempo_tag* LPMIDIPROPTEMPO; <
1145 <
1146 // #endif /* WINVER >= 0x0400 */ <
1147 <
1148 extern(Windows) export UINT midiOutGetNumDevs(); <
1149 // #if(WINVER >= 0x0400) <
1150 extern(Windows) export MMRESULT midiStreamOpen(LPHMIDISTRM phms, LPUINT puDevice <
1151 extern(Windows) export MMRESULT midiStreamClose(HMIDISTRM hms); <
1152 <
1153 extern(Windows) export MMRESULT midiStreamProperty(HMIDISTRM hms, LPBYTE lppropd <
1154 extern(Windows) export MMRESULT midiStreamPosition(HMIDISTRM hms, LPMMTIME lpmmt <
1155 <
1156 extern(Windows) export MMRESULT midiStreamOut(HMIDISTRM hms, LPMIDIHDR pmh, UINT <
1157 extern(Windows) export MMRESULT midiStreamPause(HMIDISTRM hms); <
1158 extern(Windows) export MMRESULT midiStreamRestart(HMIDISTRM hms); <
1159 extern(Windows) export MMRESULT midiStreamStop(HMIDISTRM hms); <
1160 <
1161 // #ifdef _WIN32 <
1162 extern(Windows) export MMRESULT midiConnect(HMIDI hmi, HMIDIOUT hmo, LPVOID pRes <
1163 extern(Windows) export MMRESULT midiDisconnect(HMIDI hmi, HMIDIOUT hmo, LPVOID p <
1164 // #endif <
1165 // #endif /* WINVER >= 0x0400 */ <
1166 <
1167 // #ifdef _WIN32 <
1168 <
1169 extern(Windows) export MMRESULT midiOutGetDevCapsA(UINT_PTR uDeviceID, LPMIDIOUT <
1170 extern(Windows) export MMRESULT midiOutGetDevCapsW(UINT_PTR uDeviceID, LPMIDIOUT <
1171 // #ifdef UNICODE <
1172 alias midiOutGetDevCapsW midiOutGetDevCaps; <
1173 // #else <
1174 // #... <
1175 // #endif // !UNICODE <
1176 <
1177 // #else <
1178 // ... <
1179 // #endif <
1180 <
1181 // #if (WINVER >= 0x0400) <
1182 extern(Windows) export MMRESULT midiOutGetVolume(HMIDIOUT hmo, LPDWORD pdwVolume <
1183 extern(Windows) export MMRESULT midiOutSetVolume(HMIDIOUT hmo, DWORD dwVolume); <
1184 // #else <
1185 // ... <
1186 // #endif <
1187 <
1188 // #ifdef _WIN32 <
1189 <
1190 extern(Windows) export MMRESULT midiOutGetErrorTextA(MMRESULT mmrError, LPSTR ps <
1191 extern(Windows) export MMRESULT midiOutGetErrorTextW(MMRESULT mmrError, LPWSTR p <
1192 // #ifdef UNICODE <
1193 alias midiOutGetErrorTextW midiOutGetErrorText; <
1194 // #else <
1195 // #... <
1196 // #endif // !UNICODE <
1197 <
1198 // #else <
1199 // ... <
1200 // #endif <
1201 <
1202 extern(Windows) export MMRESULT midiOutOpen(LPHMIDIOUT phmo, UINT uDeviceID, <
1203 DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); <
1204 extern(Windows) export MMRESULT midiOutClose(HMIDIOUT hmo); <
1205 extern(Windows) export MMRESULT midiOutPrepareHeader(HMIDIOUT hmo, LPMIDIHDR pmh <
1206 extern(Windows) export MMRESULT midiOutUnprepareHeader(HMIDIOUT hmo, LPMIDIHDR p <
1207 extern(Windows) export MMRESULT midiOutShortMsg(HMIDIOUT hmo, DWORD dwMsg); <
1208 extern(Windows) export MMRESULT midiOutLongMsg(HMIDIOUT hmo, LPMIDIHDR pmh, UINT <
1209 extern(Windows) export MMRESULT midiOutReset(HMIDIOUT hmo); <
1210 extern(Windows) export MMRESULT midiOutCachePatches(HMIDIOUT hmo, UINT uBank, LP <
1211 extern(Windows) export MMRESULT midiOutCacheDrumPatches(HMIDIOUT hmo, UINT uPatc <
1212 extern(Windows) export MMRESULT midiOutGetID(HMIDIOUT hmo, LPUINT puDeviceID); <
1213 <
1214 // #if (WINVER >= 0x030a) <
1215 // #ifdef _WIN32 <
1216 extern(Windows) export MMRESULT midiOutMessage(HMIDIOUT hmo, UINT uMsg, DWORD_PT <
1217 // #else <
1218 // ... <
1219 // #endif <
1220 // #endif /* ifdef WINVER >= 0x030a */ <
1221 <
1222 extern(Windows) export UINT midiInGetNumDevs(); <
1223 <
1224 // #ifdef _WIN32 <
1225 <
1226 extern(Windows) export MMRESULT midiInGetDevCapsA(UINT_PTR uDeviceID, LPMIDIINCA <
1227 extern(Windows) export MMRESULT midiInGetDevCapsW(UINT_PTR uDeviceID, LPMIDIINCA <
1228 // #ifdef UNICODE <
1229 alias midiInGetDevCapsW midiInGetDevCaps; <
1230 // #else <
1231 // #... <
1232 // #endif // !UNICODE <
1233 extern(Windows) export MMRESULT midiInGetErrorTextA(MMRESULT mmrError, LPSTR psz <
1234 extern(Windows) export MMRESULT midiInGetErrorTextW(MMRESULT mmrError, LPWSTR ps <
1235 // #ifdef UNICODE <
1236 alias midiInGetErrorTextW midiInGetErrorText; <
1237 // #else <
1238 // #... <
1239 // #endif // !UNICODE <
1240 <
1241 // #else <
1242 // ... <
1243 // #endif <
1244 <
1245 extern(Windows) export MMRESULT midiInOpen(LPHMIDIIN phmi, UINT uDeviceID, <
1246 DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); <
1247 extern(Windows) export MMRESULT midiInClose(HMIDIIN hmi); <
1248 extern(Windows) export MMRESULT midiInPrepareHeader(HMIDIIN hmi, LPMIDIHDR pmh, <
1249 extern(Windows) export MMRESULT midiInUnprepareHeader(HMIDIIN hmi, LPMIDIHDR pmh <
1250 extern(Windows) export MMRESULT midiInAddBuffer(HMIDIIN hmi, LPMIDIHDR pmh, UINT <
1251 extern(Windows) export MMRESULT midiInStart(HMIDIIN hmi); <
1252 extern(Windows) export MMRESULT midiInStop(HMIDIIN hmi); <
1253 extern(Windows) export MMRESULT midiInReset(HMIDIIN hmi); <
1254 extern(Windows) export MMRESULT midiInGetID(HMIDIIN hmi, LPUINT puDeviceID); <
1255 <
1256 // #if (WINVER >= 0x030a) <
1257 // #ifdef _WIN32 <
1258 extern(Windows) export MMRESULT midiInMessage(HMIDIIN hmi, UINT uMsg, DWORD_PTR <
1259 // #else <
1260 // ... <
1261 // #endif <
1262 // #endif /* ifdef WINVER >= 0x030a */ <
1263 <
1264 // #endif /* ifndef MMNOMIDI */ <
1265 <
1266 // #ifndef MMNOAUX <
1267 <
1268 enum : uint { AUX_MAPPER = cast(UINT)-1 } <
1269 <
1270 // #ifdef _WIN32 <
1271 <
1272 struct tagAUXCAPSA { <
1273 WORD wMid; <
1274 WORD wPid; <
1275 MMVERSION vDriverVersion; <
1276 CHAR szPname[MAXPNAMELEN]; <
1277 WORD wTechnology; <
1278 WORD wReserved1; <
1279 DWORD dwSupport; <
1280 } <
1281 alias tagAUXCAPSA AUXCAPSA; <
1282 alias tagAUXCAPSA* PAUXCAPSA; <
1283 alias tagAUXCAPSA* NPAUXCAPSA; <
1284 alias tagAUXCAPSA* LPAUXCAPSA; <
1285 <
1286 struct tagAUXCAPSW { <
1287 WORD wMid; <
1288 WORD wPid; <
1289 MMVERSION vDriverVersion; <
1290 WCHAR szPname[MAXPNAMELEN]; <
1291 WORD wTechnology; <
1292 WORD wReserved1; <
1293 DWORD dwSupport; <
1294 } <
1295 alias tagAUXCAPSW AUXCAPSW; <
1296 alias tagAUXCAPSW* PAUXCAPSW; <
1297 alias tagAUXCAPSW* NPAUXCAPSW; <
1298 alias tagAUXCAPSW* LPAUXCAPSW; <
1299 <
1300 // #ifdef UNICODE <
1301 alias AUXCAPSW AUXCAPS; <
1302 alias PAUXCAPSW PAUXCAPS; <
1303 alias NPAUXCAPSW NPAUXCAPS; <
1304 alias LPAUXCAPSW LPAUXCAPS; <
1305 // #else <
1306 // ... <
1307 // #endif // UNICODE <
1308 struct tagAUXCAPS2A { <
1309 WORD wMid; <
1310 WORD wPid; <
1311 MMVERSION vDriverVersion; <
1312 CHAR szPname[MAXPNAMELEN]; <
1313 WORD wTechnology; <
1314 WORD wReserved1; <
1315 DWORD dwSupport; <
1316 GUID ManufacturerGuid; <
1317 GUID ProductGuid; <
1318 GUID NameGuid; <
1319 } <
1320 alias tagAUXCAPS2A AUXCAPS2A; <
1321 alias tagAUXCAPS2A* PAUXCAPS2A; <
1322 alias tagAUXCAPS2A* NPAUXCAPS2A; <
1323 alias tagAUXCAPS2A* LPAUXCAPS2A; <
1324 <
1325 struct tagAUXCAPS2W { <
1326 WORD wMid; <
1327 WORD wPid; <
1328 MMVERSION vDriverVersion; <
1329 WCHAR szPname[MAXPNAMELEN]; <
1330 WORD wTechnology; <
1331 WORD wReserved1; <
1332 DWORD dwSupport; <
1333 GUID ManufacturerGuid; <
1334 GUID ProductGuid; <
1335 GUID NameGuid; <
1336 } <
1337 alias tagAUXCAPS2W AUXCAPS2W; <
1338 alias tagAUXCAPS2W* PAUXCAPS2W; <
1339 alias tagAUXCAPS2W* NPAUXCAPS2W; <
1340 alias tagAUXCAPS2W* LPAUXCAPS2W; <
1341 <
1342 // #ifdef UNICODE <
1343 alias AUXCAPS2W AUXCAPS2; <
1344 alias PAUXCAPS2W PAUXCAPS2; <
1345 alias NPAUXCAPS2W NPAUXCAPS2; <
1346 alias LPAUXCAPS2W LPAUXCAPS2; <
1347 // #else <
1348 // ... <
1349 // #endif // UNICODE <
1350 <
1351 // #else <
1352 // ... <
1353 // #endif <
1354 <
1355 enum : uint { AUXCAPS_CDAUDIO = 1 } <
1356 enum : uint { AUXCAPS_AUXIN = 2 } <
1357 <
1358 enum : uint { AUXCAPS_VOLUME = 0x0001 } <
1359 enum : uint { AUXCAPS_LRVOLUME = 0x0002 } <
1360 <
1361 extern(Windows) export UINT auxGetNumDevs(); <
1362 // #ifdef _WIN32 <
1363 <
1364 extern(Windows) export MMRESULT auxGetDevCapsA(UINT_PTR uDeviceID, LPAUXCAPSA pa <
1365 extern(Windows) export MMRESULT auxGetDevCapsW(UINT_PTR uDeviceID, LPAUXCAPSW pa <
1366 // #ifdef UNICODE <
1367 alias auxGetDevCapsW auxGetDevCaps; <
1368 // #else <
1369 // #... <
1370 // #endif // !UNICODE <
1371 <
1372 // #else <
1373 // ... <
1374 // #endif <
1375 extern(Windows) export MMRESULT auxSetVolume(UINT uDeviceID, DWORD dwVolume); <
1376 extern(Windows) export MMRESULT auxGetVolume(UINT uDeviceID, LPDWORD pdwVolume); <
1377 <
1378 // #if (WINVER >= 0x030a) <
1379 // #ifdef _WIN32 <
1380 extern(Windows) export MMRESULT auxOutMessage(UINT uDeviceID, UINT uMsg, DWORD_P <
1381 // #else <
1382 // ... <
1383 // #endif <
1384 // #endif /* ifdef WINVER >= 0x030a */ <
1385 <
1386 // #endif /* ifndef MMNOAUX */ <
1387 <
1388 // #ifndef MMNOMIXER <
1389 <
1390 alias void* HMIXEROBJ; <
1391 alias HMIXEROBJ* LPHMIXEROBJ; <
1392 <
1393 alias void* HMIXER; <
1394 alias HMIXER* LPHMIXER; <
1395 <
1396 enum : uint { MIXER_SHORT_NAME_CHARS = 16 } <
1397 enum : uint { MIXER_LONG_NAME_CHARS = 64 } <
1398 <
1399 enum : uint { MIXERR_INVALLINE = MIXERR_BASE + 0 } <
1400 enum : uint { MIXERR_INVALCONTROL = MIXERR_BASE + 1 } <
1401 enum : uint { MIXERR_INVALVALUE = MIXERR_BASE + 2 } <
1402 enum : uint { MIXERR_LASTERROR = MIXERR_BASE + 2 } <
1403 <
1404 enum : uint { MIXER_OBJECTF_HANDLE = 0x80000000 } <
1405 enum : uint { MIXER_OBJECTF_MIXER = 0x00000000 } <
1406 enum : uint { MIXER_OBJECTF_HMIXER = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER } <
1407 enum : uint { MIXER_OBJECTF_WAVEOUT = 0x10000000 } <
1408 enum : uint { MIXER_OBJECTF_HWAVEOUT = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOU <
1409 enum : uint { MIXER_OBJECTF_WAVEIN = 0x20000000 } <
1410 enum : uint { MIXER_OBJECTF_HWAVEIN = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN <
1411 enum : uint { MIXER_OBJECTF_MIDIOUT = 0x30000000 } <
1412 enum : uint { MIXER_OBJECTF_HMIDIOUT = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOU <
1413 enum : uint { MIXER_OBJECTF_MIDIIN = 0x40000000 } <
1414 enum : uint { MIXER_OBJECTF_HMIDIIN = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN <
1415 enum : uint { MIXER_OBJECTF_AUX = 0x50000000 } <
1416 <
1417 extern(Windows) export UINT mixerGetNumDevs(); <
1418 <
1419 // #ifdef _WIN32 <
1420 <
1421 struct tagMIXERCAPSA { <
1422 WORD wMid; <
1423 WORD wPid; <
1424 MMVERSION vDriverVersion; <
1425 CHAR szPname[MAXPNAMELEN]; <
1426 DWORD fdwSupport; <
1427 DWORD cDestinations; <
> 2139 LPCWSTR lpfilename;
> 2140 RECT rc;
1428 } 2141 }
1429 alias tagMIXERCAPSA MIXERCAPSA; | 2142 alias MCI_OVLY_LOAD_PARMSW* PMCI_OVLY_LOAD_PARMSW, LPMCI_OVLY_LOAD_PARMSW;
1430 alias tagMIXERCAPSA* PMIXERCAPSA; <
1431 alias tagMIXERCAPSA* LPMIXERCAPSA; <
1432 2143
1433 struct tagMIXERCAPSW { | 2144 version(Unicode) {
1434 WORD wMid; | 2145 alias WAVEOUTCAPSW WAVEOUTCAPS;
1435 WORD wPid; | 2146 alias WAVEINCAPSW WAVEINCAPS;
1436 MMVERSION vDriverVersion; | 2147 alias MIDIOUTCAPSW MIDIOUTCAPS;
1437 WCHAR szPname[MAXPNAMELEN]; | 2148 alias MIDIINCAPSW MIDIINCAPS;
1438 DWORD fdwSupport; | 2149 alias AUXCAPSW AUXCAPS;
1439 DWORD cDestinations; <
1440 } <
1441 alias tagMIXERCAPSW MIXERCAPSW; | 2150 alias MIXERCAPSW MIXERCAPS;
> 2151 alias MIXERLINEW MIXERLINE;
> 2152 alias MIXERCONTROLA MIXERCONTROL;
1442 alias tagMIXERCAPSW* PMIXERCAPSW; | 2153 alias MIXERLINECONTROLSW MIXERLINECONTROLS;
1443 alias tagMIXERCAPSW* LPMIXERCAPSW; | 2154 alias MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT;
> 2155 alias JOYCAPSW JOYCAPS;
> 2156 alias MCI_OPEN_PARMSW MCI_OPEN_PARMS;
> 2157 alias MCI_INFO_PARMSW MCI_INFO_PARMS;
> 2158 alias MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS;
> 2159 alias MCI_SAVE_PARMSW MCI_SAVE_PARMS;
> 2160 alias MCI_LOAD_PARMSW MCI_LOAD_PARMS;
> 2161 alias MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS;
> 2162 alias MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS;
> 2163 alias MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS;
> 2164 alias MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS;
> 2165 alias MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS;
> 2166 alias MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS;
> 2167 alias MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS;
1444 2168
1445 // #ifdef UNICODE | 2169 alias sndPlaySoundW sndPlaySound;
1446 alias MIXERCAPSW MIXERCAPS; | 2170 alias PlaySoundW PlaySound;
1447 alias PMIXERCAPSW PMIXERCAPS; | 2171 alias waveOutGetDevCapsW waveOutGetDevCaps;
1448 alias LPMIXERCAPSW LPMIXERCAPS; | 2172 alias waveOutGetErrorTextW waveOutGetErrorText;
1449 // #else | 2173 alias waveInGetDevCapsW waveInGetDevCaps;
1450 // ... | 2174 alias waveInGetErrorTextW waveInGetErrorText;
1451 // #endif // UNICODE | 2175 alias midiOutGetDevCapsW midiOutGetDevCaps;
1452 struct tagMIXERCAPS2A { | 2176 alias midiOutGetErrorTextW midiOutGetErrorText;
1453 WORD wMid; | 2177 alias midiInGetDevCapsW midiInGetDevCaps;
1454 WORD wPid; | 2178 alias midiInGetErrorTextW midiInGetErrorText;
1455 MMVERSION vDriverVersion; | 2179 alias auxGetDevCapsW auxGetDevCaps;
1456 CHAR szPname[MAXPNAMELEN]; | 2180 alias mixerGetDevCapsW mixerGetDevCaps;
1457 DWORD fdwSupport; | 2181 alias mixerGetLineInfoW mixerGetLineInfo;
1458 DWORD cDestinations; | 2182 alias mixerGetLineControlsW mixerGetLineControls;
1459 GUID ManufacturerGuid; | 2183 alias mixerGetControlDetailsW mixerGetControlDetails;
1460 GUID ProductGuid; | 2184 alias joyGetDevCapsW joyGetDevCaps;
1461 GUID NameGuid; | 2185 alias mmioInstallIOProcW mmioInstallIOProc;
1462 } <
> 2186 alias mmioStringToFOURCCW mmioStringToFOURCC;
1463 alias tagMIXERCAPS2A MIXERCAPS2A; | 2187 alias mmioOpenW mmioOpen;
1464 alias tagMIXERCAPS2A* PMIXERCAPS2A; | 2188 alias mmioRenameW mmioRename;
1465 alias tagMIXERCAPS2A* LPMIXERCAPS2A; | 2189 alias mciSendCommandW mciSendCommand;
1466 <
> 2190 alias mciSendStringW mciSendString;
1467 struct tagMIXERCAPS2W { | 2191 alias mciGetDeviceIDW mciGetDeviceID;
1468 WORD wMid; | 2192 alias mciGetDeviceIDFromElementIDW mciGetDeviceIDFromElementID;
1469 WORD wPid; | 2193 alias mciGetErrorStringW mciGetErrorString;
1470 MMVERSION vDriverVersion; <
1471 WCHAR szPname[MAXPNAMELEN]; <
1472 DWORD fdwSupport; <
1473 DWORD cDestinations; <
1474 GUID ManufacturerGuid; <
1475 GUID ProductGuid; <
1476 GUID NameGuid; <
1477 } <
1478 alias tagMIXERCAPS2W MIXERCAPS2W; <
1479 alias tagMIXERCAPS2W* PMIXERCAPS2W; <
1480 alias tagMIXERCAPS2W* LPMIXERCAPS2W; <
1481 2194
1482 // #ifdef UNICODE | 2195 } else {
1483 alias MIXERCAPS2W MIXERCAPS2; | 2196 alias WAVEOUTCAPSA WAVEOUTCAPS;
1484 alias PMIXERCAPS2W PMIXERCAPS2; | 2197 alias WAVEINCAPSA WAVEINCAPS;
1485 alias LPMIXERCAPS2W LPMIXERCAPS2; | 2198 alias MIDIOUTCAPSA MIDIOUTCAPS;
1486 // #else | 2199 alias MIDIINCAPSA MIDIINCAPS;
1487 // ... | 2200 alias AUXCAPSA AUXCAPS;
1488 // #endif // UNICODE | 2201 alias MIXERCAPSA MIXERCAPS;
1489 <
> 2202 alias MIXERLINEA MIXERLINE;
1490 // #else | 2203 alias MIXERCONTROLA MIXERCONTROL;
1491 // ... | 2204 alias MIXERLINECONTROLSA MIXERLINECONTROLS;
1492 // #endif | 2205 alias MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT;
1493 <
> 2206 alias JOYCAPSA JOYCAPS;
1494 // #ifdef _WIN32 | 2207 alias MCI_OPEN_PARMSA MCI_OPEN_PARMS;
1495 <
> 2208 alias MCI_INFO_PARMSA MCI_INFO_PARMS;
1496 extern(Windows) export MMRESULT mixerGetDevCapsA(UINT_PTR uMxId, LPMIXERCAPSA pm | 2209 alias MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS;
1497 extern(Windows) export MMRESULT mixerGetDevCapsW(UINT_PTR uMxId, LPMIXERCAPSW pm | 2210 alias MCI_SAVE_PARMSA MCI_SAVE_PARMS;
1498 // #ifdef UNICODE | 2211 alias MCI_LOAD_PARMSA MCI_LOAD_PARMS;
1499 alias mixerGetDevCapsW mixerGetDevCaps; | 2212 alias MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS;
1500 // #else | 2213 alias MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS;
1501 // #... | 2214 alias MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS;
1502 // #endif // !UNICODE | 2215 alias MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS;
1503 <
> 2216 alias MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS;
1504 // #else | 2217 alias MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS;
1505 // ... | 2218 alias MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS;
1506 // #endif <
1507 <
1508 extern(Windows) export MMRESULT mixerOpen(LPHMIXER phmx, UINT uMxId, DWORD_PTR d <
1509 <
1510 extern(Windows) export MMRESULT mixerClose(HMIXER hmx); <
1511 <
1512 extern(Windows) export DWORD mixerMessage(HMIXER hmx, UINT uMsg, DWORD_PTR dwPar <
1513 2219
1514 // #ifdef _WIN32 | 2220 alias sndPlaySoundA sndPlaySound;
1515 <
> 2221 alias PlaySoundA PlaySound;
1516 struct tagMIXERLINEA { | 2222 alias waveOutGetDevCapsA waveOutGetDevCaps;
1517 DWORD cbStruct; | 2223 alias waveOutGetErrorTextA waveOutGetErrorText;
1518 DWORD dwDestination; | 2224 alias waveInGetDevCapsA waveInGetDevCaps;
1519 DWORD dwSource; | 2225 alias waveInGetErrorTextA waveInGetErrorText;
1520 DWORD dwLineID; | 2226 alias midiOutGetDevCapsA midiOutGetDevCaps;
1521 DWORD fdwLine; | 2227 alias midiOutGetErrorTextA midiOutGetErrorText;
1522 DWORD_PTR dwUser; | 2228 alias midiInGetDevCapsA midiInGetDevCaps;
1523 DWORD dwComponentType; | 2229 alias midiInGetErrorTextA midiInGetErrorText;
1524 DWORD cChannels; | 2230 alias auxGetDevCapsA auxGetDevCaps;
1525 DWORD cConnections; | 2231 alias mixerGetDevCapsA mixerGetDevCaps;
1526 DWORD cControls; <
1527 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; <
1528 CHAR szName[MIXER_LONG_NAME_CHARS]; <
1529 struct { <
1530 DWORD dwType; <
1531 DWORD dwDeviceID; <
1532 WORD wMid; <
1533 WORD wPid; <
1534 MMVERSION vDriverVersion; <
1535 CHAR szPname[MAXPNAMELEN]; <
1536 } <
1537 <
1538 } <
1539 alias tagMIXERLINEA MIXERLINEA; <
1540 alias tagMIXERLINEA* PMIXERLINEA; <
1541 alias tagMIXERLINEA* LPMIXERLINEA; <
1542 <
1543 struct tagMIXERLINEW { <
1544 DWORD cbStruct; <
1545 DWORD dwDestination; <
1546 DWORD dwSource; <
1547 DWORD dwLineID; <
1548 DWORD fdwLine; <
1549 DWORD_PTR dwUser; <
1550 DWORD dwComponentType; <
1551 DWORD cChannels; <
1552 DWORD cConnections; <
1553 DWORD cControls; <
1554 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; <
1555 WCHAR szName[MIXER_LONG_NAME_CHARS]; <
1556 struct { <
1557 DWORD dwType; <
1558 DWORD dwDeviceID; <
1559 WORD wMid; <
1560 WORD wPid; <
1561 MMVERSION vDriverVersion; <
1562 WCHAR szPname[MAXPNAMELEN]; <
1563 } <
1564 <
1565 } <
1566 alias tagMIXERLINEW MIXERLINEW; <
1567 alias tagMIXERLINEW* PMIXERLINEW; <
1568 alias tagMIXERLINEW* LPMIXERLINEW; <
1569 <
1570 // #ifdef UNICODE <
1571 alias MIXERLINEW MIXERLINE; <
1572 alias PMIXERLINEW PMIXERLINE; <
1573 alias LPMIXERLINEW LPMIXERLINE; <
1574 // #else <
1575 // ... <
1576 // #endif // UNICODE <
1577 <
1578 // #else <
1579 // ... <
1580 // #endif <
1581 <
1582 enum : uint { MIXERLINE_LINEF_ACTIVE = 0x00000001 } <
1583 enum : uint { MIXERLINE_LINEF_DISCONNECTED = 0x00008000 } <
1584 enum : uint { MIXERLINE_LINEF_SOURCE = 0x80000000 } <
1585 <
1586 enum : uint { MIXERLINE_COMPONENTTYPE_DST_FIRST = 0x00000000 } <
1587 enum : uint { MIXERLINE_COMPONENTTYPE_DST_UNDEFINED = MIXERLINE_COMPONENTTYPE_DS <
1588 enum : uint { MIXERLINE_COMPONENTTYPE_DST_DIGITAL = MIXERLINE_COMPONENTTYPE_DST_ <
1589 enum : uint { MIXERLINE_COMPONENTTYPE_DST_LINE = MIXERLINE_COMPONENTTYPE_DST_FIR <
1590 enum : uint { MIXERLINE_COMPONENTTYPE_DST_MONITOR = MIXERLINE_COMPONENTTYPE_DST_ <
1591 enum : uint { MIXERLINE_COMPONENTTYPE_DST_SPEAKERS = MIXERLINE_COMPONENTTYPE_DST <
1592 enum : uint { MIXERLINE_COMPONENTTYPE_DST_HEADPHONES = MIXERLINE_COMPONENTTYPE_D <
1593 enum : uint { MIXERLINE_COMPONENTTYPE_DST_TELEPHONE = MIXERLINE_COMPONENTTYPE_DS <
1594 enum : uint { MIXERLINE_COMPONENTTYPE_DST_WAVEIN = MIXERLINE_COMPONENTTYPE_DST_F <
1595 enum : uint { MIXERLINE_COMPONENTTYPE_DST_VOICEIN = MIXERLINE_COMPONENTTYPE_DST_ <
1596 enum : uint { MIXERLINE_COMPONENTTYPE_DST_LAST = MIXERLINE_COMPONENTTYPE_DST_FIR <
1597 <
1598 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_FIRST = 0x00001000 } <
1599 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED = MIXERLINE_COMPONENTTYPE_SR <
1600 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_DIGITAL = MIXERLINE_COMPONENTTYPE_SRC_ <
1601 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_LINE = MIXERLINE_COMPONENTTYPE_SRC_FIR <
1602 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = MIXERLINE_COMPONENTTYPE_S <
1603 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER = MIXERLINE_COMPONENTTYPE_ <
1604 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC = MIXERLINE_COMPONENTTYPE_ <
1605 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE = MIXERLINE_COMPONENTTYPE_SR <
1606 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER = MIXERLINE_COMPONENTTYPE_SR <
1607 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = MIXERLINE_COMPONENTTYPE_SRC_ <
1608 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY = MIXERLINE_COMPONENTTYPE_SR <
1609 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_ANALOG = MIXERLINE_COMPONENTTYPE_SRC_F <
1610 enum : uint { MIXERLINE_COMPONENTTYPE_SRC_LAST = MIXERLINE_COMPONENTTYPE_SRC_FIR <
1611 <
1612 enum : uint { MIXERLINE_TARGETTYPE_UNDEFINED = 0 } <
1613 enum : uint { MIXERLINE_TARGETTYPE_WAVEOUT = 1 } <
1614 enum : uint { MIXERLINE_TARGETTYPE_WAVEIN = 2 } <
1615 enum : uint { MIXERLINE_TARGETTYPE_MIDIOUT = 3 } <
1616 enum : uint { MIXERLINE_TARGETTYPE_MIDIIN = 4 } <
1617 enum : uint { MIXERLINE_TARGETTYPE_AUX = 5 } <
1618 <
1619 // #ifdef _WIN32 <
1620 <
1621 extern(Windows) export MMRESULT mixerGetLineInfoA(HMIXEROBJ hmxobj, LPMIXERLINEA <
1622 extern(Windows) export MMRESULT mixerGetLineInfoW(HMIXEROBJ hmxobj, LPMIXERLINEW <
1623 // #ifdef UNICODE <
1624 alias mixerGetLineInfoW mixerGetLineInfo; | 2232 alias mixerGetLineInfoA mixerGetLineInfo;
1625 // #else <
1626 // #... <
1627 // #endif // !UNICODE <
1628 <
1629 // #else <
1630 // ... <
1631 // #endif <
1632 <
1633 enum : uint { MIXER_GETLINEINFOF_DESTINATION = 0x00000000 } <
1634 enum : uint { MIXER_GETLINEINFOF_SOURCE = 0x00000001 } <
1635 enum : uint { MIXER_GETLINEINFOF_LINEID = 0x00000002 } <
1636 enum : uint { MIXER_GETLINEINFOF_COMPONENTTYPE = 0x00000003 } <
1637 enum : uint { MIXER_GETLINEINFOF_TARGETTYPE = 0x00000004 } <
1638 <
1639 enum : uint { MIXER_GETLINEINFOF_QUERYMASK = 0x0000000F } <
1640 <
1641 extern(Windows) export MMRESULT mixerGetID(HMIXEROBJ hmxobj, UINT *puMxId, DWORD <
1642 <
1643 // #ifdef _WIN32 <
1644 <
1645 struct tagMIXERCONTROLA { <
1646 DWORD cbStruct; <
1647 DWORD dwControlID; <
1648 DWORD dwControlType; <
1649 DWORD fdwControl; <
1650 DWORD cMultipleItems; <
1651 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; <
1652 CHAR szName[MIXER_LONG_NAME_CHARS]; <
1653 union _0 { <
1654 struct { <
1655 LONG lMinimum; <
1656 LONG lMaximum; <
1657 } <
1658 <
1659 struct { <
1660 DWORD dwMinimum; <
1661 DWORD dwMaximum; <
1662 } <
1663 <
1664 DWORD dwReserved[6]; <
1665 } <
1666 _0 Bounds; <
1667 <
1668 union _1 { <
1669 DWORD cSteps; <
1670 DWORD cbCustomData; <
1671 DWORD dwReserved[6]; <
1672 } <
1673 _1 Metrics; <
1674 <
1675 } <
1676 alias tagMIXERCONTROLA MIXERCONTROLA; <
1677 alias tagMIXERCONTROLA* PMIXERCONTROLA; <
1678 alias tagMIXERCONTROLA* LPMIXERCONTROLA; <
1679 <
1680 struct tagMIXERCONTROLW { <
1681 DWORD cbStruct; <
1682 DWORD dwControlID; <
1683 DWORD dwControlType; <
1684 DWORD fdwControl; <
1685 DWORD cMultipleItems; <
1686 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; <
1687 WCHAR szName[MIXER_LONG_NAME_CHARS]; <
1688 union _2 { <
1689 struct { <
1690 LONG lMinimum; <
1691 LONG lMaximum; <
1692 } <
1693 <
1694 struct { <
1695 DWORD dwMinimum; <
1696 DWORD dwMaximum; <
1697 } <
1698 <
1699 DWORD dwReserved[6]; <
1700 } <
1701 _2 Bounds; <
1702 <
1703 union _3 { <
1704 DWORD cSteps; <
1705 DWORD cbCustomData; <
1706 DWORD dwReserved[6]; <
1707 } <
1708 _3 Metrics; <
1709 <
1710 } <
1711 alias tagMIXERCONTROLW MIXERCONTROLW; <
1712 alias tagMIXERCONTROLW* PMIXERCONTROLW; <
1713 alias tagMIXERCONTROLW* LPMIXERCONTROLW; <
1714 <
1715 // #ifdef UNICODE <
1716 alias MIXERCONTROLW MIXERCONTROL; <
1717 alias PMIXERCONTROLW PMIXERCONTROL; <
1718 alias LPMIXERCONTROLW LPMIXERCONTROL; <
1719 // #else <
1720 // ... <
1721 // #endif // UNICODE <
1722 <
1723 // #else <
1724 // ... <
1725 // #endif <
1726 <
1727 enum : uint { MIXERCONTROL_CONTROLF_UNIFORM = 0x00000001 } <
1728 enum : uint { MIXERCONTROL_CONTROLF_MULTIPLE = 0x00000002 } <
1729 enum : uint { MIXERCONTROL_CONTROLF_DISABLED = 0x80000000 } <
1730 <
1731 enum : uint { MIXERCONTROL_CT_CLASS_MASK = 0xF0000000 } <
1732 enum : uint { MIXERCONTROL_CT_CLASS_CUSTOM = 0x00000000 } <
1733 enum : uint { MIXERCONTROL_CT_CLASS_METER = 0x10000000 } <
1734 enum : uint { MIXERCONTROL_CT_CLASS_SWITCH = 0x20000000 } <
1735 enum : uint { MIXERCONTROL_CT_CLASS_NUMBER = 0x30000000 } <
1736 enum : uint { MIXERCONTROL_CT_CLASS_SLIDER = 0x40000000 } <
1737 enum : uint { MIXERCONTROL_CT_CLASS_FADER = 0x50000000 } <
1738 enum : uint { MIXERCONTROL_CT_CLASS_TIME = 0x60000000 } <
1739 enum : uint { MIXERCONTROL_CT_CLASS_LIST = 0x70000000 } <
1740 <
1741 enum : uint { MIXERCONTROL_CT_SUBCLASS_MASK = 0x0F000000 } <
1742 <
1743 enum : uint { MIXERCONTROL_CT_SC_SWITCH_BOOLEAN = 0x00000000 } <
1744 enum : uint { MIXERCONTROL_CT_SC_SWITCH_BUTTON = 0x01000000 } <
1745 <
1746 enum : uint { MIXERCONTROL_CT_SC_METER_POLLED = 0x00000000 } <
1747 <
1748 enum : uint { MIXERCONTROL_CT_SC_TIME_MICROSECS = 0x00000000 } <
1749 enum : uint { MIXERCONTROL_CT_SC_TIME_MILLISECS = 0x01000000 } <
1750 <
1751 enum : uint { MIXERCONTROL_CT_SC_LIST_SINGLE = 0x00000000 } <
1752 enum : uint { MIXERCONTROL_CT_SC_LIST_MULTIPLE = 0x01000000 } <
1753 <
1754 enum : uint { MIXERCONTROL_CT_UNITS_MASK = 0x00FF0000 } <
1755 enum : uint { MIXERCONTROL_CT_UNITS_CUSTOM = 0x00000000 } <
1756 enum : uint { MIXERCONTROL_CT_UNITS_BOOLEAN = 0x00010000 } <
1757 enum : uint { MIXERCONTROL_CT_UNITS_SIGNED = 0x00020000 } <
1758 enum : uint { MIXERCONTROL_CT_UNITS_UNSIGNED = 0x00030000 } <
1759 enum : uint { MIXERCONTROL_CT_UNITS_DECIBELS = 0x00040000 } <
1760 enum : uint { MIXERCONTROL_CT_UNITS_PERCENT = 0x00050000 } <
1761 <
1762 enum : uint { MIXERCONTROL_CONTROLTYPE_CUSTOM = MIXERCONTROL_CT_CLASS_CUSTOM | M <
1763 enum : uint { MIXERCONTROL_CONTROLTYPE_BOOLEANMETER = MIXERCONTROL_CT_CLASS_METE <
1764 enum : uint { MIXERCONTROL_CONTROLTYPE_SIGNEDMETER = MIXERCONTROL_CT_CLASS_METER <
1765 enum : uint { MIXERCONTROL_CONTROLTYPE_PEAKMETER = MIXERCONTROL_CONTROLTYPE_SIGN <
1766 enum : uint { MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = MIXERCONTROL_CT_CLASS_MET <
1767 enum : uint { MIXERCONTROL_CONTROLTYPE_BOOLEAN = MIXERCONTROL_CT_CLASS_SWITCH | <
1768 enum : uint { MIXERCONTROL_CONTROLTYPE_ONOFF = MIXERCONTROL_CONTROLTYPE_BOOLEAN <
1769 enum : uint { MIXERCONTROL_CONTROLTYPE_MUTE = MIXERCONTROL_CONTROLTYPE_BOOLEAN + <
1770 enum : uint { MIXERCONTROL_CONTROLTYPE_MONO = MIXERCONTROL_CONTROLTYPE_BOOLEAN + <
1771 enum : uint { MIXERCONTROL_CONTROLTYPE_LOUDNESS = MIXERCONTROL_CONTROLTYPE_BOOLE <
1772 enum : uint { MIXERCONTROL_CONTROLTYPE_STEREOENH = MIXERCONTROL_CONTROLTYPE_BOOL <
1773 enum : uint { MIXERCONTROL_CONTROLTYPE_BASS_BOOST = MIXERCONTROL_CONTROLTYPE_BOO <
1774 enum : uint { MIXERCONTROL_CONTROLTYPE_BUTTON = MIXERCONTROL_CT_CLASS_SWITCH | M <
1775 enum : uint { MIXERCONTROL_CONTROLTYPE_DECIBELS = MIXERCONTROL_CT_CLASS_NUMBER | <
1776 enum : uint { MIXERCONTROL_CONTROLTYPE_SIGNED = MIXERCONTROL_CT_CLASS_NUMBER | M <
1777 enum : uint { MIXERCONTROL_CONTROLTYPE_UNSIGNED = MIXERCONTROL_CT_CLASS_NUMBER | <
1778 enum : uint { MIXERCONTROL_CONTROLTYPE_PERCENT = MIXERCONTROL_CT_CLASS_NUMBER | <
1779 enum : uint { MIXERCONTROL_CONTROLTYPE_SLIDER = MIXERCONTROL_CT_CLASS_SLIDER | M <
1780 enum : uint { MIXERCONTROL_CONTROLTYPE_PAN = MIXERCONTROL_CONTROLTYPE_SLIDER + 1 <
1781 enum : uint { MIXERCONTROL_CONTROLTYPE_QSOUNDPAN = MIXERCONTROL_CONTROLTYPE_SLID <
1782 enum : uint { MIXERCONTROL_CONTROLTYPE_FADER = MIXERCONTROL_CT_CLASS_FADER | MIX <
1783 enum : uint { MIXERCONTROL_CONTROLTYPE_VOLUME = MIXERCONTROL_CONTROLTYPE_FADER + <
1784 enum : uint { MIXERCONTROL_CONTROLTYPE_BASS = MIXERCONTROL_CONTROLTYPE_FADER + 2 <
1785 enum : uint { MIXERCONTROL_CONTROLTYPE_TREBLE = MIXERCONTROL_CONTROLTYPE_FADER + <
1786 enum : uint { MIXERCONTROL_CONTROLTYPE_EQUALIZER = MIXERCONTROL_CONTROLTYPE_FADE <
1787 enum : uint { MIXERCONTROL_CONTROLTYPE_SINGLESELECT = MIXERCONTROL_CT_CLASS_LIST <
1788 enum : uint { MIXERCONTROL_CONTROLTYPE_MUX = MIXERCONTROL_CONTROLTYPE_SINGLESELE <
1789 enum : uint { MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = MIXERCONTROL_CT_CLASS_LI <
1790 enum : uint { MIXERCONTROL_CONTROLTYPE_MIXER = MIXERCONTROL_CONTROLTYPE_MULTIPLE <
1791 enum : uint { MIXERCONTROL_CONTROLTYPE_MICROTIME = MIXERCONTROL_CT_CLASS_TIME | <
1792 enum : uint { MIXERCONTROL_CONTROLTYPE_MILLITIME = MIXERCONTROL_CT_CLASS_TIME | <
1793 <
1794 // #ifdef _WIN32 <
1795 <
1796 struct tagMIXERLINECONTROLSA { <
1797 DWORD cbStruct; <
1798 DWORD dwLineID; <
1799 union { <
1800 DWORD dwControlID; <
1801 DWORD dwControlType; <
1802 } <
1803 <
1804 DWORD cControls; <
1805 DWORD cbmxctrl; <
1806 LPMIXERCONTROLA pamxctrl; <
1807 } <
1808 alias tagMIXERLINECONTROLSA MIXERLINECONTROLSA; <
1809 alias tagMIXERLINECONTROLSA* PMIXERLINECONTROLSA; <
1810 alias tagMIXERLINECONTROLSA* LPMIXERLINECONTROLSA; <
1811 <
1812 struct tagMIXERLINECONTROLSW { <
1813 DWORD cbStruct; <
1814 DWORD dwLineID; <
1815 union { <
1816 DWORD dwControlID; <
1817 DWORD dwControlType; <
1818 } <
1819 <
1820 DWORD cControls; <
1821 DWORD cbmxctrl; <
1822 LPMIXERCONTROLW pamxctrl; <
1823 } <
1824 alias tagMIXERLINECONTROLSW MIXERLINECONTROLSW; <
1825 alias tagMIXERLINECONTROLSW* PMIXERLINECONTROLSW; <
1826 alias tagMIXERLINECONTROLSW* LPMIXERLINECONTROLSW; <
1827 <
1828 // #ifdef UNICODE <
1829 alias MIXERLINECONTROLSW MIXERLINECONTROLS; <
1830 alias PMIXERLINECONTROLSW PMIXERLINECONTROLS; <
1831 alias LPMIXERLINECONTROLSW LPMIXERLINECONTROLS; <
1832 // #else <
1833 // ... <
1834 // #endif // UNICODE <
1835 <
1836 // #else <
1837 // ... <
1838 // #endif <
1839 <
1840 // #ifdef _WIN32 <
1841 <
1842 extern(Windows) export MMRESULT mixerGetLineControlsA(HMIXEROBJ hmxobj, LPMIXERL <
1843 extern(Windows) export MMRESULT mixerGetLineControlsW(HMIXEROBJ hmxobj, LPMIXERL <
1844 // #ifdef UNICODE <
1845 alias mixerGetLineControlsW mixerGetLineControls; | 2233 alias mixerGetLineControlsA mixerGetLineControls;
1846 // #else <
1847 // #... <
1848 // #endif // !UNICODE <
1849 <
1850 // #else <
1851 // ... <
1852 // #endif <
1853 <
1854 enum : uint { MIXER_GETLINECONTROLSF_ALL = 0x00000000 } <
1855 enum : uint { MIXER_GETLINECONTROLSF_ONEBYID = 0x00000001 } <
1856 enum : uint { MIXER_GETLINECONTROLSF_ONEBYTYPE = 0x00000002 } <
1857 <
1858 enum : uint { MIXER_GETLINECONTROLSF_QUERYMASK = 0x0000000F } <
1859 <
1860 struct tMIXERCONTROLDETAILS { <
1861 DWORD cbStruct; <
1862 DWORD dwControlID; <
1863 DWORD cChannels; <
1864 union { <
1865 HWND hwndOwner; <
1866 DWORD cMultipleItems; <
> 2234 alias mixerGetControlDetailsA mixerGetControlDetails;
> 2235 alias joyGetDevCapsA joyGetDevCaps;
> 2236 alias mmioInstallIOProcA mmioInstallIOProc;
> 2237 alias mmioStringToFOURCCA mmioStringToFOURCC;
> 2238 alias mmioOpenA mmioOpen;
> 2239 alias mmioRenameA mmioRename;
> 2240 alias mciSendCommandA mciSendCommand;
> 2241 alias mciSendStringA mciSendString;
> 2242 alias mciGetDeviceIDA mciGetDeviceID;
> 2243 alias mciGetDeviceIDFromElementIDA mciGetDeviceIDFromElementID;
> 2244 alias mciGetErrorStringA mciGetErrorString;
1867 } 2245 }
1868 2246
1869 DWORD cbDetails; | 2247 alias WAVEOUTCAPS* PWAVEOUTCAPS, LPWAVEOUTCAPS;
1870 LPVOID paDetails; | 2248 alias WAVEINCAPS* PWAVEINCAPS, LPWAVEINCAPS;
1871 } <
> 2249 alias MIDIOUTCAPS* PMIDIOUTCAPS, LPMIDIOUTCAPS;
1872 alias tMIXERCONTROLDETAILS MIXERCONTROLDETAILS; | 2250 alias MIDIINCAPS* PMIDIINCAPS, LPMIDIINCAPS;
1873 alias tMIXERCONTROLDETAILS* PMIXERCONTROLDETAILS; | 2251 alias AUXCAPS* PAUXCAPS, LPAUXCAPS;
1874 alias tMIXERCONTROLDETAILS* LPMIXERCONTROLDETAILS; | 2252 alias MIXERCAPS* PMIXERCAPS, LPMIXERCAPS;
1875 <
> 2253 alias MIXERLINE* PMIXERLINE, LPMIXERLINE;
1876 // #ifdef _WIN32 | 2254 alias MIXERCONTROL* PMIXERCONTROL, LPMIXERCONTROL;
1877 <
1878 struct tagMIXERCONTROLDETAILS_LISTTEXTA { <
1879 DWORD dwParam1; <
1880 DWORD dwParam2; <
1881 CHAR szName[MIXER_LONG_NAME_CHARS]; <
1882 } <
1883 alias tagMIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXTA; <
1884 alias tagMIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA; <
1885 alias tagMIXERCONTROLDETAILS_LISTTEXTA* LPMIXERCONTROLDETAILS_LISTTEXTA; <
1886 <
1887 struct tagMIXERCONTROLDETAILS_LISTTEXTW { <
1888 DWORD dwParam1; <
1889 DWORD dwParam2; <
1890 WCHAR szName[MIXER_LONG_NAME_CHARS]; <
1891 } <
1892 alias tagMIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXTW; <
1893 alias tagMIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW; <
1894 alias tagMIXERCONTROLDETAILS_LISTTEXTW* LPMIXERCONTROLDETAILS_LISTTEXTW; <
1895 <
1896 // #ifdef UNICODE <
> 2255 alias MIXERLINECONTROLS* PMIXERLINECONTROLS, LPMIXERLINECONTROLS;
1897 alias MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT; | 2256 alias MIXERCONTROLDETAILS_LISTTEXT* PMIXERCONTROLDETAILS_LISTTEXT, LPMIXERCONTRO
1898 alias PMIXERCONTROLDETAILS_LISTTEXTW PMIXERCONTROLDETAILS_LISTTEXT; <
1899 alias LPMIXERCONTROLDETAILS_LISTTEXTW LPMIXERCONTROLDETAILS_LISTTEXT; <
1900 // #else <
1901 // ... <
1902 // #endif // UNICODE <
1903 <
1904 // #else <
1905 // ... <
1906 // #endif <
1907 <
1908 struct tMIXERCONTROLDETAILS_BOOLEAN { <
1909 LONG fValue; <
1910 } <
1911 alias tMIXERCONTROLDETAILS_BOOLEAN MIXERCONTROLDETAILS_BOOLEAN; <
1912 alias tMIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN; <
1913 alias tMIXERCONTROLDETAILS_BOOLEAN* LPMIXERCONTROLDETAILS_BOOLEAN; <
1914 <
1915 struct tMIXERCONTROLDETAILS_SIGNED { <
1916 LONG lValue; <
1917 } <
1918 alias tMIXERCONTROLDETAILS_SIGNED MIXERCONTROLDETAILS_SIGNED; <
1919 alias tMIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED; <
1920 alias tMIXERCONTROLDETAILS_SIGNED* LPMIXERCONTROLDETAILS_SIGNED; <
1921 <
1922 struct tMIXERCONTROLDETAILS_UNSIGNED { <
1923 DWORD dwValue; <
1924 } <
1925 alias tMIXERCONTROLDETAILS_UNSIGNED MIXERCONTROLDETAILS_UNSIGNED; <
1926 alias tMIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED; <
1927 alias tMIXERCONTROLDETAILS_UNSIGNED* LPMIXERCONTROLDETAILS_UNSIGNED; <
1928 <
1929 // #ifdef _WIN32 <
1930 <
1931 extern(Windows) export MMRESULT mixerGetControlDetailsA(HMIXEROBJ hmxobj, LPMIXE <
1932 extern(Windows) export MMRESULT mixerGetControlDetailsW(HMIXEROBJ hmxobj, LPMIXE <
1933 // #ifdef UNICODE <
1934 alias mixerGetControlDetailsW mixerGetControlDetails; <
1935 // #else <
1936 // #... <
1937 // #endif // !UNICODE <
1938 <
1939 // #else <
1940 // ... <
1941 // #endif <
1942 <
1943 enum : uint { MIXER_GETCONTROLDETAILSF_VALUE = 0x00000000 } <
1944 enum : uint { MIXER_GETCONTROLDETAILSF_LISTTEXT = 0x00000001 } <
1945 <
1946 enum : uint { MIXER_GETCONTROLDETAILSF_QUERYMASK = 0x0000000F } <
1947 <
1948 extern(Windows) export MMRESULT mixerSetControlDetails(HMIXEROBJ hmxobj, LPMIXER <
1949 <
1950 enum : uint { MIXER_SETCONTROLDETAILSF_VALUE = 0x00000000 } <
1951 enum : uint { MIXER_SETCONTROLDETAILSF_CUSTOM = 0x00000001 } <
1952 <
1953 enum : uint { MIXER_SETCONTROLDETAILSF_QUERYMASK = 0x0000000F } <
1954 <
1955 // #endif /* ifndef MMNOMIXER */ <
1956 <
1957 // #ifndef MMNOTIMER <
1958 <
1959 enum : uint { TIMERR_NOERROR = 0 } <
1960 enum : uint { TIMERR_NOCANDO = TIMERR_BASE+1 } <
1961 enum : uint { TIMERR_STRUCT = TIMERR_BASE+33 } <
1962 <
1963 // typedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUs <
1964 <
1965 extern(Windows) alias void function(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, <
1966 <
1967 enum : uint { TIME_ONESHOT = 0x0000 } <
1968 enum : uint { TIME_PERIODIC = 0x0001 } <
1969 <
1970 // #ifdef _WIN32 <
1971 enum : uint { TIME_CALLBACK_FUNCTION = 0x0000 } <
1972 enum : uint { TIME_CALLBACK_EVENT_SET = 0x0010 } <
1973 enum : uint { TIME_CALLBACK_EVENT_PULSE = 0x0020 } <
1974 // #endif <
1975 <
1976 // #if WINVER >= 0x0501 <
1977 enum : uint { TIME_KILL_SYNCHRONOUS = 0x0100 } <
1978 <
1979 // #endif // WINVER >= 0x0501 <
1980 <
1981 struct timecaps_tag { <
1982 UINT wPeriodMin; <
1983 UINT wPeriodMax; <
1984 } <
1985 alias timecaps_tag TIMECAPS; <
1986 alias timecaps_tag* PTIMECAPS; <
1987 alias timecaps_tag* NPTIMECAPS; <
1988 alias timecaps_tag* LPTIMECAPS; <
1989 <
1990 extern(Windows) export MMRESULT timeGetSystemTime(LPMMTIME pmmt, UINT cbmmt); <
1991 extern(Windows) export DWORD timeGetTime(); <
1992 extern(Windows) export MMRESULT timeSetEvent(UINT uDelay, UINT uResolution, <
1993 LPTIMECALLBACK fptc, DWORD_PTR dwUser, UINT fuEvent); <
1994 extern(Windows) export MMRESULT timeKillEvent(UINT uTimerID); <
1995 extern(Windows) export MMRESULT timeGetDevCaps(LPTIMECAPS ptc, UINT cbtc); <
1996 extern(Windows) export MMRESULT timeBeginPeriod(UINT uPeriod); <
1997 extern(Windows) export MMRESULT timeEndPeriod(UINT uPeriod); <
1998 <
1999 // #endif /* ifndef MMNOTIMER */ <
2000 <
2001 // #ifndef MMNOJOY <
2002 <
2003 enum : uint { JOYERR_NOERROR = 0 } <
2004 enum : uint { JOYERR_PARMS = JOYERR_BASE+5 } <
2005 enum : uint { JOYERR_NOCANDO = JOYERR_BASE+6 } <
2006 enum : uint { JOYERR_UNPLUGGED = JOYERR_BASE+7 } <
2007 <
2008 enum : uint { JOY_BUTTON1 = 0x0001 } <
2009 enum : uint { JOY_BUTTON2 = 0x0002 } <
2010 enum : uint { JOY_BUTTON3 = 0x0004 } <
2011 enum : uint { JOY_BUTTON4 = 0x0008 } <
2012 enum : uint { JOY_BUTTON1CHG = 0x0100 } <
2013 enum : uint { JOY_BUTTON2CHG = 0x0200 } <
2014 enum : uint { JOY_BUTTON3CHG = 0x0400 } <
2015 enum : uint { JOY_BUTTON4CHG = 0x0800 } <
2016 <
2017 enum : uint { JOY_BUTTON5 = 0x00000010 } <
2018 enum : uint { JOY_BUTTON6 = 0x00000020 } <
2019 enum : uint { JOY_BUTTON7 = 0x00000040 } <
2020 enum : uint { JOY_BUTTON8 = 0x00000080 } <
2021 enum : uint { JOY_BUTTON9 = 0x00000100 } <
2022 enum : uint { JOY_BUTTON10 = 0x00000200 } <
2023 enum : uint { JOY_BUTTON11 = 0x00000400 } <
2024 enum : uint { JOY_BUTTON12 = 0x00000800 } <
2025 enum : uint { JOY_BUTTON13 = 0x00001000 } <
2026 enum : uint { JOY_BUTTON14 = 0x00002000 } <
2027 enum : uint { JOY_BUTTON15 = 0x00004000 } <
2028 enum : uint { JOY_BUTTON16 = 0x00008000 } <
2029 enum : uint { JOY_BUTTON17 = 0x00010000 } <
2030 enum : uint { JOY_BUTTON18 = 0x00020000 } <
2031 enum : uint { JOY_BUTTON19 = 0x00040000 } <
2032 enum : uint { JOY_BUTTON20 = 0x00080000 } <
2033 enum : uint { JOY_BUTTON21 = 0x00100000 } <
2034 enum : uint { JOY_BUTTON22 = 0x00200000 } <
2035 enum : uint { JOY_BUTTON23 = 0x00400000 } <
2036 enum : uint { JOY_BUTTON24 = 0x00800000 } <
2037 enum : uint { JOY_BUTTON25 = 0x01000000 } <
2038 enum : uint { JOY_BUTTON26 = 0x02000000 } <
2039 enum : uint { JOY_BUTTON27 = 0x04000000 } <
2040 enum : uint { JOY_BUTTON28 = 0x08000000 } <
2041 enum : uint { JOY_BUTTON29 = 0x10000000 } <
2042 enum : uint { JOY_BUTTON30 = 0x20000000 } <
2043 enum : uint { JOY_BUTTON31 = 0x40000000 } <
2044 enum : uint { JOY_BUTTON32 = 0x80000000 } <
2045 <
2046 enum : WORD { JOY_POVCENTERED = cast(WORD)-1 } <
2047 enum : uint { JOY_POVFORWARD = 0 } <
2048 enum : uint { JOY_POVRIGHT = 9000 } <
2049 enum : uint { JOY_POVBACKWARD = 18000 } <
2050 enum : uint { JOY_POVLEFT = 27000 } <
2051 <
2052 enum : uint { JOY_RETURNX = 0x00000001 } <
2053 enum : uint { JOY_RETURNY = 0x00000002 } <
2054 enum : uint { JOY_RETURNZ = 0x00000004 } <
2055 enum : uint { JOY_RETURNR = 0x00000008 } <
2056 enum : uint { JOY_RETURNU = 0x00000010 } <
2057 enum : uint { JOY_RETURNV = 0x00000020 } <
2058 enum : uint { JOY_RETURNPOV = 0x00000040 } <
2059 enum : uint { JOY_RETURNBUTTONS = 0x00000080 } <
2060 enum : uint { JOY_RETURNRAWDATA = 0x00000100 } <
2061 enum : uint { JOY_RETURNPOVCTS = 0x00000200 } <
2062 enum : uint { JOY_RETURNCENTERED = 0x00000400 } <
2063 enum : uint { JOY_USEDEADZONE = 0x00000800 } <
2064 enum : uint { JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETU <
2065 enum : uint { JOY_CAL_READALWAYS = 0x00010000 } <
2066 enum : uint { JOY_CAL_READXYONLY = 0x00020000 } <
2067 enum : uint { JOY_CAL_READ3 = 0x00040000 } <
2068 enum : uint { JOY_CAL_READ4 = 0x00080000 } <
2069 enum : uint { JOY_CAL_READXONLY = 0x00100000 } <
2070 enum : uint { JOY_CAL_READYONLY = 0x00200000 } <
2071 enum : uint { JOY_CAL_READ5 = 0x00400000 } <
2072 enum : uint { JOY_CAL_READ6 = 0x00800000 } <
2073 enum : uint { JOY_CAL_READZONLY = 0x01000000 } <
2074 enum : uint { JOY_CAL_READRONLY = 0x02000000 } <
2075 enum : uint { JOY_CAL_READUONLY = 0x04000000 } <
2076 enum : uint { JOY_CAL_READVONLY = 0x08000000 } <
2077 <
2078 enum : uint { JOYSTICKID1 = 0 } <
2079 enum : uint { JOYSTICKID2 = 1 } <
2080 <
2081 enum : uint { JOYCAPS_HASZ = 0x0001 } <
2082 enum : uint { JOYCAPS_HASR = 0x0002 } <
2083 enum : uint { JOYCAPS_HASU = 0x0004 } <
2084 enum : uint { JOYCAPS_HASV = 0x0008 } <
2085 enum : uint { JOYCAPS_HASPOV = 0x0010 } <
2086 enum : uint { JOYCAPS_POV4DIR = 0x0020 } <
2087 enum : uint { JOYCAPS_POVCTS = 0x0040 } <
2088 <
2089 // #ifdef _WIN32 <
2090 <
2091 struct tagJOYCAPSA { <
2092 WORD wMid; <
2093 WORD wPid; <
2094 CHAR szPname[MAXPNAMELEN]; <
2095 UINT wXmin; <
2096 UINT wXmax; <
2097 UINT wYmin; <
2098 UINT wYmax; <
2099 UINT wZmin; <
2100 UINT wZmax; <
2101 UINT wNumButtons; <
2102 UINT wPeriodMin; <
2103 UINT wPeriodMax; <
2104 // #if (WINVER >= 0x0400) <
2105 UINT wRmin; <
2106 UINT wRmax; <
2107 UINT wUmin; <
2108 UINT wUmax; <
2109 UINT wVmin; <
2110 UINT wVmax; <
2111 UINT wCaps; <
2112 UINT wMaxAxes; <
2113 UINT wNumAxes; <
2114 UINT wMaxButtons; <
2115 CHAR szRegKey[MAXPNAMELEN]; <
2116 CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; <
2117 // #endif <
2118 } <
2119 alias tagJOYCAPSA JOYCAPSA; <
2120 alias tagJOYCAPSA* PJOYCAPSA; <
2121 alias tagJOYCAPSA* NPJOYCAPSA; <
2122 alias tagJOYCAPSA* LPJOYCAPSA; <
2123 <
2124 struct tagJOYCAPSW { <
2125 WORD wMid; <
2126 WORD wPid; <
2127 WCHAR szPname[MAXPNAMELEN]; <
2128 UINT wXmin; <
2129 UINT wXmax; <
2130 UINT wYmin; <
2131 UINT wYmax; <
2132 UINT wZmin; <
2133 UINT wZmax; <
2134 UINT wNumButtons; <
2135 UINT wPeriodMin; <
2136 UINT wPeriodMax; <
2137 // #if (WINVER >= 0x0400) <
2138 UINT wRmin; <
2139 UINT wRmax; <
2140 UINT wUmin; <
2141 UINT wUmax; <
2142 UINT wVmin; <
2143 UINT wVmax; <
2144 UINT wCaps; <
2145 UINT wMaxAxes; <
2146 UINT wNumAxes; <
2147 UINT wMaxButtons; <
2148 WCHAR szRegKey[MAXPNAMELEN]; <
2149 WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; <
2150 // #endif <
2151 } <
2152 alias tagJOYCAPSW JOYCAPSW; <
2153 alias tagJOYCAPSW* PJOYCAPSW; <
2154 alias tagJOYCAPSW* NPJOYCAPSW; <
2155 alias tagJOYCAPSW* LPJOYCAPSW; <
2156 <
2157 // #ifdef UNICODE <
2158 alias JOYCAPSW JOYCAPS; | 2257 alias JOYCAPS* PJOYCAPS, LPJOYCAPS;
2159 alias PJOYCAPSW PJOYCAPS; <
2160 alias NPJOYCAPSW NPJOYCAPS; <
2161 alias LPJOYCAPSW LPJOYCAPS; <
2162 // #else <
2163 // ... <
2164 // #endif // UNICODE <
2165 struct tagJOYCAPS2A { <
2166 WORD wMid; <
2167 WORD wPid; <
2168 CHAR szPname[MAXPNAMELEN]; <
2169 UINT wXmin; <
2170 UINT wXmax; <
2171 UINT wYmin; <
2172 UINT wYmax; <
2173 UINT wZmin; <
2174 UINT wZmax; <
2175 UINT wNumButtons; <
2176 UINT wPeriodMin; <
2177 UINT wPeriodMax; <
2178 UINT wRmin; <
2179 UINT wRmax; <
2180 UINT wUmin; <
2181 UINT wUmax; <
2182 UINT wVmin; <
2183 UINT wVmax; <
2184 UINT wCaps; <
2185 UINT wMaxAxes; <
2186 UINT wNumAxes; <
2187 UINT wMaxButtons; <
2188 CHAR szRegKey[MAXPNAMELEN]; <
2189 CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; <
2190 GUID ManufacturerGuid; <
2191 GUID ProductGuid; <
2192 GUID NameGuid; <
2193 } <
2194 alias tagJOYCAPS2A JOYCAPS2A; <
2195 alias tagJOYCAPS2A* PJOYCAPS2A; <
2196 alias tagJOYCAPS2A* NPJOYCAPS2A; <
2197 alias tagJOYCAPS2A* LPJOYCAPS2A; <
2198 <
2199 struct tagJOYCAPS2W { <
2200 WORD wMid; <
2201 WORD wPid; <
2202 WCHAR szPname[MAXPNAMELEN]; <
2203 UINT wXmin; <
2204 UINT wXmax; <
2205 UINT wYmin; <
2206 UINT wYmax; <
2207 UINT wZmin; <
2208 UINT wZmax; <
2209 UINT wNumButtons; <
2210 UINT wPeriodMin; <
2211 UINT wPeriodMax; <
2212 UINT wRmin; <
2213 UINT wRmax; <
2214 UINT wUmin; <
2215 UINT wUmax; <
2216 UINT wVmin; <
2217 UINT wVmax; <
2218 UINT wCaps; <
2219 UINT wMaxAxes; <
2220 UINT wNumAxes; <
2221 UINT wMaxButtons; <
2222 WCHAR szRegKey[MAXPNAMELEN]; <
2223 WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; <
2224 GUID ManufacturerGuid; <
2225 GUID ProductGuid; <
2226 GUID NameGuid; <
2227 } <
2228 alias tagJOYCAPS2W JOYCAPS2W; <
2229 alias tagJOYCAPS2W* PJOYCAPS2W; <
2230 alias tagJOYCAPS2W* NPJOYCAPS2W; <
2231 alias tagJOYCAPS2W* LPJOYCAPS2W; <
2232 <
2233 // #ifdef UNICODE <
2234 alias JOYCAPS2W JOYCAPS2; <
2235 alias PJOYCAPS2W PJOYCAPS2; <
2236 alias NPJOYCAPS2W NPJOYCAPS2; <
2237 alias LPJOYCAPS2W LPJOYCAPS2; <
2238 // #else <
2239 // ... <
2240 // #endif // UNICODE <
2241 <
2242 // #else <
2243 // ... <
2244 // #if (WINVER >= 0x0400) <
2245 // ... <
2246 // #endif <
2247 // ... <
2248 // #endif <
2249 <
2250 struct joyinfo_tag { <
2251 UINT wXpos; <
2252 UINT wYpos; <
2253 UINT wZpos; <
2254 UINT wButtons; <
2255 } <
2256 alias joyinfo_tag JOYINFO; <
2257 alias joyinfo_tag* PJOYINFO; <
2258 alias joyinfo_tag* NPJOYINFO; <
2259 alias joyinfo_tag* LPJOYINFO; <
2260 <
2261 // #if(WINVER >= 0x0400) <
2262 struct joyinfoex_tag { <
2263 DWORD dwSize; <
2264 DWORD dwFlags; <
2265 DWORD dwXpos; <
2266 DWORD dwYpos; <
2267 DWORD dwZpos; <
2268 DWORD dwRpos; <
2269 DWORD dwUpos; <
2270 DWORD dwVpos; <
2271 DWORD dwButtons; <
2272 DWORD dwButtonNumber; <
2273 DWORD dwPOV; <
2274 DWORD dwReserved1; <
2275 DWORD dwReserved2; <
2276 } <
2277 alias joyinfoex_tag JOYINFOEX; <
2278 alias joyinfoex_tag* PJOYINFOEX; <
2279 alias joyinfoex_tag* NPJOYINFOEX; <
2280 alias joyinfoex_tag* LPJOYINFOEX; <
2281 <
2282 // #endif /* WINVER >= 0x0400 */ <
2283 <
2284 extern(Windows) export UINT joyGetNumDevs(); <
2285 // #ifdef _WIN32 <
2286 <
2287 extern(Windows) export MMRESULT joyGetDevCapsA(UINT_PTR uJoyID, LPJOYCAPSA pjc, <
2288 extern(Windows) export MMRESULT joyGetDevCapsW(UINT_PTR uJoyID, LPJOYCAPSW pjc, <
2289 // #ifdef UNICODE <
2290 alias joyGetDevCapsW joyGetDevCaps; <
2291 // #else <
2292 // #... <
2293 // #endif // !UNICODE <
2294 <
2295 // #else <
2296 // ... <
2297 // #endif <
2298 extern(Windows) export MMRESULT joyGetPos(UINT uJoyID, LPJOYINFO pji); <
2299 <
2300 // #if(WINVER >= 0x0400) <
2301 extern(Windows) export MMRESULT joyGetPosEx(UINT uJoyID, LPJOYINFOEX pji); <
2302 // #endif /* WINVER >= 0x0400 */ <
2303 <
2304 extern(Windows) export MMRESULT joyGetThreshold(UINT uJoyID, LPUINT puThreshold) <
2305 extern(Windows) export MMRESULT joyReleaseCapture(UINT uJoyID); <
2306 extern(Windows) export MMRESULT joySetCapture(HWND hwnd, UINT uJoyID, UINT uPeri <
2307 BOOL fChanged); <
2308 extern(Windows) export MMRESULT joySetThreshold(UINT uJoyID, UINT uThreshold); <
2309 <
2310 // #endif /* ifndef MMNOJOY */ <
2311 <
2312 // #ifndef MMNOMMIO <
2313 <
2314 enum : uint { MMIOERR_BASE = 256 } <
2315 enum : uint { MMIOERR_FILENOTFOUND = MMIOERR_BASE + 1 } <
2316 enum : uint { MMIOERR_OUTOFMEMORY = MMIOERR_BASE + 2 } <
2317 enum : uint { MMIOERR_CANNOTOPEN = MMIOERR_BASE + 3 } <
2318 enum : uint { MMIOERR_CANNOTCLOSE = MMIOERR_BASE + 4 } <
2319 enum : uint { MMIOERR_CANNOTREAD = MMIOERR_BASE + 5 } <
2320 enum : uint { MMIOERR_CANNOTWRITE = MMIOERR_BASE + 6 } <
2321 enum : uint { MMIOERR_CANNOTSEEK = MMIOERR_BASE + 7 } <
2322 enum : uint { MMIOERR_CANNOTEXPAND = MMIOERR_BASE + 8 } <
2323 enum : uint { MMIOERR_CHUNKNOTFOUND = MMIOERR_BASE + 9 } <
2324 enum : uint { MMIOERR_UNBUFFERED = MMIOERR_BASE + 10 } <
2325 enum : uint { MMIOERR_PATHNOTFOUND = MMIOERR_BASE + 11 } <
2326 enum : uint { MMIOERR_ACCESSDENIED = MMIOERR_BASE + 12 } <
2327 enum : uint { MMIOERR_SHARINGVIOLATION = MMIOERR_BASE + 13 } <
2328 enum : uint { MMIOERR_NETWORKERROR = MMIOERR_BASE + 14 } <
2329 enum : uint { MMIOERR_TOOMANYOPENFILES = MMIOERR_BASE + 15 } <
2330 enum : uint { MMIOERR_INVALIDFILE = MMIOERR_BASE + 16 } <
2331 <
2332 const char CFSEPCHAR = '+'; <
2333 <
2334 alias DWORD FOURCC; <
2335 alias char* HPSTR; <
2336 alias void* HMMIO; <
2337 // typedef LRESULT (CALLBACK MMIOPROC)(LPSTR lpmmioinfo, UINT uMsg, LPARAM lPara <
2338 extern(Windows) alias LRESULT function(LPSTR lpmmioinfo, UINT uMsg, LPARAM lPara <
2339 <
2340 struct _MMIOINFO { <
2341 <
2342 DWORD dwFlags; <
2343 FOURCC fccIOProc; <
2344 LPMMIOPROC pIOProc; <
2345 UINT wErrorRet; <
2346 HTASK htask; <
2347 <
2348 LONG cchBuffer; <
2349 HPSTR pchBuffer; <
2350 HPSTR pchNext; <
2351 HPSTR pchEndRead; <
2352 HPSTR pchEndWrite; <
2353 LONG lBufOffset; <
2354 <
2355 LONG lDiskOffset; <
2356 DWORD adwInfo[3]; <
2357 <
2358 DWORD dwReserved1; <
2359 DWORD dwReserved2; <
2360 HMMIO hmmio; <
2361 } <
2362 alias _MMIOINFO MMIOINFO; <
2363 alias _MMIOINFO* PMMIOINFO; <
2364 alias _MMIOINFO* NPMMIOINFO; <
2365 alias _MMIOINFO* LPMMIOINFO; <
2366 <
2367 alias MMIOINFO* LPCMMIOINFO; <
2368 <
2369 struct _MMCKINFO { <
2370 FOURCC ckid; <
2371 DWORD cksize; <
2372 FOURCC fccType; <
2373 DWORD dwDataOffset; <
2374 DWORD dwFlags; <
2375 } <
2376 alias _MMCKINFO MMCKINFO; <
2377 alias _MMCKINFO* PMMCKINFO; <
2378 alias _MMCKINFO* NPMMCKINFO; <
2379 alias _MMCKINFO* LPMMCKINFO; <
2380 <
2381 alias MMCKINFO* LPCMMCKINFO; <
2382 <
2383 enum : uint { MMIO_RWMODE = 0x00000003 } <
2384 enum : uint { MMIO_SHAREMODE = 0x00000070 } <
2385 <
2386 enum : uint { MMIO_CREATE = 0x00001000 } <
2387 enum : uint { MMIO_PARSE = 0x00000100 } <
2388 enum : uint { MMIO_DELETE = 0x00000200 } <
2389 enum : uint { MMIO_EXIST = 0x00004000 } <
2390 enum : uint { MMIO_ALLOCBUF = 0x00010000 } <
2391 enum : uint { MMIO_GETTEMP = 0x00020000 } <
2392 <
2393 enum : uint { MMIO_DIRTY = 0x10000000 } <
2394 <
2395 enum : uint { MMIO_READ = 0x00000000 } <
2396 enum : uint { MMIO_WRITE = 0x00000001 } <
2397 enum : uint { MMIO_READWRITE = 0x00000002 } <
2398 <
2399 enum : uint { MMIO_COMPAT = 0x00000000 } <
2400 enum : uint { MMIO_EXCLUSIVE = 0x00000010 } <
2401 enum : uint { MMIO_DENYWRITE = 0x00000020 } <
2402 enum : uint { MMIO_DENYREAD = 0x00000030 } <
2403 enum : uint { MMIO_DENYNONE = 0x00000040 } <
2404 <
2405 enum : uint { MMIO_FHOPEN = 0x0010 } <
2406 enum : uint { MMIO_EMPTYBUF = 0x0010 } <
2407 enum : uint { MMIO_TOUPPER = 0x0010 } <
2408 enum : uint { MMIO_INSTALLPROC = 0x00010000 } <
2409 enum : uint { MMIO_GLOBALPROC = 0x10000000 } <
2410 enum : uint { MMIO_REMOVEPROC = 0x00020000 } <
2411 enum : uint { MMIO_UNICODEPROC = 0x01000000 } <
2412 enum : uint { MMIO_FINDPROC = 0x00040000 } <
2413 enum : uint { MMIO_FINDCHUNK = 0x0010 } <
2414 enum : uint { MMIO_FINDRIFF = 0x0020 } <
2415 enum : uint { MMIO_FINDLIST = 0x0040 } <
2416 enum : uint { MMIO_CREATERIFF = 0x0020 } <
2417 enum : uint { MMIO_CREATELIST = 0x0040 } <
2418 <
2419 alias MMIO_READ MMIOM_READ; <
2420 alias MMIO_WRITE MMIOM_WRITE; <
2421 enum : uint { MMIOM_SEEK = 2 } <
2422 enum : uint { MMIOM_OPEN = 3 } <
2423 enum : uint { MMIOM_CLOSE = 4 } <
2424 enum : uint { MMIOM_WRITEFLUSH = 5 } <
2425 <
2426 // #if (WINVER >= 0x030a) <
2427 enum : uint { MMIOM_RENAME = 6 } <
2428 // #endif /* ifdef WINVER >= 0x030a */ <
2429 <
2430 enum : uint { MMIOM_USER = 0x8000 } <
2431 <
2432 // #define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') <
2433 // #define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T') <
2434 <
2435 // #define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ') <
2436 // #define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ') <
2437 <
2438 // #ifndef SEEK_SET <
2439 enum : uint { SEEK_SET = 0 } <
2440 enum : uint { SEEK_CUR = 1 } <
2441 enum : uint { SEEK_END = 2 } <
2442 // #endif /* ifndef SEEK_SET */ <
2443 <
2444 enum : uint { MMIO_DEFAULTBUFFER = 8192 } <
2445 <
2446 // #define mmioFOURCC(ch0, ch1, ch2, ch3) MAKEFOURCC(ch0, ch1, ch2, ch3) <
2447 <
2448 // #ifdef _WIN32 <
2449 <
2450 extern(Windows) export FOURCC mmioStringToFOURCCA(LPCSTR sz, UINT uFlags); <
2451 extern(Windows) export FOURCC mmioStringToFOURCCW(LPCWSTR sz, UINT uFlags); <
2452 // #ifdef UNICODE <
2453 alias mmioStringToFOURCCW mmioStringToFOURCC; <
2454 // #else <
2455 // #... <
2456 // #endif // !UNICODE <
2457 extern(Windows) export LPMMIOPROC mmioInstallIOProcA(FOURCC fccIOProc, LPMMIOPRO <
2458 extern(Windows) export LPMMIOPROC mmioInstallIOProcW(FOURCC fccIOProc, LPMMIOPRO <
2459 // #ifdef UNICODE <
2460 alias mmioInstallIOProcW mmioInstallIOProc; <
2461 // #else <
2462 // #... <
2463 // #endif // !UNICODE <
2464 extern(Windows) export HMMIO mmioOpenA(LPSTR pszFileName, LPMMIOINFO pmmioinfo, <
2465 extern(Windows) export HMMIO mmioOpenW(LPWSTR pszFileName, LPMMIOINFO pmmioinfo, <
2466 // #ifdef UNICODE <
2467 alias mmioOpenW mmioOpen; <
2468 // #else <
2469 // #... <
2470 // #endif // !UNICODE <
2471 extern(Windows) export MMRESULT mmioRenameA(LPCSTR pszFileName, LPCSTR pszNewFil <
2472 extern(Windows) export MMRESULT mmioRenameW(LPCWSTR pszFileName, LPCWSTR pszNewF <
2473 // #ifdef UNICODE <
2474 alias mmioRenameW mmioRename; <
2475 // #else <
2476 // #... <
2477 // #endif // !UNICODE <
2478 // #else <
2479 // ... <
2480 // #if (WINVER >= 0x030a) <
2481 // ... <
2482 // #endif /* ifdef WINVER >= 0x030a */ <
2483 // #endif <
2484 <
2485 extern(Windows) export MMRESULT mmioClose(HMMIO hmmio, UINT fuClose); <
2486 extern(Windows) export LONG mmioRead(HMMIO hmmio, HPSTR pch, LONG cch); <
2487 extern(Windows) export LONG mmioWrite(HMMIO hmmio, char * pch, LONG cch); <
2488 extern(Windows) export LONG mmioSeek(HMMIO hmmio, LONG lOffset, int iOrigin); <
2489 extern(Windows) export MMRESULT mmioGetInfo(HMMIO hmmio, LPMMIOINFO pmmioinfo, U <
2490 extern(Windows) export MMRESULT mmioSetInfo(HMMIO hmmio, LPCMMIOINFO pmmioinfo, <
2491 extern(Windows) export MMRESULT mmioSetBuffer(HMMIO hmmio, LPSTR pchBuffer, LONG <
2492 UINT fuBuffer); <
2493 extern(Windows) export MMRESULT mmioFlush(HMMIO hmmio, UINT fuFlush); <
2494 extern(Windows) export MMRESULT mmioAdvance(HMMIO hmmio, LPMMIOINFO pmmioinfo, U <
2495 extern(Windows) export LRESULT mmioSendMessage(HMMIO hmmio, UINT uMsg, <
2496 LPARAM lParam1, LPARAM lParam2); <
2497 extern(Windows) export MMRESULT mmioDescend(HMMIO hmmio, LPMMCKINFO pmmcki, <
2498 MMCKINFO * pmmckiParent, UINT fuDescend); <
2499 extern(Windows) export MMRESULT mmioAscend(HMMIO hmmio, LPMMCKINFO pmmcki, UINT <
2500 extern(Windows) export MMRESULT mmioCreateChunk(HMMIO hmmio, LPMMCKINFO pmmcki, <
2501 <
2502 // #endif /* ifndef MMNOMMIO */ <
2503 <
2504 // #ifndef MMNOMCI <
2505 <
2506 // #ifndef _MCIERROR_ /* MCIERROR is defined in some post 3.1 apps <
2507 // #define _MCIERROR_ <
2508 alias DWORD MCIERROR; <
2509 // #endif <
2510 <
2511 // #ifndef _MCIDEVICEID_ /* Same with MCIDEVICEID */ <
2512 // #define _MCIDEVICEID_ <
2513 alias UINT MCIDEVICEID; <
2514 // #endif <
2515 <
2516 extern(Windows) alias UINT function(MCIDEVICEID mciId, DWORD dwYieldData) YIELDP <
2517 <
2518 // #ifdef _WIN32 <
2519 <
2520 extern(Windows) export MCIERROR mciSendCommandA(MCIDEVICEID mciId, UINT uMsg, DW <
2521 extern(Windows) export MCIERROR mciSendCommandW(MCIDEVICEID mciId, UINT uMsg, DW <
2522 // #ifdef UNICODE <
2523 alias mciSendCommandW mciSendCommand; <
2524 // #else <
2525 // #... <
2526 // #endif // !UNICODE <
2527 extern(Windows) export MCIERROR mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrR <
2528 extern(Windows) export MCIERROR mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpst <
2529 // #ifdef UNICODE <
2530 alias mciSendStringW mciSendString; <
2531 // #else <
2532 // #... <
2533 // #endif // !UNICODE <
2534 extern(Windows) export MCIDEVICEID mciGetDeviceIDA(LPCSTR pszDevice); <
2535 extern(Windows) export MCIDEVICEID mciGetDeviceIDW(LPCWSTR pszDevice); <
2536 // #ifdef UNICODE <
2537 alias mciGetDeviceIDW mciGetDeviceID; <
2538 // #else <
2539 // #... <
2540 // #endif // !UNICODE <
2541 extern(Windows) export MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD dwElementI <
2542 extern(Windows) export MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD dwElementI <
2543 // #ifdef UNICODE <
2544 alias mciGetDeviceIDFromElementIDW mciGetDeviceIDFromElementID; <
2545 // #else <
2546 // #... <
2547 // #endif // !UNICODE <
2548 extern(Windows) export BOOL mciGetErrorStringA(MCIERROR mcierr, LPSTR pszText, U <
2549 extern(Windows) export BOOL mciGetErrorStringW(MCIERROR mcierr, LPWSTR pszText, <
2550 // #ifdef UNICODE <
2551 alias mciGetErrorStringW mciGetErrorString; <
2552 // #else <
2553 // #... <
2554 // #endif // !UNICODE <
2555 <
2556 // #else <
2557 // ... <
2558 // #endif <
2559 <
2560 extern(Windows) export BOOL mciSetYieldProc(MCIDEVICEID mciId, YIELDPROC fpYield <
2561 DWORD dwYieldData); <
2562 <
2563 // #if (WINVER >= 0x030a) <
2564 extern(Windows) export HTASK mciGetCreatorTask(MCIDEVICEID mciId); <
2565 extern(Windows) export YIELDPROC mciGetYieldProc(MCIDEVICEID mciId, LPDWORD pdwY <
2566 // #endif /* ifdef WINVER >= 0x030a */ <
2567 <
2568 // #if (WINVER < 0x030a) <
2569 // ... <
2570 // #endif /* ifdef WINVER < 0x030a */ <
2571 <
2572 enum : uint { MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1 } <
2573 enum : uint { MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3 } <
2574 enum : uint { MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5 } <
2575 enum : uint { MCIERR_HARDWARE = MCIERR_BASE + 6 } <
2576 enum : uint { MCIERR_INVALID_DEVICE_NAME = MCIERR_BASE + 7 } <
2577 enum : uint { MCIERR_OUT_OF_MEMORY = MCIERR_BASE + 8 } <
2578 enum : uint { MCIERR_DEVICE_OPEN = MCIERR_BASE + 9 } <
2579 enum : uint { MCIERR_CANNOT_LOAD_DRIVER = MCIERR_BASE + 10 } <
2580 enum : uint { MCIERR_MISSING_COMMAND_STRING = MCIERR_BASE + 11 } <
2581 enum : uint { MCIERR_PARAM_OVERFLOW = MCIERR_BASE + 12 } <
2582 enum : uint { MCIERR_MISSING_STRING_ARGUMENT = MCIERR_BASE + 13 } <
2583 enum : uint { MCIERR_BAD_INTEGER = MCIERR_BASE + 14 } <
2584 enum : uint { MCIERR_PARSER_INTERNAL = MCIERR_BASE + 15 } <
2585 enum : uint { MCIERR_DRIVER_INTERNAL = MCIERR_BASE + 16 } <
2586 enum : uint { MCIERR_MISSING_PARAMETER = MCIERR_BASE + 17 } <
2587 enum : uint { MCIERR_UNSUPPORTED_FUNCTION = MCIERR_BASE + 18 } <
2588 enum : uint { MCIERR_FILE_NOT_FOUND = MCIERR_BASE + 19 } <
2589 enum : uint { MCIERR_DEVICE_NOT_READY = MCIERR_BASE + 20 } <
2590 enum : uint { MCIERR_INTERNAL = MCIERR_BASE + 21 } <
2591 enum : uint { MCIERR_DRIVER = MCIERR_BASE + 22 } <
2592 enum : uint { MCIERR_CANNOT_USE_ALL = MCIERR_BASE + 23 } <
2593 enum : uint { MCIERR_MULTIPLE = MCIERR_BASE + 24 } <
2594 enum : uint { MCIERR_EXTENSION_NOT_FOUND = MCIERR_BASE + 25 } <
2595 enum : uint { MCIERR_OUTOFRANGE = MCIERR_BASE + 26 } <
2596 enum : uint { MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28 } <
2597 enum : uint { MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30 } <
2598 enum : uint { MCIERR_DEVICE_TYPE_REQUIRED = MCIERR_BASE + 31 } <
2599 enum : uint { MCIERR_DEVICE_LOCKED = MCIERR_BASE + 32 } <
2600 enum : uint { MCIERR_DUPLICATE_ALIAS = MCIERR_BASE + 33 } <
2601 enum : uint { MCIERR_BAD_CONSTANT = MCIERR_BASE + 34 } <
2602 enum : uint { MCIERR_MUST_USE_SHAREABLE = MCIERR_BASE + 35 } <
2603 enum : uint { MCIERR_MISSING_DEVICE_NAME = MCIERR_BASE + 36 } <
2604 enum : uint { MCIERR_BAD_TIME_FORMAT = MCIERR_BASE + 37 } <
2605 enum : uint { MCIERR_NO_CLOSING_QUOTE = MCIERR_BASE + 38 } <
2606 enum : uint { MCIERR_DUPLICATE_FLAGS = MCIERR_BASE + 39 } <
2607 enum : uint { MCIERR_INVALID_FILE = MCIERR_BASE + 40 } <
2608 enum : uint { MCIERR_NULL_PARAMETER_BLOCK = MCIERR_BASE + 41 } <
2609 enum : uint { MCIERR_UNNAMED_RESOURCE = MCIERR_BASE + 42 } <
2610 enum : uint { MCIERR_NEW_REQUIRES_ALIAS = MCIERR_BASE + 43 } <
2611 enum : uint { MCIERR_NOTIFY_ON_AUTO_OPEN = MCIERR_BASE + 44 } <
2612 enum : uint { MCIERR_NO_ELEMENT_ALLOWED = MCIERR_BASE + 45 } <
2613 enum : uint { MCIERR_NONAPPLICABLE_FUNCTION = MCIERR_BASE + 46 } <
2614 enum : uint { MCIERR_ILLEGAL_FOR_AUTO_OPEN = MCIERR_BASE + 47 } <
2615 enum : uint { MCIERR_FILENAME_REQUIRED = MCIERR_BASE + 48 } <
2616 enum : uint { MCIERR_EXTRA_CHARACTERS = MCIERR_BASE + 49 } <
2617 enum : uint { MCIERR_DEVICE_NOT_INSTALLED = MCIERR_BASE + 50 } <
2618 enum : uint { MCIERR_GET_CD = MCIERR_BASE + 51 } <
2619 enum : uint { MCIERR_SET_CD = MCIERR_BASE + 52 } <
2620 enum : uint { MCIERR_SET_DRIVE = MCIERR_BASE + 53 } <
2621 enum : uint { MCIERR_DEVICE_LENGTH = MCIERR_BASE + 54 } <
2622 enum : uint { MCIERR_DEVICE_ORD_LENGTH = MCIERR_BASE + 55 } <
2623 enum : uint { MCIERR_NO_INTEGER = MCIERR_BASE + 56 } <
2624 <
2625 enum : uint { MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64 } <
2626 enum : uint { MCIERR_WAVE_SETOUTPUTINUSE = MCIERR_BASE + 65 } <
2627 enum : uint { MCIERR_WAVE_INPUTSINUSE = MCIERR_BASE + 66 } <
2628 enum : uint { MCIERR_WAVE_SETINPUTINUSE = MCIERR_BASE + 67 } <
2629 enum : uint { MCIERR_WAVE_OUTPUTUNSPECIFIED = MCIERR_BASE + 68 } <
2630 enum : uint { MCIERR_WAVE_INPUTUNSPECIFIED = MCIERR_BASE + 69 } <
2631 enum : uint { MCIERR_WAVE_OUTPUTSUNSUITABLE = MCIERR_BASE + 70 } <
2632 enum : uint { MCIERR_WAVE_SETOUTPUTUNSUITABLE = MCIERR_BASE + 71 } <
2633 enum : uint { MCIERR_WAVE_INPUTSUNSUITABLE = MCIERR_BASE + 72 } <
2634 enum : uint { MCIERR_WAVE_SETINPUTUNSUITABLE = MCIERR_BASE + 73 } <
2635 <
2636 enum : uint { MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80 } <
2637 enum : uint { MCIERR_SEQ_PORT_INUSE = MCIERR_BASE + 81 } <
2638 enum : uint { MCIERR_SEQ_PORT_NONEXISTENT = MCIERR_BASE + 82 } <
2639 enum : uint { MCIERR_SEQ_PORT_MAPNODEVICE = MCIERR_BASE + 83 } <
2640 enum : uint { MCIERR_SEQ_PORT_MISCERROR = MCIERR_BASE + 84 } <
2641 enum : uint { MCIERR_SEQ_TIMER = MCIERR_BASE + 85 } <
2642 enum : uint { MCIERR_SEQ_PORTUNSPECIFIED = MCIERR_BASE + 86 } <
2643 enum : uint { MCIERR_SEQ_NOMIDIPRESENT = MCIERR_BASE + 87 } <
2644 <
2645 enum : uint { MCIERR_NO_WINDOW = MCIERR_BASE + 90 } <
2646 enum : uint { MCIERR_CREATEWINDOW = MCIERR_BASE + 91 } <
2647 enum : uint { MCIERR_FILE_READ = MCIERR_BASE + 92 } <
2648 enum : uint { MCIERR_FILE_WRITE = MCIERR_BASE + 93 } <
2649 <
2650 enum : uint { MCIERR_NO_IDENTITY = MCIERR_BASE + 94 } <
2651 <
2652 enum : uint { MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256 } <
2653 <
2654 alias DRV_MCI_FIRST MCI_FIRST; <
2655 <
2656 enum : uint { MCI_OPEN = 0x0803 } <
2657 enum : uint { MCI_CLOSE = 0x0804 } <
2658 enum : uint { MCI_ESCAPE = 0x0805 } <
2659 enum : uint { MCI_PLAY = 0x0806 } <
2660 enum : uint { MCI_SEEK = 0x0807 } <
2661 enum : uint { MCI_STOP = 0x0808 } <
2662 enum : uint { MCI_PAUSE = 0x0809 } <
2663 enum : uint { MCI_INFO = 0x080A } <
2664 enum : uint { MCI_GETDEVCAPS = 0x080B } <
2665 enum : uint { MCI_SPIN = 0x080C } <
2666 enum : uint { MCI_SET = 0x080D } <
2667 enum : uint { MCI_STEP = 0x080E } <
2668 enum : uint { MCI_RECORD = 0x080F } <
2669 enum : uint { MCI_SYSINFO = 0x0810 } <
2670 enum : uint { MCI_BREAK = 0x0811 } <
2671 enum : uint { MCI_SAVE = 0x0813 } <
2672 enum : uint { MCI_STATUS = 0x0814 } <
2673 enum : uint { MCI_CUE = 0x0830 } <
2674 enum : uint { MCI_REALIZE = 0x0840 } <
2675 enum : uint { MCI_WINDOW = 0x0841 } <
2676 enum : uint { MCI_PUT = 0x0842 } <
2677 enum : uint { MCI_WHERE = 0x0843 } <
2678 enum : uint { MCI_FREEZE = 0x0844 } <
2679 enum : uint { MCI_UNFREEZE = 0x0845 } <
2680 enum : uint { MCI_LOAD = 0x0850 } <
2681 enum : uint { MCI_CUT = 0x0851 } <
2682 enum : uint { MCI_COPY = 0x0852 } <
2683 enum : uint { MCI_PASTE = 0x0853 } <
2684 enum : uint { MCI_UPDATE = 0x0854 } <
2685 enum : uint { MCI_RESUME = 0x0855 } <
2686 enum : uint { MCI_DELETE = 0x0856 } <
2687 <
2688 enum : uint { MCI_USER_MESSAGES = DRV_MCI_FIRST + 0x400 } <
2689 enum : uint { MCI_LAST = 0x0FFF } <
2690 <
2691 enum : uint { MCI_ALL_DEVICE_ID = cast(MCIDEVICEID)-1 } <
2692 <
2693 enum : uint { MCI_DEVTYPE_VCR = 513 } <
2694 enum : uint { MCI_DEVTYPE_VIDEODISC = 514 } <
2695 enum : uint { MCI_DEVTYPE_OVERLAY = 515 } <
2696 enum : uint { MCI_DEVTYPE_CD_AUDIO = 516 } <
2697 enum : uint { MCI_DEVTYPE_DAT = 517 } <
2698 enum : uint { MCI_DEVTYPE_SCANNER = 518 } <
2699 enum : uint { MCI_DEVTYPE_ANIMATION = 519 } <
2700 enum : uint { MCI_DEVTYPE_DIGITAL_VIDEO = 520 } <
2701 enum : uint { MCI_DEVTYPE_OTHER = 521 } <
2702 enum : uint { MCI_DEVTYPE_WAVEFORM_AUDIO = 522 } <
2703 enum : uint { MCI_DEVTYPE_SEQUENCER = 523 } <
2704 <
2705 alias MCI_DEVTYPE_VCR MCI_DEVTYPE_FIRST; <
2706 alias MCI_DEVTYPE_SEQUENCER MCI_DEVTYPE_LAST; <
2707 <
2708 enum : uint { MCI_DEVTYPE_FIRST_USER = 0x1000 } <
2709 <
2710 enum : uint { MCI_MODE_NOT_READY = MCI_STRING_OFFSET + 12 } <
2711 enum : uint { MCI_MODE_STOP = MCI_STRING_OFFSET + 13 } <
2712 enum : uint { MCI_MODE_PLAY = MCI_STRING_OFFSET + 14 } <
2713 enum : uint { MCI_MODE_RECORD = MCI_STRING_OFFSET + 15 } <
2714 enum : uint { MCI_MODE_SEEK = MCI_STRING_OFFSET + 16 } <
2715 enum : uint { MCI_MODE_PAUSE = MCI_STRING_OFFSET + 17 } <
2716 enum : uint { MCI_MODE_OPEN = MCI_STRING_OFFSET + 18 } <
2717 <
2718 enum : uint { MCI_FORMAT_MILLISECONDS = 0 } <
2719 enum : uint { MCI_FORMAT_HMS = 1 } <
2720 enum : uint { MCI_FORMAT_MSF = 2 } <
2721 enum : uint { MCI_FORMAT_FRAMES = 3 } <
2722 enum : uint { MCI_FORMAT_SMPTE_24 = 4 } <
2723 enum : uint { MCI_FORMAT_SMPTE_25 = 5 } <
2724 enum : uint { MCI_FORMAT_SMPTE_30 = 6 } <
2725 enum : uint { MCI_FORMAT_SMPTE_30DROP = 7 } <
2726 enum : uint { MCI_FORMAT_BYTES = 8 } <
2727 enum : uint { MCI_FORMAT_SAMPLES = 9 } <
2728 enum : uint { MCI_FORMAT_TMSF = 10 } <
2729 <
2730 // #define MCI_MSF_MINUTE(msf) ((BYTE)(msf)) <
2731 // #define MCI_MSF_SECOND(msf) ((BYTE)(((WORD)(msf)) >> 8)) <
2732 // #define MCI_MSF_FRAME(msf) ((BYTE)((msf)>>16)) <
2733 <
2734 // #define MCI_MAKE_MSF(m, s, f) ((DWORD)(((BYTE)(m) | ((WORD)(s)<<8)) | (((DWOR <
2735 <
2736 // #define MCI_TMSF_TRACK(tmsf) ((BYTE)(tmsf)) <
2737 // #define MCI_TMSF_MINUTE(tmsf) ((BYTE)(((WORD)(tmsf)) >> 8)) <
2738 // #define MCI_TMSF_SECOND(tmsf) ((BYTE)((tmsf)>>16)) <
2739 // #define MCI_TMSF_FRAME(tmsf) ((BYTE)((tmsf)>>24)) <
2740 <
2741 // #define MCI_MAKE_TMSF(t, m, s, f) ((DWORD)(((BYTE)(t) | ((WORD)(m)<<8)) | ((( <
2742 <
2743 // #define MCI_HMS_HOUR(hms) ((BYTE)(hms)) <
2744 // #define MCI_HMS_MINUTE(hms) ((BYTE)(((WORD)(hms)) >> 8)) <
2745 // #define MCI_HMS_SECOND(hms) ((BYTE)((hms)>>16)) <
2746 <
2747 // #define MCI_MAKE_HMS(h, m, s) ((DWORD)(((BYTE)(h) | ((WORD)(m)<<8)) | (((DWOR <
2748 <
2749 enum : uint { MCI_NOTIFY_SUCCESSFUL = 0x0001 } <
2750 enum : uint { MCI_NOTIFY_SUPERSEDED = 0x0002 } <
2751 enum : uint { MCI_NOTIFY_ABORTED = 0x0004 } <
2752 enum : uint { MCI_NOTIFY_FAILURE = 0x0008 } <
2753 <
2754 enum : uint { MCI_NOTIFY = 0x00000001 } <
2755 enum : uint { MCI_WAIT = 0x00000002 } <
2756 enum : uint { MCI_FROM = 0x00000004 } <
2757 enum : uint { MCI_TO = 0x00000008 } <
2758 enum : uint { MCI_TRACK = 0x00000010 } <
2759 <
2760 enum : uint { MCI_OPEN_SHAREABLE = 0x00000100 } <
2761 enum : uint { MCI_OPEN_ELEMENT = 0x00000200 } <
2762 enum : uint { MCI_OPEN_ALIAS = 0x00000400 } <
2763 enum : uint { MCI_OPEN_ELEMENT_ID = 0x00000800 } <
2764 enum : uint { MCI_OPEN_TYPE_ID = 0x00001000 } <
2765 enum : uint { MCI_OPEN_TYPE = 0x00002000 } <
2766 <
2767 enum : uint { MCI_SEEK_TO_START = 0x00000100 } <
2768 enum : uint { MCI_SEEK_TO_END = 0x00000200 } <
2769 <
2770 enum : uint { MCI_STATUS_ITEM = 0x00000100 } <
2771 enum : uint { MCI_STATUS_START = 0x00000200 } <
2772 <
2773 enum : uint { MCI_STATUS_LENGTH = 0x00000001 } <
2774 enum : uint { MCI_STATUS_POSITION = 0x00000002 } <
2775 enum : uint { MCI_STATUS_NUMBER_OF_TRACKS = 0x00000003 } <
2776 enum : uint { MCI_STATUS_MODE = 0x00000004 } <
2777 enum : uint { MCI_STATUS_MEDIA_PRESENT = 0x00000005 } <
2778 enum : uint { MCI_STATUS_TIME_FORMAT = 0x00000006 } <
2779 enum : uint { MCI_STATUS_READY = 0x00000007 } <
2780 enum : uint { MCI_STATUS_CURRENT_TRACK = 0x00000008 } <
2781 <
2782 enum : uint { MCI_INFO_PRODUCT = 0x00000100 } <
2783 enum : uint { MCI_INFO_FILE = 0x00000200 } <
2784 enum : uint { MCI_INFO_MEDIA_UPC = 0x00000400 } <
2785 enum : uint { MCI_INFO_MEDIA_IDENTITY = 0x00000800 } <
2786 enum : uint { MCI_INFO_NAME = 0x00001000 } <
2787 enum : uint { MCI_INFO_COPYRIGHT = 0x00002000 } <
2788 <
2789 enum : uint { MCI_GETDEVCAPS_ITEM = 0x00000100 } <
2790 <
2791 enum : uint { MCI_GETDEVCAPS_CAN_RECORD = 0x00000001 } <
2792 enum : uint { MCI_GETDEVCAPS_HAS_AUDIO = 0x00000002 } <
2793 enum : uint { MCI_GETDEVCAPS_HAS_VIDEO = 0x00000003 } <
2794 enum : uint { MCI_GETDEVCAPS_DEVICE_TYPE = 0x00000004 } <
2795 enum : uint { MCI_GETDEVCAPS_USES_FILES = 0x00000005 } <
2796 enum : uint { MCI_GETDEVCAPS_COMPOUND_DEVICE = 0x00000006 } <
2797 enum : uint { MCI_GETDEVCAPS_CAN_EJECT = 0x00000007 } <
2798 enum : uint { MCI_GETDEVCAPS_CAN_PLAY = 0x00000008 } <
2799 enum : uint { MCI_GETDEVCAPS_CAN_SAVE = 0x00000009 } <
2800 <
2801 enum : uint { MCI_SYSINFO_QUANTITY = 0x00000100 } <
2802 enum : uint { MCI_SYSINFO_OPEN = 0x00000200 } <
2803 enum : uint { MCI_SYSINFO_NAME = 0x00000400 } <
2804 enum : uint { MCI_SYSINFO_INSTALLNAME = 0x00000800 } <
2805 <
2806 enum : uint { MCI_SET_DOOR_OPEN = 0x00000100 } <
2807 enum : uint { MCI_SET_DOOR_CLOSED = 0x00000200 } <
2808 enum : uint { MCI_SET_TIME_FORMAT = 0x00000400 } <
2809 enum : uint { MCI_SET_AUDIO = 0x00000800 } <
2810 enum : uint { MCI_SET_VIDEO = 0x00001000 } <
2811 enum : uint { MCI_SET_ON = 0x00002000 } <
2812 enum : uint { MCI_SET_OFF = 0x00004000 } <
2813 <
2814 enum : uint { MCI_SET_AUDIO_ALL = 0x00000000 } <
2815 enum : uint { MCI_SET_AUDIO_LEFT = 0x00000001 } <
2816 enum : uint { MCI_SET_AUDIO_RIGHT = 0x00000002 } <
2817 <
2818 enum : uint { MCI_BREAK_KEY = 0x00000100 } <
2819 enum : uint { MCI_BREAK_HWND = 0x00000200 } <
2820 enum : uint { MCI_BREAK_OFF = 0x00000400 } <
2821 <
2822 enum : uint { MCI_RECORD_INSERT = 0x00000100 } <
2823 enum : uint { MCI_RECORD_OVERWRITE = 0x00000200 } <
2824 <
2825 enum : uint { MCI_SAVE_FILE = 0x00000100 } <
2826 <
2827 enum : uint { MCI_LOAD_FILE = 0x00000100 } <
2828 <
2829 struct tagMCI_GENERIC_PARMS { <
2830 DWORD_PTR dwCallback; <
2831 } <
2832 alias tagMCI_GENERIC_PARMS MCI_GENERIC_PARMS; <
2833 alias tagMCI_GENERIC_PARMS* PMCI_GENERIC_PARMS; <
2834 alias tagMCI_GENERIC_PARMS* LPMCI_GENERIC_PARMS; <
2835 <
2836 // #ifdef _WIN32 <
2837 <
2838 struct tagMCI_OPEN_PARMSA { <
2839 DWORD_PTR dwCallback; <
2840 MCIDEVICEID wDeviceID; <
2841 LPCSTR lpstrDeviceType; <
2842 LPCSTR lpstrElementName; <
2843 LPCSTR lpstrAlias; <
2844 } <
2845 alias tagMCI_OPEN_PARMSA MCI_OPEN_PARMSA; <
2846 alias tagMCI_OPEN_PARMSA* PMCI_OPEN_PARMSA; <
2847 alias tagMCI_OPEN_PARMSA* LPMCI_OPEN_PARMSA; <
2848 <
2849 struct tagMCI_OPEN_PARMSW { <
2850 DWORD_PTR dwCallback; <
2851 MCIDEVICEID wDeviceID; <
2852 LPCWSTR lpstrDeviceType; <
2853 LPCWSTR lpstrElementName; <
2854 LPCWSTR lpstrAlias; <
2855 } <
2856 alias tagMCI_OPEN_PARMSW MCI_OPEN_PARMSW; <
2857 alias tagMCI_OPEN_PARMSW* PMCI_OPEN_PARMSW; <
2858 alias tagMCI_OPEN_PARMSW* LPMCI_OPEN_PARMSW; <
2859 <
2860 // #ifdef UNICODE <
2861 alias MCI_OPEN_PARMSW MCI_OPEN_PARMS; | 2258 alias MCI_OPEN_PARMS* PMCI_OPEN_PARMS, LPMCI_OPEN_PARMS;
2862 alias PMCI_OPEN_PARMSW PMCI_OPEN_PARMS; <
2863 alias LPMCI_OPEN_PARMSW LPMCI_OPEN_PARMS; <
2864 // #else <
2865 // ... <
2866 // #endif // UNICODE <
2867 <
2868 // #else <
2869 // ... <
2870 // #endif <
2871 <
2872 struct tagMCI_PLAY_PARMS { <
2873 DWORD_PTR dwCallback; <
2874 DWORD dwFrom; <
2875 DWORD dwTo; <
2876 } <
2877 alias tagMCI_PLAY_PARMS MCI_PLAY_PARMS; <
2878 alias tagMCI_PLAY_PARMS* PMCI_PLAY_PARMS; <
2879 alias tagMCI_PLAY_PARMS* LPMCI_PLAY_PARMS; <
2880 <
2881 struct tagMCI_SEEK_PARMS { <
2882 DWORD_PTR dwCallback; <
2883 DWORD dwTo; <
2884 } <
2885 alias tagMCI_SEEK_PARMS MCI_SEEK_PARMS; <
2886 alias tagMCI_SEEK_PARMS* PMCI_SEEK_PARMS; <
2887 alias tagMCI_SEEK_PARMS* LPMCI_SEEK_PARMS; <
2888 <
2889 struct tagMCI_STATUS_PARMS { <
2890 DWORD_PTR dwCallback; <
2891 DWORD_PTR dwReturn; <
2892 DWORD dwItem; <
2893 DWORD dwTrack; <
2894 } <
2895 alias tagMCI_STATUS_PARMS MCI_STATUS_PARMS; <
2896 alias tagMCI_STATUS_PARMS* PMCI_STATUS_PARMS; <
2897 alias tagMCI_STATUS_PARMS* LPMCI_STATUS_PARMS; <
2898 <
2899 // #ifdef _WIN32 <
2900 <
2901 struct tagMCI_INFO_PARMSA { <
2902 DWORD_PTR dwCallback; <
2903 LPSTR lpstrReturn; <
2904 DWORD dwRetSize; <
2905 } <
2906 alias tagMCI_INFO_PARMSA MCI_INFO_PARMSA; <
2907 alias tagMCI_INFO_PARMSA* LPMCI_INFO_PARMSA; <
2908 <
2909 struct tagMCI_INFO_PARMSW { <
2910 DWORD_PTR dwCallback; <
2911 LPWSTR lpstrReturn; <
2912 DWORD dwRetSize; <
2913 } <
2914 alias tagMCI_INFO_PARMSW MCI_INFO_PARMSW; <
2915 alias tagMCI_INFO_PARMSW* LPMCI_INFO_PARMSW; <
2916 <
2917 // #ifdef UNICODE <
2918 alias MCI_INFO_PARMSW MCI_INFO_PARMS; | 2259 alias MCI_INFO_PARMS* LPMCI_INFO_PARMS;
2919 alias LPMCI_INFO_PARMSW LPMCI_INFO_PARMS; <
2920 // #else <
2921 // ... <
2922 // #endif // UNICODE <
2923 <
2924 // #else <
2925 // ... <
2926 // #endif <
2927 <
2928 struct tagMCI_GETDEVCAPS_PARMS { <
2929 DWORD_PTR dwCallback; <
2930 DWORD dwReturn; <
2931 DWORD dwItem; <
2932 } <
2933 alias tagMCI_GETDEVCAPS_PARMS MCI_GETDEVCAPS_PARMS; <
2934 alias tagMCI_GETDEVCAPS_PARMS* PMCI_GETDEVCAPS_PARMS; <
2935 alias tagMCI_GETDEVCAPS_PARMS* LPMCI_GETDEVCAPS_PARMS; <
2936 <
2937 // #ifdef _WIN32 <
2938 <
2939 struct tagMCI_SYSINFO_PARMSA { <
2940 DWORD_PTR dwCallback; <
2941 LPSTR lpstrReturn; <
2942 DWORD dwRetSize; <
2943 DWORD dwNumber; <
2944 UINT wDeviceType; <
2945 } <
2946 alias tagMCI_SYSINFO_PARMSA MCI_SYSINFO_PARMSA; <
2947 alias tagMCI_SYSINFO_PARMSA* PMCI_SYSINFO_PARMSA; <
2948 alias tagMCI_SYSINFO_PARMSA* LPMCI_SYSINFO_PARMSA; <
2949 <
2950 struct tagMCI_SYSINFO_PARMSW { <
2951 DWORD_PTR dwCallback; <
2952 LPWSTR lpstrReturn; <
2953 DWORD dwRetSize; <
2954 DWORD dwNumber; <
2955 UINT wDeviceType; <
2956 } <
2957 alias tagMCI_SYSINFO_PARMSW MCI_SYSINFO_PARMSW; <
2958 alias tagMCI_SYSINFO_PARMSW* PMCI_SYSINFO_PARMSW; <
2959 alias tagMCI_SYSINFO_PARMSW* LPMCI_SYSINFO_PARMSW; <
2960 <
2961 // #ifdef UNICODE <
2962 alias MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS; | 2260 alias MCI_SYSINFO_PARMS* PMCI_SYSINFO_PARMS, LPMCI_SYSINFO_PARMS;
2963 alias PMCI_SYSINFO_PARMSW PMCI_SYSINFO_PARMS; <
2964 alias LPMCI_SYSINFO_PARMSW LPMCI_SYSINFO_PARMS; <
2965 // #else <
2966 // ... <
2967 // #endif // UNICODE <
2968 // #else <
2969 // ... <
2970 // #endif <
2971 <
2972 struct tagMCI_SET_PARMS { <
2973 DWORD_PTR dwCallback; <
2974 DWORD dwTimeFormat; <
2975 DWORD dwAudio; <
2976 } <
2977 alias tagMCI_SET_PARMS MCI_SET_PARMS; <
2978 alias tagMCI_SET_PARMS* PMCI_SET_PARMS; <
2979 alias tagMCI_SET_PARMS* LPMCI_SET_PARMS; <
2980 <
2981 struct tagMCI_BREAK_PARMS { <
2982 DWORD_PTR dwCallback; <
2983 // #ifdef _WIN32 <
2984 int nVirtKey; <
2985 HWND hwndBreak; <
2986 // #else <
2987 // ... <
2988 // #endif <
2989 } <
2990 alias tagMCI_BREAK_PARMS MCI_BREAK_PARMS; <
2991 alias tagMCI_BREAK_PARMS* PMCI_BREAK_PARMS; <
2992 alias tagMCI_BREAK_PARMS* LPMCI_BREAK_PARMS; <
2993 <
2994 // #ifdef _WIN32 <
2995 <
2996 struct tagMCI_SAVE_PARMSA { <
2997 DWORD_PTR dwCallback; <
2998 LPCSTR lpfilename; <
2999 } <
3000 alias tagMCI_SAVE_PARMSA MCI_SAVE_PARMSA; <
3001 alias tagMCI_SAVE_PARMSA* PMCI_SAVE_PARMSA; <
3002 alias tagMCI_SAVE_PARMSA* LPMCI_SAVE_PARMSA; <
3003 <
3004 struct tagMCI_SAVE_PARMSW { <
3005 DWORD_PTR dwCallback; <
3006 LPCWSTR lpfilename; <
3007 } <
3008 alias tagMCI_SAVE_PARMSW MCI_SAVE_PARMSW; <
3009 alias tagMCI_SAVE_PARMSW* PMCI_SAVE_PARMSW; <
3010 alias tagMCI_SAVE_PARMSW* LPMCI_SAVE_PARMSW; <
3011 <
3012 // #ifdef UNICODE <
3013 alias MCI_SAVE_PARMSW MCI_SAVE_PARMS; | 2261 alias MCI_SAVE_PARMS* PMCI_SAVE_PARMS, LPMCI_SAVE_PARMS;
3014 alias PMCI_SAVE_PARMSW PMCI_SAVE_PARMS; <
3015 alias LPMCI_SAVE_PARMSW LPMCI_SAVE_PARMS; <
3016 // #else <
3017 // ... <
3018 // #endif // UNICODE <
3019 <
3020 // #else <
3021 // ... <
3022 // #endif <
3023 <
3024 // #ifdef _WIN32 <
3025 <
3026 struct tagMCI_LOAD_PARMSA { <
3027 DWORD_PTR dwCallback; <
3028 LPCSTR lpfilename; <
3029 } <
3030 alias tagMCI_LOAD_PARMSA MCI_LOAD_PARMSA; <
3031 alias tagMCI_LOAD_PARMSA* PMCI_LOAD_PARMSA; <
3032 alias tagMCI_LOAD_PARMSA* LPMCI_LOAD_PARMSA; <
3033 <
3034 struct tagMCI_LOAD_PARMSW { <
3035 DWORD_PTR dwCallback; <
3036 LPCWSTR lpfilename; <
3037 } <
3038 alias tagMCI_LOAD_PARMSW MCI_LOAD_PARMSW; <
3039 alias tagMCI_LOAD_PARMSW* PMCI_LOAD_PARMSW; <
3040 alias tagMCI_LOAD_PARMSW* LPMCI_LOAD_PARMSW; <
3041 <
3042 // #ifdef UNICODE <
3043 alias MCI_LOAD_PARMSW MCI_LOAD_PARMS; | 2262 alias MCI_LOAD_PARMS* PMCI_LOAD_PARMS, LPMCI_LOAD_PARMS;
3044 alias PMCI_LOAD_PARMSW PMCI_LOAD_PARMS; <
3045 alias LPMCI_LOAD_PARMSW LPMCI_LOAD_PARMS; <
3046 // #else <
3047 // ... <
3048 // #endif // UNICODE <
3049 <
3050 // #else <
3051 // ... <
3052 // #endif <
3053 <
3054 struct tagMCI_RECORD_PARMS { <
3055 DWORD_PTR dwCallback; <
3056 DWORD dwFrom; <
3057 DWORD dwTo; <
3058 } <
3059 alias tagMCI_RECORD_PARMS MCI_RECORD_PARMS; <
3060 alias tagMCI_RECORD_PARMS* LPMCI_RECORD_PARMS; <
3061 <
3062 enum : uint { MCI_VD_MODE_PARK = MCI_VD_OFFSET + 1 } <
3063 <
3064 enum : uint { MCI_VD_MEDIA_CLV = MCI_VD_OFFSET + 2 } <
3065 enum : uint { MCI_VD_MEDIA_CAV = MCI_VD_OFFSET + 3 } <
3066 enum : uint { MCI_VD_MEDIA_OTHER = MCI_VD_OFFSET + 4 } <
3067 <
3068 enum : uint { MCI_VD_FORMAT_TRACK = 0x4001 } <
3069 <
3070 enum : uint { MCI_VD_PLAY_REVERSE = 0x00010000 } <
3071 enum : uint { MCI_VD_PLAY_FAST = 0x00020000 } <
3072 enum : uint { MCI_VD_PLAY_SPEED = 0x00040000 } <
3073 enum : uint { MCI_VD_PLAY_SCAN = 0x00080000 } <
3074 enum : uint { MCI_VD_PLAY_SLOW = 0x00100000 } <
3075 <
3076 enum : uint { MCI_VD_SEEK_REVERSE = 0x00010000 } <
3077 <
3078 enum : uint { MCI_VD_STATUS_SPEED = 0x00004002 } <
3079 enum : uint { MCI_VD_STATUS_FORWARD = 0x00004003 } <
3080 enum : uint { MCI_VD_STATUS_MEDIA_TYPE = 0x00004004 } <
3081 enum : uint { MCI_VD_STATUS_SIDE = 0x00004005 } <
3082 enum : uint { MCI_VD_STATUS_DISC_SIZE = 0x00004006 } <
3083 <
3084 enum : uint { MCI_VD_GETDEVCAPS_CLV = 0x00010000 } <
3085 enum : uint { MCI_VD_GETDEVCAPS_CAV = 0x00020000 } <
3086 <
3087 enum : uint { MCI_VD_SPIN_UP = 0x00010000 } <
3088 enum : uint { MCI_VD_SPIN_DOWN = 0x00020000 } <
3089 <
3090 enum : uint { MCI_VD_GETDEVCAPS_CAN_REVERSE = 0x00004002 } <
3091 enum : uint { MCI_VD_GETDEVCAPS_FAST_RATE = 0x00004003 } <
3092 enum : uint { MCI_VD_GETDEVCAPS_SLOW_RATE = 0x00004004 } <
3093 enum : uint { MCI_VD_GETDEVCAPS_NORMAL_RATE = 0x00004005 } <
3094 <
3095 enum : uint { MCI_VD_STEP_FRAMES = 0x00010000 } <
3096 enum : uint { MCI_VD_STEP_REVERSE = 0x00020000 } <
3097 <
3098 enum : uint { MCI_VD_ESCAPE_STRING = 0x00000100 } <
3099 <
3100 struct tagMCI_VD_PLAY_PARMS { <
3101 DWORD_PTR dwCallback; <
3102 DWORD dwFrom; <
3103 DWORD dwTo; <
3104 DWORD dwSpeed; <
3105 } <
3106 alias tagMCI_VD_PLAY_PARMS MCI_VD_PLAY_PARMS; <
3107 alias tagMCI_VD_PLAY_PARMS* PMCI_VD_PLAY_PARMS; <
3108 alias tagMCI_VD_PLAY_PARMS* LPMCI_VD_PLAY_PARMS; <
3109 <
3110 struct tagMCI_VD_STEP_PARMS { <
3111 DWORD_PTR dwCallback; <
3112 DWORD dwFrames; <
3113 } <
3114 alias tagMCI_VD_STEP_PARMS MCI_VD_STEP_PARMS; <
3115 alias tagMCI_VD_STEP_PARMS* PMCI_VD_STEP_PARMS; <
3116 alias tagMCI_VD_STEP_PARMS* LPMCI_VD_STEP_PARMS; <
3117 <
3118 // #ifdef _WIN32 <
3119 <
3120 struct tagMCI_VD_ESCAPE_PARMSA { <
3121 DWORD_PTR dwCallback; <
3122 LPCSTR lpstrCommand; <
3123 } <
3124 alias tagMCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMSA; <
3125 alias tagMCI_VD_ESCAPE_PARMSA* PMCI_VD_ESCAPE_PARMSA; <
3126 alias tagMCI_VD_ESCAPE_PARMSA* LPMCI_VD_ESCAPE_PARMSA; <
3127 <
3128 struct tagMCI_VD_ESCAPE_PARMSW { <
3129 DWORD_PTR dwCallback; <
3130 LPCWSTR lpstrCommand; <
3131 } <
3132 alias tagMCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMSW; <
3133 alias tagMCI_VD_ESCAPE_PARMSW* PMCI_VD_ESCAPE_PARMSW; <
3134 alias tagMCI_VD_ESCAPE_PARMSW* LPMCI_VD_ESCAPE_PARMSW; <
3135 <
3136 // #ifdef UNICODE <
3137 alias MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS; | 2263 alias MCI_VD_ESCAPE_PARMS* PMCI_VD_ESCAPE_PARMS, LPMCI_VD_ESCAPE_PARMS;
3138 alias PMCI_VD_ESCAPE_PARMSW PMCI_VD_ESCAPE_PARMS; <
3139 alias LPMCI_VD_ESCAPE_PARMSW LPMCI_VD_ESCAPE_PARMS; <
3140 // #else <
3141 // ... <
3142 // #endif // UNICODE <
3143 <
3144 // #else <
3145 // ... <
3146 // #endif <
3147 <
3148 enum : uint { MCI_CDA_STATUS_TYPE_TRACK = 0x00004001 } <
3149 <
3150 enum : uint { MCI_CDA_TRACK_AUDIO = MCI_CD_OFFSET + 0 } <
3151 enum : uint { MCI_CDA_TRACK_OTHER = MCI_CD_OFFSET + 1 } <
3152 <
3153 enum : uint { MCI_WAVE_PCM = MCI_WAVE_OFFSET + 0 } <
3154 enum : uint { MCI_WAVE_MAPPER = MCI_WAVE_OFFSET + 1 } <
3155 <
3156 enum : uint { MCI_WAVE_OPEN_BUFFER = 0x00010000 } <
3157 <
3158 enum : uint { MCI_WAVE_SET_FORMATTAG = 0x00010000 } <
3159 enum : uint { MCI_WAVE_SET_CHANNELS = 0x00020000 } <
3160 enum : uint { MCI_WAVE_SET_SAMPLESPERSEC = 0x00040000 } <
3161 enum : uint { MCI_WAVE_SET_AVGBYTESPERSEC = 0x00080000 } <
3162 enum : uint { MCI_WAVE_SET_BLOCKALIGN = 0x00100000 } <
3163 enum : uint { MCI_WAVE_SET_BITSPERSAMPLE = 0x00200000 } <
3164 <
3165 enum : uint { MCI_WAVE_INPUT = 0x00400000 } <
3166 enum : uint { MCI_WAVE_OUTPUT = 0x00800000 } <
3167 <
3168 enum : uint { MCI_WAVE_STATUS_FORMATTAG = 0x00004001 } <
3169 enum : uint { MCI_WAVE_STATUS_CHANNELS = 0x00004002 } <
3170 enum : uint { MCI_WAVE_STATUS_SAMPLESPERSEC = 0x00004003 } <
3171 enum : uint { MCI_WAVE_STATUS_AVGBYTESPERSEC = 0x00004004 } <
3172 enum : uint { MCI_WAVE_STATUS_BLOCKALIGN = 0x00004005 } <
3173 enum : uint { MCI_WAVE_STATUS_BITSPERSAMPLE = 0x00004006 } <
3174 enum : uint { MCI_WAVE_STATUS_LEVEL = 0x00004007 } <
3175 <
3176 enum : uint { MCI_WAVE_SET_ANYINPUT = 0x04000000 } <
3177 enum : uint { MCI_WAVE_SET_ANYOUTPUT = 0x08000000 } <
3178 <
3179 enum : uint { MCI_WAVE_GETDEVCAPS_INPUTS = 0x00004001 } <
3180 enum : uint { MCI_WAVE_GETDEVCAPS_OUTPUTS = 0x00004002 } <
3181 <
3182 // #ifdef _WIN32 <
3183 <
3184 struct tagMCI_WAVE_OPEN_PARMSA { <
3185 DWORD_PTR dwCallback; <
3186 MCIDEVICEID wDeviceID; <
3187 LPCSTR lpstrDeviceType; <
3188 LPCSTR lpstrElementName; <
3189 LPCSTR lpstrAlias; <
3190 DWORD dwBufferSeconds; <
3191 } <
3192 alias tagMCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMSA; <
3193 alias tagMCI_WAVE_OPEN_PARMSA* PMCI_WAVE_OPEN_PARMSA; <
3194 alias tagMCI_WAVE_OPEN_PARMSA* LPMCI_WAVE_OPEN_PARMSA; <
3195 <
3196 struct tagMCI_WAVE_OPEN_PARMSW { <
3197 DWORD_PTR dwCallback; <
3198 MCIDEVICEID wDeviceID; <
3199 LPCWSTR lpstrDeviceType; <
3200 LPCWSTR lpstrElementName; <
3201 LPCWSTR lpstrAlias; <
3202 DWORD dwBufferSeconds; <
3203 } <
3204 alias tagMCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMSW; <
3205 alias tagMCI_WAVE_OPEN_PARMSW* PMCI_WAVE_OPEN_PARMSW; <
3206 alias tagMCI_WAVE_OPEN_PARMSW* LPMCI_WAVE_OPEN_PARMSW; <
3207 <
3208 // #ifdef UNICODE <
3209 alias MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS; | 2264 alias MCI_WAVE_OPEN_PARMS* PMCI_WAVE_OPEN_PARMS, LPMCI_WAVE_OPEN_PARMS;
3210 alias PMCI_WAVE_OPEN_PARMSW PMCI_WAVE_OPEN_PARMS; <
3211 alias LPMCI_WAVE_OPEN_PARMSW LPMCI_WAVE_OPEN_PARMS; <
3212 // #else <
3213 // ... <
3214 // #endif // UNICODE <
3215 <
3216 // #else <
3217 // ... <
3218 // #endif <
3219 <
3220 struct tagMCI_WAVE_DELETE_PARMS { <
3221 DWORD_PTR dwCallback; <
3222 DWORD dwFrom; <
3223 DWORD dwTo; <
3224 } <
3225 alias tagMCI_WAVE_DELETE_PARMS MCI_WAVE_DELETE_PARMS; <
3226 alias tagMCI_WAVE_DELETE_PARMS* PMCI_WAVE_DELETE_PARMS; <
3227 alias tagMCI_WAVE_DELETE_PARMS* LPMCI_WAVE_DELETE_PARMS; <
3228 <
3229 struct tagMCI_WAVE_SET_PARMS { <
3230 DWORD_PTR dwCallback; <
3231 DWORD dwTimeFormat; <
3232 DWORD dwAudio; <
3233 // #ifdef _WIN32 <
3234 UINT wInput; <
3235 UINT wOutput; <
3236 // #else <
3237 // ... <
3238 // #endif <
3239 WORD wFormatTag; <
3240 WORD wReserved2; <
3241 WORD nChannels; <
3242 WORD wReserved3; <
3243 DWORD nSamplesPerSec; <
3244 DWORD nAvgBytesPerSec; <
3245 WORD nBlockAlign; <
3246 WORD wReserved4; <
3247 WORD wBitsPerSample; <
3248 WORD wReserved5; <
3249 } <
3250 alias tagMCI_WAVE_SET_PARMS MCI_WAVE_SET_PARMS; <
3251 alias tagMCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS; <
3252 alias tagMCI_WAVE_SET_PARMS* LPMCI_WAVE_SET_PARMS; <
3253 <
3254 enum : uint { MCI_SEQ_DIV_PPQN = 0 + MCI_SEQ_OFFSET } <
3255 enum : uint { MCI_SEQ_DIV_SMPTE_24 = 1 + MCI_SEQ_OFFSET } <
3256 enum : uint { MCI_SEQ_DIV_SMPTE_25 = 2 + MCI_SEQ_OFFSET } <
3257 enum : uint { MCI_SEQ_DIV_SMPTE_30DROP = 3 + MCI_SEQ_OFFSET } <
3258 enum : uint { MCI_SEQ_DIV_SMPTE_30 = 4 + MCI_SEQ_OFFSET } <
3259 <
3260 enum : uint { MCI_SEQ_FORMAT_SONGPTR = 0x4001 } <
3261 enum : uint { MCI_SEQ_FILE = 0x4002 } <
3262 enum : uint { MCI_SEQ_MIDI = 0x4003 } <
3263 enum : uint { MCI_SEQ_SMPTE = 0x4004 } <
3264 enum : uint { MCI_SEQ_NONE = 65533 } <
3265 enum : uint { MCI_SEQ_MAPPER = 65535 } <
3266 <
3267 enum : uint { MCI_SEQ_STATUS_TEMPO = 0x00004002 } <
3268 enum : uint { MCI_SEQ_STATUS_PORT = 0x00004003 } <
3269 enum : uint { MCI_SEQ_STATUS_SLAVE = 0x00004007 } <
3270 enum : uint { MCI_SEQ_STATUS_MASTER = 0x00004008 } <
3271 enum : uint { MCI_SEQ_STATUS_OFFSET = 0x00004009 } <
3272 enum : uint { MCI_SEQ_STATUS_DIVTYPE = 0x0000400A } <
3273 enum : uint { MCI_SEQ_STATUS_NAME = 0x0000400B } <
3274 enum : uint { MCI_SEQ_STATUS_COPYRIGHT = 0x0000400C } <
3275 <
3276 enum : uint { MCI_SEQ_SET_TEMPO = 0x00010000 } <
3277 enum : uint { MCI_SEQ_SET_PORT = 0x00020000 } <
3278 enum : uint { MCI_SEQ_SET_SLAVE = 0x00040000 } <
3279 enum : uint { MCI_SEQ_SET_MASTER = 0x00080000 } <
3280 enum : uint { MCI_SEQ_SET_OFFSET = 0x01000000 } <
3281 <
3282 struct tagMCI_SEQ_SET_PARMS { <
3283 DWORD_PTR dwCallback; <
3284 DWORD dwTimeFormat; <
3285 DWORD dwAudio; <
3286 DWORD dwTempo; <
3287 DWORD dwPort; <
3288 DWORD dwSlave; <
3289 DWORD dwMaster; <
3290 DWORD dwOffset; <
3291 } <
3292 alias tagMCI_SEQ_SET_PARMS MCI_SEQ_SET_PARMS; <
3293 alias tagMCI_SEQ_SET_PARMS* PMCI_SEQ_SET_PARMS; <
3294 alias tagMCI_SEQ_SET_PARMS* LPMCI_SEQ_SET_PARMS; <
3295 <
3296 enum : uint { MCI_ANIM_OPEN_WS = 0x00010000 } <
3297 enum : uint { MCI_ANIM_OPEN_PARENT = 0x00020000 } <
3298 enum : uint { MCI_ANIM_OPEN_NOSTATIC = 0x00040000 } <
3299 <
3300 enum : uint { MCI_ANIM_PLAY_SPEED = 0x00010000 } <
3301 enum : uint { MCI_ANIM_PLAY_REVERSE = 0x00020000 } <
3302 enum : uint { MCI_ANIM_PLAY_FAST = 0x00040000 } <
3303 enum : uint { MCI_ANIM_PLAY_SLOW = 0x00080000 } <
3304 enum : uint { MCI_ANIM_PLAY_SCAN = 0x00100000 } <
3305 <
3306 enum : uint { MCI_ANIM_STEP_REVERSE = 0x00010000 } <
3307 enum : uint { MCI_ANIM_STEP_FRAMES = 0x00020000 } <
3308 <
3309 enum : uint { MCI_ANIM_STATUS_SPEED = 0x00004001 } <
3310 enum : uint { MCI_ANIM_STATUS_FORWARD = 0x00004002 } <
3311 enum : uint { MCI_ANIM_STATUS_HWND = 0x00004003 } <
3312 enum : uint { MCI_ANIM_STATUS_HPAL = 0x00004004 } <
3313 enum : uint { MCI_ANIM_STATUS_STRETCH = 0x00004005 } <
3314 <
3315 enum : uint { MCI_ANIM_INFO_TEXT = 0x00010000 } <
3316 <
3317 enum : uint { MCI_ANIM_GETDEVCAPS_CAN_REVERSE = 0x00004001 } <
3318 enum : uint { MCI_ANIM_GETDEVCAPS_FAST_RATE = 0x00004002 } <
3319 enum : uint { MCI_ANIM_GETDEVCAPS_SLOW_RATE = 0x00004003 } <
3320 enum : uint { MCI_ANIM_GETDEVCAPS_NORMAL_RATE = 0x00004004 } <
3321 enum : uint { MCI_ANIM_GETDEVCAPS_PALETTES = 0x00004006 } <
3322 enum : uint { MCI_ANIM_GETDEVCAPS_CAN_STRETCH = 0x00004007 } <
3323 enum : uint { MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = 0x00004008 } <
3324 <
3325 enum : uint { MCI_ANIM_REALIZE_NORM = 0x00010000 } <
3326 enum : uint { MCI_ANIM_REALIZE_BKGD = 0x00020000 } <
3327 <
3328 enum : uint { MCI_ANIM_WINDOW_HWND = 0x00010000 } <
3329 enum : uint { MCI_ANIM_WINDOW_STATE = 0x00040000 } <
3330 enum : uint { MCI_ANIM_WINDOW_TEXT = 0x00080000 } <
3331 enum : uint { MCI_ANIM_WINDOW_ENABLE_STRETCH = 0x00100000 } <
3332 enum : uint { MCI_ANIM_WINDOW_DISABLE_STRETCH = 0x00200000 } <
3333 <
3334 enum : uint { MCI_ANIM_WINDOW_DEFAULT = 0x00000000 } <
3335 <
3336 enum : uint { MCI_ANIM_RECT = 0x00010000 } <
3337 enum : uint { MCI_ANIM_PUT_SOURCE = 0x00020000 } <
3338 enum : uint { MCI_ANIM_PUT_DESTINATION = 0x00040000 } <
3339 <
3340 enum : uint { MCI_ANIM_WHERE_SOURCE = 0x00020000 } <
3341 enum : uint { MCI_ANIM_WHERE_DESTINATION = 0x00040000 } <
3342 <
3343 enum : uint { MCI_ANIM_UPDATE_HDC = 0x00020000 } <
3344 <
3345 // #ifdef _WIN32 <
3346 <
3347 struct tagMCI_ANIM_OPEN_PARMSA { <
3348 DWORD_PTR dwCallback; <
3349 MCIDEVICEID wDeviceID; <
3350 LPCSTR lpstrDeviceType; <
3351 LPCSTR lpstrElementName; <
3352 LPCSTR lpstrAlias; <
3353 DWORD dwStyle; <
3354 HWND hWndParent; <
3355 } <
3356 alias tagMCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMSA; <
3357 alias tagMCI_ANIM_OPEN_PARMSA* PMCI_ANIM_OPEN_PARMSA; <
3358 alias tagMCI_ANIM_OPEN_PARMSA* LPMCI_ANIM_OPEN_PARMSA; <
3359 <
3360 struct tagMCI_ANIM_OPEN_PARMSW { <
3361 DWORD_PTR dwCallback; <
3362 MCIDEVICEID wDeviceID; <
3363 LPCWSTR lpstrDeviceType; <
3364 LPCWSTR lpstrElementName; <
3365 LPCWSTR lpstrAlias; <
3366 DWORD dwStyle; <
3367 HWND hWndParent; <
3368 } <
3369 alias tagMCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMSW; <
3370 alias tagMCI_ANIM_OPEN_PARMSW* PMCI_ANIM_OPEN_PARMSW; <
3371 alias tagMCI_ANIM_OPEN_PARMSW* LPMCI_ANIM_OPEN_PARMSW; <
3372 <
3373 // #ifdef UNICODE <
3374 alias MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS; | 2265 alias MCI_ANIM_OPEN_PARMS* PMCI_ANIM_OPEN_PARMS, LPMCI_ANIM_OPEN_PARMS;
3375 alias PMCI_ANIM_OPEN_PARMSW PMCI_ANIM_OPEN_PARMS; <
3376 alias LPMCI_ANIM_OPEN_PARMSW LPMCI_ANIM_OPEN_PARMS; <
3377 // #else <
3378 // ... <
3379 // #endif // UNICODE <
3380 <
3381 // #else <
3382 // ... <
3383 // #endif <
3384 <
3385 struct tagMCI_ANIM_PLAY_PARMS { <
3386 DWORD_PTR dwCallback; <
3387 DWORD dwFrom; <
3388 DWORD dwTo; <
3389 DWORD dwSpeed; <
3390 } <
3391 alias tagMCI_ANIM_PLAY_PARMS MCI_ANIM_PLAY_PARMS; <
3392 alias tagMCI_ANIM_PLAY_PARMS* PMCI_ANIM_PLAY_PARMS; <
3393 alias tagMCI_ANIM_PLAY_PARMS* LPMCI_ANIM_PLAY_PARMS; <
3394 <
3395 struct tagMCI_ANIM_STEP_PARMS { <
3396 DWORD_PTR dwCallback; <
3397 DWORD dwFrames; <
3398 } <
3399 alias tagMCI_ANIM_STEP_PARMS MCI_ANIM_STEP_PARMS; <
3400 alias tagMCI_ANIM_STEP_PARMS* PMCI_ANIM_STEP_PARMS; <
3401 alias tagMCI_ANIM_STEP_PARMS* LPMCI_ANIM_STEP_PARMS; <
3402 <
3403 // #ifdef _WIN32 <
3404 <
3405 struct tagMCI_ANIM_WINDOW_PARMSA { <
3406 DWORD_PTR dwCallback; <
3407 HWND hWnd; <
3408 UINT nCmdShow; <
3409 LPCSTR lpstrText; <
3410 } <
3411 alias tagMCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMSA; <
3412 alias tagMCI_ANIM_WINDOW_PARMSA* PMCI_ANIM_WINDOW_PARMSA; <
3413 alias tagMCI_ANIM_WINDOW_PARMSA* LPMCI_ANIM_WINDOW_PARMSA; <
3414 <
3415 struct tagMCI_ANIM_WINDOW_PARMSW { <
3416 DWORD_PTR dwCallback; <
3417 HWND hWnd; <
3418 UINT nCmdShow; <
3419 LPCWSTR lpstrText; <
3420 } <
3421 alias tagMCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMSW; <
3422 alias tagMCI_ANIM_WINDOW_PARMSW* PMCI_ANIM_WINDOW_PARMSW; <
3423 alias tagMCI_ANIM_WINDOW_PARMSW* LPMCI_ANIM_WINDOW_PARMSW; <
3424 <
3425 // #ifdef UNICODE <
3426 alias MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS; | 2266 alias MCI_ANIM_WINDOW_PARMS* PMCI_ANIM_WINDOW_PARMS, LPMCI_ANIM_WINDOW_PARMS;
3427 alias PMCI_ANIM_WINDOW_PARMSW PMCI_ANIM_WINDOW_PARMS; <
3428 alias LPMCI_ANIM_WINDOW_PARMSW LPMCI_ANIM_WINDOW_PARMS; <
3429 // #else <
3430 // ... <
3431 // #endif // UNICODE <
3432 <
3433 // #else <
3434 // ... <
3435 // #endif <
3436 <
3437 struct tagMCI_ANIM_RECT_PARMS { <
3438 DWORD_PTR dwCallback; <
3439 // #ifdef MCI_USE_OFFEXT <
3440 // ... <
3441 // #else /* ifdef MCI_USE_OFFEXT */ <
3442 RECT rc; <
3443 // #endif /* ifdef MCI_USE_OFFEXT */ <
3444 } <
3445 alias tagMCI_ANIM_RECT_PARMS MCI_ANIM_RECT_PARMS; <
3446 <
3447 alias MCI_ANIM_RECT_PARMS* PMCI_ANIM_RECT_PARMS; <
3448 alias MCI_ANIM_RECT_PARMS* LPMCI_ANIM_RECT_PARMS; <
3449 <
3450 struct tagMCI_ANIM_UPDATE_PARMS { <
3451 DWORD_PTR dwCallback; <
3452 RECT rc; <
3453 HDC hDC; <
3454 } <
3455 alias tagMCI_ANIM_UPDATE_PARMS MCI_ANIM_UPDATE_PARMS; <
3456 alias tagMCI_ANIM_UPDATE_PARMS* PMCI_ANIM_UPDATE_PARMS; <
3457 alias tagMCI_ANIM_UPDATE_PARMS* LPMCI_ANIM_UPDATE_PARMS; <
3458 <
3459 enum : uint { MCI_OVLY_OPEN_WS = 0x00010000 } <
3460 enum : uint { MCI_OVLY_OPEN_PARENT = 0x00020000 } <
3461 <
3462 enum : uint { MCI_OVLY_STATUS_HWND = 0x00004001 } <
3463 enum : uint { MCI_OVLY_STATUS_STRETCH = 0x00004002 } <
3464 <
3465 enum : uint { MCI_OVLY_INFO_TEXT = 0x00010000 } <
3466 <
3467 enum : uint { MCI_OVLY_GETDEVCAPS_CAN_STRETCH = 0x00004001 } <
3468 enum : uint { MCI_OVLY_GETDEVCAPS_CAN_FREEZE = 0x00004002 } <
3469 enum : uint { MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = 0x00004003 } <
3470 <
3471 enum : uint { MCI_OVLY_WINDOW_HWND = 0x00010000 } <
3472 enum : uint { MCI_OVLY_WINDOW_STATE = 0x00040000 } <
3473 enum : uint { MCI_OVLY_WINDOW_TEXT = 0x00080000 } <
3474 enum : uint { MCI_OVLY_WINDOW_ENABLE_STRETCH = 0x00100000 } <
3475 enum : uint { MCI_OVLY_WINDOW_DISABLE_STRETCH = 0x00200000 } <
3476 <
3477 enum : uint { MCI_OVLY_WINDOW_DEFAULT = 0x00000000 } <
3478 <
3479 enum : uint { MCI_OVLY_RECT = 0x00010000 } <
3480 enum : uint { MCI_OVLY_PUT_SOURCE = 0x00020000 } <
3481 enum : uint { MCI_OVLY_PUT_DESTINATION = 0x00040000 } <
3482 enum : uint { MCI_OVLY_PUT_FRAME = 0x00080000 } <
3483 enum : uint { MCI_OVLY_PUT_VIDEO = 0x00100000 } <
3484 <
3485 enum : uint { MCI_OVLY_WHERE_SOURCE = 0x00020000 } <
3486 enum : uint { MCI_OVLY_WHERE_DESTINATION = 0x00040000 } <
3487 enum : uint { MCI_OVLY_WHERE_FRAME = 0x00080000 } <
3488 enum : uint { MCI_OVLY_WHERE_VIDEO = 0x00100000 } <
3489 <
3490 // #ifdef _WIN32 <
3491 <
3492 struct tagMCI_OVLY_OPEN_PARMSA { <
3493 DWORD_PTR dwCallback; <
3494 MCIDEVICEID wDeviceID; <
3495 LPCSTR lpstrDeviceType; <
3496 LPCSTR lpstrElementName; <
3497 LPCSTR lpstrAlias; <
3498 DWORD dwStyle; <
3499 HWND hWndParent; <
3500 } <
3501 alias tagMCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMSA; <
3502 alias tagMCI_OVLY_OPEN_PARMSA* PMCI_OVLY_OPEN_PARMSA; <
3503 alias tagMCI_OVLY_OPEN_PARMSA* LPMCI_OVLY_OPEN_PARMSA; <
3504 <
3505 struct tagMCI_OVLY_OPEN_PARMSW { <
3506 DWORD_PTR dwCallback; <
3507 MCIDEVICEID wDeviceID; <
3508 LPCWSTR lpstrDeviceType; <
3509 LPCWSTR lpstrElementName; <
3510 LPCWSTR lpstrAlias; <
3511 DWORD dwStyle; <
3512 HWND hWndParent; <
3513 } <
3514 alias tagMCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMSW; <
3515 alias tagMCI_OVLY_OPEN_PARMSW* PMCI_OVLY_OPEN_PARMSW; <
3516 alias tagMCI_OVLY_OPEN_PARMSW* LPMCI_OVLY_OPEN_PARMSW; <
3517 <
3518 // #ifdef UNICODE <
3519 alias MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS; | 2267 alias MCI_OVLY_OPEN_PARMS* PMCI_OVLY_OPEN_PARMS, LPMCI_OVLY_OPEN_PARMS;
3520 alias PMCI_OVLY_OPEN_PARMSW PMCI_OVLY_OPEN_PARMS; <
3521 alias LPMCI_OVLY_OPEN_PARMSW LPMCI_OVLY_OPEN_PARMS; <
3522 // #else <
3523 // ... <
3524 // #endif // UNICODE <
3525 <
3526 // #else <
3527 // ... <
3528 // #endif <
3529 <
3530 // #ifdef _WIN32 <
3531 <
3532 struct tagMCI_OVLY_WINDOW_PARMSA { <
3533 DWORD_PTR dwCallback; <
3534 HWND hWnd; <
3535 UINT nCmdShow; <
3536 LPCSTR lpstrText; <
3537 } <
3538 alias tagMCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMSA; <
3539 alias tagMCI_OVLY_WINDOW_PARMSA* PMCI_OVLY_WINDOW_PARMSA; <
3540 alias tagMCI_OVLY_WINDOW_PARMSA* LPMCI_OVLY_WINDOW_PARMSA; <
3541 <
3542 struct tagMCI_OVLY_WINDOW_PARMSW { <
3543 DWORD_PTR dwCallback; <
3544 HWND hWnd; <
3545 UINT nCmdShow; <
3546 LPCWSTR lpstrText; <
3547 } <
3548 alias tagMCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMSW; <
3549 alias tagMCI_OVLY_WINDOW_PARMSW* PMCI_OVLY_WINDOW_PARMSW; <
3550 alias tagMCI_OVLY_WINDOW_PARMSW* LPMCI_OVLY_WINDOW_PARMSW; <
3551 <
3552 // #ifdef UNICODE <
3553 alias MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS; | 2268 alias MCI_OVLY_WINDOW_PARMS* PMCI_OVLY_WINDOW_PARMS, LPMCI_OVLY_WINDOW_PARMS;
3554 alias PMCI_OVLY_WINDOW_PARMSW PMCI_OVLY_WINDOW_PARMS; <
3555 alias LPMCI_OVLY_WINDOW_PARMSW LPMCI_OVLY_WINDOW_PARMS; <
3556 // #else <
3557 // ... <
3558 // #endif // UNICODE <
3559 // #else <
3560 // ... <
3561 // #endif <
3562 <
3563 struct tagMCI_OVLY_RECT_PARMS { <
3564 DWORD_PTR dwCallback; <
3565 // #ifdef MCI_USE_OFFEXT <
3566 // ... <
3567 // #else /* ifdef MCI_USE_OFFEXT */ <
3568 RECT rc; <
3569 // #endif /* ifdef MCI_USE_OFFEXT */ <
3570 } <
3571 alias tagMCI_OVLY_RECT_PARMS MCI_OVLY_RECT_PARMS; <
3572 alias tagMCI_OVLY_RECT_PARMS* PMCI_OVLY_RECT_PARMS; <
3573 alias tagMCI_OVLY_RECT_PARMS* LPMCI_OVLY_RECT_PARMS; <
3574 <
3575 // #ifdef _WIN32 <
3576 <
3577 struct tagMCI_OVLY_SAVE_PARMSA { <
3578 DWORD_PTR dwCallback; <
3579 LPCSTR lpfilename; <
3580 RECT rc; <
3581 } <
3582 alias tagMCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMSA; <
3583 alias tagMCI_OVLY_SAVE_PARMSA* PMCI_OVLY_SAVE_PARMSA; <
3584 alias tagMCI_OVLY_SAVE_PARMSA* LPMCI_OVLY_SAVE_PARMSA; <
3585 <
3586 struct tagMCI_OVLY_SAVE_PARMSW { <
3587 DWORD_PTR dwCallback; <
3588 LPCWSTR lpfilename; <
3589 RECT rc; <
3590 } <
3591 alias tagMCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMSW; <
3592 alias tagMCI_OVLY_SAVE_PARMSW* PMCI_OVLY_SAVE_PARMSW; <
3593 alias tagMCI_OVLY_SAVE_PARMSW* LPMCI_OVLY_SAVE_PARMSW; <
3594 <
3595 // #ifdef UNICODE <
3596 alias MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS; | 2269 alias MCI_OVLY_SAVE_PARMS* PMCI_OVLY_SAVE_PARMS, LPMCI_OVLY_SAVE_PARMS;
3597 alias PMCI_OVLY_SAVE_PARMSW PMCI_OVLY_SAVE_PARMS; <
3598 alias LPMCI_OVLY_SAVE_PARMSW LPMCI_OVLY_SAVE_PARMS; <
3599 // #else <
3600 // ... <
3601 // #endif // UNICODE <
3602 // #else <
3603 // ... <
3604 // #endif <
3605 <
3606 // #ifdef _WIN32 <
3607 <
3608 struct tagMCI_OVLY_LOAD_PARMSA { <
3609 DWORD_PTR dwCallback; <
3610 LPCSTR lpfilename; <
3611 RECT rc; <
3612 } <
3613 alias tagMCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMSA; <
3614 alias tagMCI_OVLY_LOAD_PARMSA* PMCI_OVLY_LOAD_PARMSA; <
3615 alias tagMCI_OVLY_LOAD_PARMSA* LPMCI_OVLY_LOAD_PARMSA; <
3616 <
3617 struct tagMCI_OVLY_LOAD_PARMSW { <
3618 DWORD_PTR dwCallback; <
3619 LPCWSTR lpfilename; <
3620 RECT rc; <
3621 } <
3622 alias tagMCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMSW; <
3623 alias tagMCI_OVLY_LOAD_PARMSW* PMCI_OVLY_LOAD_PARMSW; <
3624 alias tagMCI_OVLY_LOAD_PARMSW* LPMCI_OVLY_LOAD_PARMSW; <
3625 <
3626 // #ifdef UNICODE <
3627 alias MCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMS; <
3628 alias PMCI_OVLY_LOAD_PARMSW PMCI_OVLY_LOAD_PARMS; <
3629 alias LPMCI_OVLY_LOAD_PARMSW LPMCI_OVLY_LOAD_PARMS; <
3630 // #else <
3631 // ... <
3632 // #endif // UNICODE <
3633 // #else <
3634 // ... <
3635 // #endif <
3636 <
3637 // #endif /* ifndef MMNOMCI */ <
3638 <
3639 // #ifndef NEWTRANSPARENT <
3640 enum : uint { NEWTRANSPARENT = 3 } <
3641 <
3642 enum : uint { QUERYROPSUPPORT = 40 } <
3643 // #endif /* ifndef NEWTRANSPARENT */ <
3644 <
3645 enum : uint { SELECTDIB = 41 } <
3646 // #define DIBINDEX(n) MAKELONG((n),0x10FF) <
3647 <
3648 // #ifndef SC_SCREENSAVE <
3649 <
3650 enum : uint { SC_SCREENSAVE = 0xF140 } <
3651 <
3652 // #endif /* ifndef SC_SCREENSAVE */ <
3653 <
3654 // #ifdef __cplusplus <
3655 // } <
3656 // #endif /* __cplusplus */ <
3657 <
3658 // #ifdef _WIN32 <
3659 align: <
3660 // #else <
3661 // #ifndef RC_INVOKED <
3662 // #... <
3663 // #endif <
3664 // #endif <
3665 <
3666 // #endif /* _INC_MMSYSTEM */ <
3667 <