Hex Artifact Content

Not logged in

Artifact f5def972cae0b61c2fd956117fbb8848acc76c84:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 6d 6d 73  module win32.mms
0010: 79 73 74 65 6d 3b 0d 0a 0d 0a 2f 2f 20 54 72 61  ystem;....// Tra
0020: 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63  nslated from Mic
0030: 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20  rosoft Platform 
0040: 53 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20  SDK August 2001 
0050: 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59  Edition..// by Y
0060: 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f 6e 6c  .Tomino (demoonl
0070: 69 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d 0a 0d  it@inter7.jp)...
0080: 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69  .import win32.wi
0090: 6e 62 61 73 65 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  nbase;....// #if
00a0: 6e 64 65 66 20 5f 49 4e 43 5f 4d 4d 53 59 53 54  ndef _INC_MMSYST
00b0: 45 4d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f  EM..// #define _
00c0: 49 4e 43 5f 4d 4d 53 59 53 54 45 4d 0d 0a 0d 0a  INC_MMSYSTEM....
00d0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
00e0: 0d 0a 61 6c 69 67 6e 28 31 29 3a 0d 0a 2f 2f 20  ..align(1):..// 
00f0: 23 65 6c 73 65 0d 0a 2f 2f 20 23 69 66 6e 64 65  #else..// #ifnde
0100: 66 20 52 43 5f 49 4e 56 4f 4b 45 44 0d 0a 2f 2f  f RC_INVOKED..//
0110: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
0120: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0130: 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c 75 73  / #ifdef __cplus
0140: 70 6c 75 73 0d 0a 2f 2f 20 65 78 74 65 72 6e 20  plus..// extern 
0150: 22 43 22 20 7b 20 20 20 20 20 20 20 20 20 20 20  "C" {           
0160: 20 2f 2a 20 41 73 73 75 6d 65 20 43 20 64 65 63   /* Assume C dec
0170: 6c 61 72 61 74 69 6f 6e 73 20 66 6f 72 20 43 2b  larations for C+
0180: 2b 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  + */..// #endif 
0190: 20 2f 2a 20 5f 5f 63 70 6c 75 73 70 6c 75 73 20   /* __cplusplus 
01a0: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  */....// #ifdef 
01b0: 5f 57 49 4e 33 32 0d 0a 2f 2f 20 23 69 66 6e 64  _WIN32..// #ifnd
01c0: 65 66 20 5f 57 49 4e 4d 4d 5f 0d 0a 2f 2f 20 23  ef _WINMM_..// #
01d0: 64 65 66 69 6e 65 20 57 49 4e 4d 4d 41 50 49 20  define WINMMAPI 
01e0: 44 45 43 4c 53 50 45 43 5f 49 4d 50 4f 52 54 0d  DECLSPEC_IMPORT.
01f0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
0200: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
0210: 2f 20 23 64 65 66 69 6e 65 20 5f 6c 6f 61 64 64  / #define _loadd
0220: 73 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 68  s..// #define _h
0230: 75 67 65 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  uge..// #else../
0240: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
0250: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
0260: 4d 41 43 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  MAC..// #.....//
0270: 20 23 65 6e 64 69 66 20 2f 2f 5f 4d 41 43 0d 0a   #endif //_MAC..
0280: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0290: 4d 41 58 50 4e 41 4d 45 4c 45 4e 20 3d 20 33 32  MAXPNAMELEN = 32
02a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
02b0: 7b 20 4d 41 58 45 52 52 4f 52 4c 45 4e 47 54 48  { MAXERRORLENGTH
02c0: 20 3d 20 32 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a   = 256 }..enum :
02d0: 20 75 69 6e 74 20 7b 20 4d 41 58 5f 4a 4f 59 53   uint { MAX_JOYS
02e0: 54 49 43 4b 4f 45 4d 56 58 44 4e 41 4d 45 20 3d  TICKOEMVXDNAME =
02f0: 20 32 36 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   260 }....// #if
0300: 20 28 57 49 4e 56 45 52 20 3c 3d 20 30 78 30 34   (WINVER <= 0x04
0310: 30 30 29 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  00)..// #ifndef 
0320: 4d 4d 5f 4d 49 43 52 4f 53 4f 46 54 0d 0a 2f 2f  MM_MICROSOFT..//
0330: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
0340: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4d  ....// #ifndef M
0350: 4d 5f 4d 49 44 49 5f 4d 41 50 50 45 52 0d 0a 2f  M_MIDI_MAPPER../
0360: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
0370: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
0380: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
0390: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
03a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a   #.....// #.....
03b0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e  // #.....// #...
03c0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
03d0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
03e0: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 61  def _WIN32..alia
03f0: 73 20 55 49 4e 54 20 4d 4d 56 45 52 53 49 4f 4e  s UINT MMVERSION
0400: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
0410: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
0420: 61 6c 69 61 73 20 55 49 4e 54 20 4d 4d 52 45 53  alias UINT MMRES
0430: 55 4c 54 3b 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  ULT;....// #defi
0440: 6e 65 20 5f 4d 4d 52 45 53 55 4c 54 5f 0d 0a 0d  ne _MMRESULT_...
0450: 0a 61 6c 69 61 73 20 55 49 4e 54 2a 20 4c 50 55  .alias UINT* LPU
0460: 49 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 6d  INT;....struct m
0470: 6d 74 69 6d 65 5f 74 61 67 20 7b 0d 0a 20 20 55  mtime_tag {..  U
0480: 49 4e 54 20 77 54 79 70 65 3b 0d 0a 75 6e 69 6f  INT wType;..unio
0490: 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 6d 73 3b  n {..  DWORD ms;
04a0: 0d 0a 20 20 44 57 4f 52 44 20 73 61 6d 70 6c 65  ..  DWORD sample
04b0: 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62 3b 0d 0a  ;..  DWORD cb;..
04c0: 20 20 44 57 4f 52 44 20 74 69 63 6b 73 3b 0d 0a    DWORD ticks;..
04d0: 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 42 59  ..struct {..  BY
04e0: 54 45 20 68 6f 75 72 3b 0d 0a 20 20 42 59 54 45  TE hour;..  BYTE
04f0: 20 6d 69 6e 3b 0d 0a 20 20 42 59 54 45 20 73 65   min;..  BYTE se
0500: 63 3b 0d 0a 20 20 42 59 54 45 20 66 72 61 6d 65  c;..  BYTE frame
0510: 3b 0d 0a 20 20 42 59 54 45 20 66 70 73 3b 0d 0a  ;..  BYTE fps;..
0520: 20 20 42 59 54 45 20 64 75 6d 6d 79 3b 0d 0a 2f    BYTE dummy;../
0530: 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
0540: 0a 20 20 42 59 54 45 20 70 61 64 5b 32 5d 3b 0d  .  BYTE pad[2];.
0550: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 0d  .// #endif..}...
0560: 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 44 57 4f  .struct {..  DWO
0570: 52 44 20 73 6f 6e 67 70 74 72 70 6f 73 3b 0d 0a  RD songptrpos;..
0580: 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69  }....}....}..ali
0590: 61 73 20 6d 6d 74 69 6d 65 5f 74 61 67 20 4d 4d  as mmtime_tag MM
05a0: 54 49 4d 45 3b 0d 0a 61 6c 69 61 73 20 6d 6d 74  TIME;..alias mmt
05b0: 69 6d 65 5f 74 61 67 2a 20 50 4d 4d 54 49 4d 45  ime_tag* PMMTIME
05c0: 3b 0d 0a 61 6c 69 61 73 20 6d 6d 74 69 6d 65 5f  ;..alias mmtime_
05d0: 74 61 67 2a 20 4e 50 4d 4d 54 49 4d 45 3b 0d 0a  tag* NPMMTIME;..
05e0: 61 6c 69 61 73 20 6d 6d 74 69 6d 65 5f 74 61 67  alias mmtime_tag
05f0: 2a 20 4c 50 4d 4d 54 49 4d 45 3b 0d 0a 0d 0a 65  * LPMMTIME;....e
0600: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d  num : uint { TIM
0610: 45 5f 4d 53 20 3d 20 30 78 30 30 30 31 20 7d 0d  E_MS = 0x0001 }.
0620: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
0630: 49 4d 45 5f 53 41 4d 50 4c 45 53 20 3d 20 30 78  IME_SAMPLES = 0x
0640: 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
0650: 69 6e 74 20 7b 20 54 49 4d 45 5f 42 59 54 45 53  int { TIME_BYTES
0660: 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
0670: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f  m : uint { TIME_
0680: 53 4d 50 54 45 20 3d 20 30 78 30 30 30 38 20 7d  SMPTE = 0x0008 }
0690: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
06a0: 54 49 4d 45 5f 4d 49 44 49 20 3d 20 30 78 30 30  TIME_MIDI = 0x00
06b0: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
06c0: 74 20 7b 20 54 49 4d 45 5f 54 49 43 4b 53 20 3d  t { TIME_TICKS =
06d0: 20 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 75 69 6e   0x0020 }....uin
06e0: 74 20 4d 41 4b 45 46 4f 55 52 43 43 28 75 62 79  t MAKEFOURCC(uby
06f0: 74 65 20 63 68 30 2c 20 75 62 79 74 65 20 63 68  te ch0, ubyte ch
0700: 31 2c 20 75 62 79 74 65 20 63 68 32 2c 20 75 62  1, ubyte ch2, ub
0710: 79 74 65 20 63 68 33 29 7b 20 72 65 74 75 72 6e  yte ch3){ return
0720: 20 63 68 30 20 7c 20 28 63 68 31 20 3c 3c 20 38   ch0 | (ch1 << 8
0730: 29 20 7c 20 28 63 68 32 20 3c 3c 20 31 36 29 20  ) | (ch2 << 16) 
0740: 7c 20 28 63 68 33 20 3c 3c 20 32 34 29 3b 20 7d  | (ch3 << 24); }
0750: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
0760: 7b 20 4d 4d 5f 4a 4f 59 31 4d 4f 56 45 20 3d 20  { MM_JOY1MOVE = 
0770: 30 78 33 41 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x3A0 }..enum : 
0780: 75 69 6e 74 20 7b 20 4d 4d 5f 4a 4f 59 32 4d 4f  uint { MM_JOY2MO
0790: 56 45 20 3d 20 30 78 33 41 31 20 7d 0d 0a 65 6e  VE = 0x3A1 }..en
07a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4a  um : uint { MM_J
07b0: 4f 59 31 5a 4d 4f 56 45 20 3d 20 30 78 33 41 32  OY1ZMOVE = 0x3A2
07c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
07d0: 7b 20 4d 4d 5f 4a 4f 59 32 5a 4d 4f 56 45 20 3d  { MM_JOY2ZMOVE =
07e0: 20 30 78 33 41 33 20 7d 0d 0a 65 6e 75 6d 20 3a   0x3A3 }..enum :
07f0: 20 75 69 6e 74 20 7b 20 4d 4d 5f 4a 4f 59 31 42   uint { MM_JOY1B
0800: 55 54 54 4f 4e 44 4f 57 4e 20 3d 20 30 78 33 42  UTTONDOWN = 0x3B
0810: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
0820: 20 7b 20 4d 4d 5f 4a 4f 59 32 42 55 54 54 4f 4e   { MM_JOY2BUTTON
0830: 44 4f 57 4e 20 3d 20 30 78 33 42 36 20 7d 0d 0a  DOWN = 0x3B6 }..
0840: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0850: 5f 4a 4f 59 31 42 55 54 54 4f 4e 55 50 20 3d 20  _JOY1BUTTONUP = 
0860: 30 78 33 42 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x3B7 }..enum : 
0870: 75 69 6e 74 20 7b 20 4d 4d 5f 4a 4f 59 32 42 55  uint { MM_JOY2BU
0880: 54 54 4f 4e 55 50 20 3d 20 30 78 33 42 38 20 7d  TTONUP = 0x3B8 }
0890: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
08a0: 7b 20 4d 4d 5f 4d 43 49 4e 4f 54 49 46 59 20 3d  { MM_MCINOTIFY =
08b0: 20 30 78 33 42 39 20 7d 0d 0a 0d 0a 65 6e 75 6d   0x3B9 }....enum
08c0: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 57 4f 4d   : uint { MM_WOM
08d0: 5f 4f 50 45 4e 20 3d 20 30 78 33 42 42 20 7d 0d  _OPEN = 0x3BB }.
08e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
08f0: 4d 5f 57 4f 4d 5f 43 4c 4f 53 45 20 3d 20 30 78  M_WOM_CLOSE = 0x
0900: 33 42 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  3BC }..enum : ui
0910: 6e 74 20 7b 20 4d 4d 5f 57 4f 4d 5f 44 4f 4e 45  nt { MM_WOM_DONE
0920: 20 3d 20 30 78 33 42 44 20 7d 0d 0a 0d 0a 65 6e   = 0x3BD }....en
0930: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 57  um : uint { MM_W
0940: 49 4d 5f 4f 50 45 4e 20 3d 20 30 78 33 42 45 20  IM_OPEN = 0x3BE 
0950: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0960: 20 4d 4d 5f 57 49 4d 5f 43 4c 4f 53 45 20 3d 20   MM_WIM_CLOSE = 
0970: 30 78 33 42 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x3BF }..enum : 
0980: 75 69 6e 74 20 7b 20 4d 4d 5f 57 49 4d 5f 44 41  uint { MM_WIM_DA
0990: 54 41 20 3d 20 30 78 33 43 30 20 7d 0d 0a 0d 0a  TA = 0x3C0 }....
09a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
09b0: 5f 4d 49 4d 5f 4f 50 45 4e 20 3d 20 30 78 33 43  _MIM_OPEN = 0x3C
09c0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
09d0: 20 7b 20 4d 4d 5f 4d 49 4d 5f 43 4c 4f 53 45 20   { MM_MIM_CLOSE 
09e0: 3d 20 30 78 33 43 32 20 7d 0d 0a 65 6e 75 6d 20  = 0x3C2 }..enum 
09f0: 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 49 4d 5f  : uint { MM_MIM_
0a00: 44 41 54 41 20 3d 20 30 78 33 43 33 20 7d 0d 0a  DATA = 0x3C3 }..
0a10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0a20: 5f 4d 49 4d 5f 4c 4f 4e 47 44 41 54 41 20 3d 20  _MIM_LONGDATA = 
0a30: 30 78 33 43 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x3C4 }..enum : 
0a40: 75 69 6e 74 20 7b 20 4d 4d 5f 4d 49 4d 5f 45 52  uint { MM_MIM_ER
0a50: 52 4f 52 20 3d 20 30 78 33 43 35 20 7d 0d 0a 65  ROR = 0x3C5 }..e
0a60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f  num : uint { MM_
0a70: 4d 49 4d 5f 4c 4f 4e 47 45 52 52 4f 52 20 3d 20  MIM_LONGERROR = 
0a80: 30 78 33 43 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  0x3C6 }....enum 
0a90: 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 4f 4d 5f  : uint { MM_MOM_
0aa0: 4f 50 45 4e 20 3d 20 30 78 33 43 37 20 7d 0d 0a  OPEN = 0x3C7 }..
0ab0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0ac0: 5f 4d 4f 4d 5f 43 4c 4f 53 45 20 3d 20 30 78 33  _MOM_CLOSE = 0x3
0ad0: 43 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  C8 }..enum : uin
0ae0: 74 20 7b 20 4d 4d 5f 4d 4f 4d 5f 44 4f 4e 45 20  t { MM_MOM_DONE 
0af0: 3d 20 30 78 33 43 39 20 7d 0d 0a 0d 0a 2f 2f 20  = 0x3C9 }....// 
0b00: 23 69 66 6e 64 65 66 20 4d 4d 5f 44 52 56 4d 5f  #ifndef MM_DRVM_
0b10: 4f 50 45 4e 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  OPEN..enum : uin
0b20: 74 20 7b 20 4d 4d 5f 44 52 56 4d 5f 4f 50 45 4e  t { MM_DRVM_OPEN
0b30: 20 3d 20 30 78 33 44 30 20 7d 0d 0a 65 6e 75 6d   = 0x3D0 }..enum
0b40: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 44 52 56   : uint { MM_DRV
0b50: 4d 5f 43 4c 4f 53 45 20 3d 20 30 78 33 44 31 20  M_CLOSE = 0x3D1 
0b60: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0b70: 20 4d 4d 5f 44 52 56 4d 5f 44 41 54 41 20 3d 20   MM_DRVM_DATA = 
0b80: 30 78 33 44 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x3D2 }..enum : 
0b90: 75 69 6e 74 20 7b 20 4d 4d 5f 44 52 56 4d 5f 45  uint { MM_DRVM_E
0ba0: 52 52 4f 52 20 3d 20 30 78 33 44 33 20 7d 0d 0a  RROR = 0x3D3 }..
0bb0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75  // #endif....enu
0bc0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 53 54  m : uint { MM_ST
0bd0: 52 45 41 4d 5f 4f 50 45 4e 20 3d 20 30 78 33 44  REAM_OPEN = 0x3D
0be0: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
0bf0: 20 7b 20 4d 4d 5f 53 54 52 45 41 4d 5f 43 4c 4f   { MM_STREAM_CLO
0c00: 53 45 20 3d 20 30 78 33 44 35 20 7d 0d 0a 65 6e  SE = 0x3D5 }..en
0c10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 53  um : uint { MM_S
0c20: 54 52 45 41 4d 5f 44 4f 4e 45 20 3d 20 30 78 33  TREAM_DONE = 0x3
0c30: 44 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  D6 }..enum : uin
0c40: 74 20 7b 20 4d 4d 5f 53 54 52 45 41 4d 5f 45 52  t { MM_STREAM_ER
0c50: 52 4f 52 20 3d 20 30 78 33 44 37 20 7d 0d 0a 0d  ROR = 0x3D7 }...
0c60: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
0c70: 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20  = 0x0400)..enum 
0c80: 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 4f 4d 5f  : uint { MM_MOM_
0c90: 50 4f 53 49 54 49 4f 4e 43 42 20 3d 20 30 78 33  POSITIONCB = 0x3
0ca0: 43 41 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  CA }....// #ifnd
0cb0: 65 66 20 4d 4d 5f 4d 43 49 53 49 47 4e 41 4c 0d  ef MM_MCISIGNAL.
0cc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
0cd0: 4d 5f 4d 43 49 53 49 47 4e 41 4c 20 3d 20 30 78  M_MCISIGNAL = 0x
0ce0: 33 43 42 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  3CB }..// #endif
0cf0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
0d00: 7b 20 4d 4d 5f 4d 49 4d 5f 4d 4f 52 45 44 41 54  { MM_MIM_MOREDAT
0d10: 41 20 3d 20 30 78 33 43 43 20 7d 0d 0a 0d 0a 2f  A = 0x3CC }..../
0d20: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
0d30: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
0d40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
0d50: 4d 5f 4d 49 58 4d 5f 4c 49 4e 45 5f 43 48 41 4e  M_MIXM_LINE_CHAN
0d60: 47 45 20 3d 20 30 78 33 44 30 20 7d 0d 0a 65 6e  GE = 0x3D0 }..en
0d70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d  um : uint { MM_M
0d80: 49 58 4d 5f 43 4f 4e 54 52 4f 4c 5f 43 48 41 4e  IXM_CONTROL_CHAN
0d90: 47 45 20 3d 20 30 78 33 44 31 20 7d 0d 0a 0d 0a  GE = 0x3D1 }....
0da0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0db0: 53 59 53 45 52 52 5f 42 41 53 45 20 3d 20 30 20  SYSERR_BASE = 0 
0dc0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0dd0: 20 57 41 56 45 52 52 5f 42 41 53 45 20 3d 20 33   WAVERR_BASE = 3
0de0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
0df0: 20 7b 20 4d 49 44 49 45 52 52 5f 42 41 53 45 20   { MIDIERR_BASE 
0e00: 3d 20 36 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  = 64 }..enum : u
0e10: 69 6e 74 20 7b 20 54 49 4d 45 52 52 5f 42 41 53  int { TIMERR_BAS
0e20: 45 20 3d 20 39 36 20 7d 0d 0a 65 6e 75 6d 20 3a  E = 96 }..enum :
0e30: 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52 52 5f 42   uint { JOYERR_B
0e40: 41 53 45 20 3d 20 31 36 30 20 7d 0d 0a 65 6e 75  ASE = 160 }..enu
0e50: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
0e60: 52 5f 42 41 53 45 20 3d 20 32 35 36 20 7d 0d 0a  R_BASE = 256 }..
0e70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
0e80: 58 45 52 52 5f 42 41 53 45 20 3d 20 31 30 32 34  XERR_BASE = 1024
0e90: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
0ea0: 74 20 7b 20 4d 43 49 5f 53 54 52 49 4e 47 5f 4f  t { MCI_STRING_O
0eb0: 46 46 53 45 54 20 3d 20 35 31 32 20 7d 0d 0a 65  FFSET = 512 }..e
0ec0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
0ed0: 5f 56 44 5f 4f 46 46 53 45 54 20 3d 20 31 30 32  _VD_OFFSET = 102
0ee0: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
0ef0: 20 7b 20 4d 43 49 5f 43 44 5f 4f 46 46 53 45 54   { MCI_CD_OFFSET
0f00: 20 3d 20 31 30 38 38 20 7d 0d 0a 65 6e 75 6d 20   = 1088 }..enum 
0f10: 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
0f20: 45 5f 4f 46 46 53 45 54 20 3d 20 31 31 35 32 20  E_OFFSET = 1152 
0f30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0f40: 20 4d 43 49 5f 53 45 51 5f 4f 46 46 53 45 54 20   MCI_SEQ_OFFSET 
0f50: 3d 20 31 32 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d  = 1216 }....enum
0f60: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45   : uint { MMSYSE
0f70: 52 52 5f 4e 4f 45 52 52 4f 52 20 3d 20 30 20 7d  RR_NOERROR = 0 }
0f80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0f90: 4d 4d 53 59 53 45 52 52 5f 45 52 52 4f 52 20 3d  MMSYSERR_ERROR =
0fa0: 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b   MMSYSERR_BASE +
0fb0: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
0fc0: 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 42 41 44  t { MMSYSERR_BAD
0fd0: 44 45 56 49 43 45 49 44 20 3d 20 4d 4d 53 59 53  DEVICEID = MMSYS
0fe0: 45 52 52 5f 42 41 53 45 20 2b 20 32 20 7d 0d 0a  ERR_BASE + 2 }..
0ff0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
1000: 53 59 53 45 52 52 5f 4e 4f 54 45 4e 41 42 4c 45  SYSERR_NOTENABLE
1010: 44 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42 41 53  D = MMSYSERR_BAS
1020: 45 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 3 }..enum : 
1030: 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f  uint { MMSYSERR_
1040: 41 4c 4c 4f 43 41 54 45 44 20 3d 20 4d 4d 53 59  ALLOCATED = MMSY
1050: 53 45 52 52 5f 42 41 53 45 20 2b 20 34 20 7d 0d  SERR_BASE + 4 }.
1060: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1070: 4d 53 59 53 45 52 52 5f 49 4e 56 41 4c 48 41 4e  MSYSERR_INVALHAN
1080: 44 4c 45 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42  DLE = MMSYSERR_B
1090: 41 53 45 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20  ASE + 5 }..enum 
10a0: 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52  : uint { MMSYSER
10b0: 52 5f 4e 4f 44 52 49 56 45 52 20 3d 20 4d 4d 53  R_NODRIVER = MMS
10c0: 59 53 45 52 52 5f 42 41 53 45 20 2b 20 36 20 7d  YSERR_BASE + 6 }
10d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10e0: 4d 4d 53 59 53 45 52 52 5f 4e 4f 4d 45 4d 20 3d  MMSYSERR_NOMEM =
10f0: 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b   MMSYSERR_BASE +
1100: 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
1110: 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 4e 4f 54  t { MMSYSERR_NOT
1120: 53 55 50 50 4f 52 54 45 44 20 3d 20 4d 4d 53 59  SUPPORTED = MMSY
1130: 53 45 52 52 5f 42 41 53 45 20 2b 20 38 20 7d 0d  SERR_BASE + 8 }.
1140: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1150: 4d 53 59 53 45 52 52 5f 42 41 44 45 52 52 4e 55  MSYSERR_BADERRNU
1160: 4d 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42 41 53  M = MMSYSERR_BAS
1170: 45 20 2b 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 9 }..enum : 
1180: 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f  uint { MMSYSERR_
1190: 49 4e 56 41 4c 46 4c 41 47 20 3d 20 4d 4d 53 59  INVALFLAG = MMSY
11a0: 53 45 52 52 5f 42 41 53 45 20 2b 20 31 30 20 7d  SERR_BASE + 10 }
11b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11c0: 4d 4d 53 59 53 45 52 52 5f 49 4e 56 41 4c 50 41  MMSYSERR_INVALPA
11d0: 52 41 4d 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42  RAM = MMSYSERR_B
11e0: 41 53 45 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d  ASE + 11 }..enum
11f0: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45   : uint { MMSYSE
1200: 52 52 5f 48 41 4e 44 4c 45 42 55 53 59 20 3d 20  RR_HANDLEBUSY = 
1210: 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20  MMSYSERR_BASE + 
1220: 31 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  12 }....enum : u
1230: 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 49  int { MMSYSERR_I
1240: 4e 56 41 4c 49 44 41 4c 49 41 53 20 3d 20 4d 4d  NVALIDALIAS = MM
1250: 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20 31 33  SYSERR_BASE + 13
1260: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1270: 7b 20 4d 4d 53 59 53 45 52 52 5f 42 41 44 44 42  { MMSYSERR_BADDB
1280: 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45   = MMSYSERR_BASE
1290: 20 2b 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 14 }..enum : 
12a0: 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f  uint { MMSYSERR_
12b0: 4b 45 59 4e 4f 54 46 4f 55 4e 44 20 3d 20 4d 4d  KEYNOTFOUND = MM
12c0: 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20 31 35  SYSERR_BASE + 15
12d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12e0: 7b 20 4d 4d 53 59 53 45 52 52 5f 52 45 41 44 45  { MMSYSERR_READE
12f0: 52 52 4f 52 20 3d 20 4d 4d 53 59 53 45 52 52 5f  RROR = MMSYSERR_
1300: 42 41 53 45 20 2b 20 31 36 20 7d 0d 0a 65 6e 75  BASE + 16 }..enu
1310: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53  m : uint { MMSYS
1320: 45 52 52 5f 57 52 49 54 45 45 52 52 4f 52 20 3d  ERR_WRITEERROR =
1330: 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b   MMSYSERR_BASE +
1340: 20 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   17 }..enum : ui
1350: 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 44 45  nt { MMSYSERR_DE
1360: 4c 45 54 45 45 52 52 4f 52 20 3d 20 4d 4d 53 59  LETEERROR = MMSY
1370: 53 45 52 52 5f 42 41 53 45 20 2b 20 31 38 20 7d  SERR_BASE + 18 }
1380: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1390: 4d 4d 53 59 53 45 52 52 5f 56 41 4c 4e 4f 54 46  MMSYSERR_VALNOTF
13a0: 4f 55 4e 44 20 3d 20 4d 4d 53 59 53 45 52 52 5f  OUND = MMSYSERR_
13b0: 42 41 53 45 20 2b 20 31 39 20 7d 0d 0a 65 6e 75  BASE + 19 }..enu
13c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53  m : uint { MMSYS
13d0: 45 52 52 5f 4e 4f 44 52 49 56 45 52 43 42 20 3d  ERR_NODRIVERCB =
13e0: 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b   MMSYSERR_BASE +
13f0: 20 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   20 }..enum : ui
1400: 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 4d 4f  nt { MMSYSERR_MO
1410: 52 45 44 41 54 41 20 3d 20 4d 4d 53 59 53 45 52  REDATA = MMSYSER
1420: 52 5f 42 41 53 45 20 2b 20 32 31 20 7d 0d 0a 65  R_BASE + 21 }..e
1430: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53  num : uint { MMS
1440: 59 53 45 52 52 5f 4c 41 53 54 45 52 52 4f 52 20  YSERR_LASTERROR 
1450: 3d 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20  = MMSYSERR_BASE 
1460: 2b 20 32 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  + 21 }....// #if
1470: 20 28 57 49 4e 56 45 52 20 3c 20 30 78 30 33 30   (WINVER < 0x030
1480: 61 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 57  a) || defined(_W
1490: 49 4e 33 32 29 0d 0a 61 6c 69 61 73 20 76 6f 69  IN32)..alias voi
14a0: 64 2a 20 48 44 52 56 52 3b 0d 0a 2f 2f 20 23 65  d* HDRVR;..// #e
14b0: 6e 64 69 66 20 2f 2a 20 69 66 64 65 66 20 57 49  ndif /* ifdef WI
14c0: 4e 56 45 52 20 3c 20 30 78 30 33 30 61 20 2a 2f  NVER < 0x030a */
14d0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4d  ....// #ifndef M
14e0: 4d 4e 4f 44 52 56 0d 0a 0d 0a 2f 2f 20 23 69 66  MNODRV....// #if
14f0: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 73 74 72 75  def _WIN32..stru
1500: 63 74 20 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f  ct DRVCONFIGINFO
1510: 45 58 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77  EX {..  DWORD dw
1520: 44 43 49 53 69 7a 65 3b 0d 0a 20 20 4c 50 43 57  DCISize;..  LPCW
1530: 53 54 52 20 6c 70 73 7a 44 43 49 53 65 63 74 69  STR lpszDCISecti
1540: 6f 6e 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43 57 53  onName;..  LPCWS
1550: 54 52 20 6c 70 73 7a 44 43 49 41 6c 69 61 73 4e  TR lpszDCIAliasN
1560: 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 6e  ame;..  DWORD dn
1570: 44 65 76 4e 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c 69  DevNode;..}..ali
1580: 61 73 20 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f  as DRVCONFIGINFO
1590: 45 58 2a 20 50 44 52 56 43 4f 4e 46 49 47 49 4e  EX* PDRVCONFIGIN
15a0: 46 4f 45 58 3b 0d 0a 61 6c 69 61 73 20 44 52 56  FOEX;..alias DRV
15b0: 43 4f 4e 46 49 47 49 4e 46 4f 45 58 2a 20 4e 50  CONFIGINFOEX* NP
15c0: 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f 45 58 3b  DRVCONFIGINFOEX;
15d0: 0d 0a 61 6c 69 61 73 20 44 52 56 43 4f 4e 46 49  ..alias DRVCONFI
15e0: 47 49 4e 46 4f 45 58 2a 20 4c 50 44 52 56 43 4f  GINFOEX* LPDRVCO
15f0: 4e 46 49 47 49 4e 46 4f 45 58 3b 0d 0a 0d 0a 2f  NFIGINFOEX;..../
1600: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
1610: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
1620: 20 23 69 66 20 28 57 49 4e 56 45 52 20 3c 20 30   #if (WINVER < 0
1630: 78 30 33 30 61 29 20 7c 7c 20 64 65 66 69 6e 65  x030a) || define
1640: 64 28 5f 57 49 4e 33 32 29 0d 0a 0d 0a 2f 2f 20  d(_WIN32)....// 
1650: 23 69 66 6e 64 65 66 20 44 52 56 5f 4c 4f 41 44  #ifndef DRV_LOAD
1660: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1670: 7b 20 44 52 56 5f 4c 4f 41 44 20 3d 20 30 78 30  { DRV_LOAD = 0x0
1680: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
1690: 6e 74 20 7b 20 44 52 56 5f 45 4e 41 42 4c 45 20  nt { DRV_ENABLE 
16a0: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
16b0: 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f 4f 50   : uint { DRV_OP
16c0: 45 4e 20 3d 20 30 78 30 30 30 33 20 7d 0d 0a 65  EN = 0x0003 }..e
16d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 56  num : uint { DRV
16e0: 5f 43 4c 4f 53 45 20 3d 20 30 78 30 30 30 34 20  _CLOSE = 0x0004 
16f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1700: 20 44 52 56 5f 44 49 53 41 42 4c 45 20 3d 20 30   DRV_DISABLE = 0
1710: 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0005 }..enum : 
1720: 75 69 6e 74 20 7b 20 44 52 56 5f 46 52 45 45 20  uint { DRV_FREE 
1730: 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d  = 0x0006 }..enum
1740: 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f 43 4f   : uint { DRV_CO
1750: 4e 46 49 47 55 52 45 20 3d 20 30 78 30 30 30 37  NFIGURE = 0x0007
1760: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1770: 7b 20 44 52 56 5f 51 55 45 52 59 43 4f 4e 46 49  { DRV_QUERYCONFI
1780: 47 55 52 45 20 3d 20 30 78 30 30 30 38 20 7d 0d  GURE = 0x0008 }.
1790: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
17a0: 52 56 5f 49 4e 53 54 41 4c 4c 20 3d 20 30 78 30  RV_INSTALL = 0x0
17b0: 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  009 }..enum : ui
17c0: 6e 74 20 7b 20 44 52 56 5f 52 45 4d 4f 56 45 20  nt { DRV_REMOVE 
17d0: 3d 20 30 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d  = 0x000A }..enum
17e0: 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f 45 58   : uint { DRV_EX
17f0: 49 54 53 45 53 53 49 4f 4e 20 3d 20 30 78 30 30  ITSESSION = 0x00
1800: 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0B }..enum : uin
1810: 74 20 7b 20 44 52 56 5f 50 4f 57 45 52 20 3d 20  t { DRV_POWER = 
1820: 30 78 30 30 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a  0x000F }..enum :
1830: 20 75 69 6e 74 20 7b 20 44 52 56 5f 52 45 53 45   uint { DRV_RESE
1840: 52 56 45 44 20 3d 20 30 78 30 38 30 30 20 7d 0d  RVED = 0x0800 }.
1850: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1860: 52 56 5f 55 53 45 52 20 3d 20 30 78 34 30 30 30  RV_USER = 0x4000
1870: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
1880: 5f 57 49 4e 33 32 0d 0a 73 74 72 75 63 74 20 74  _WIN32..struct t
1890: 61 67 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f 20  agDRVCONFIGINFO 
18a0: 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 43 49  {..  DWORD dwDCI
18b0: 53 69 7a 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52  Size;..  LPCWSTR
18c0: 20 6c 70 73 7a 44 43 49 53 65 63 74 69 6f 6e 4e   lpszDCISectionN
18d0: 61 6d 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  ame;..  LPCWSTR 
18e0: 6c 70 73 7a 44 43 49 41 6c 69 61 73 4e 61 6d 65  lpszDCIAliasName
18f0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 44  ;..}..alias tagD
1900: 52 56 43 4f 4e 46 49 47 49 4e 46 4f 20 44 52 56  RVCONFIGINFO DRV
1910: 43 4f 4e 46 49 47 49 4e 46 4f 3b 0d 0a 61 6c 69  CONFIGINFO;..ali
1920: 61 73 20 74 61 67 44 52 56 43 4f 4e 46 49 47 49  as tagDRVCONFIGI
1930: 4e 46 4f 2a 20 50 44 52 56 43 4f 4e 46 49 47 49  NFO* PDRVCONFIGI
1940: 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67 44  NFO;..alias tagD
1950: 52 56 43 4f 4e 46 49 47 49 4e 46 4f 2a 20 4e 50  RVCONFIGINFO* NP
1960: 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f 3b 0d 0a  DRVCONFIGINFO;..
1970: 61 6c 69 61 73 20 74 61 67 44 52 56 43 4f 4e 46  alias tagDRVCONF
1980: 49 47 49 4e 46 4f 2a 20 4c 50 44 52 56 43 4f 4e  IGINFO* LPDRVCON
1990: 46 49 47 49 4e 46 4f 3b 0d 0a 0d 0a 2f 2f 20 23  FIGINFO;....// #
19a0: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
19b0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
19c0: 3a 20 75 69 6e 74 20 7b 20 44 52 56 43 4e 46 5f  : uint { DRVCNF_
19d0: 43 41 4e 43 45 4c 20 3d 20 30 78 30 30 30 30 20  CANCEL = 0x0000 
19e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19f0: 20 44 52 56 43 4e 46 5f 4f 4b 20 3d 20 30 78 30   DRVCNF_OK = 0x0
1a00: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
1a10: 6e 74 20 7b 20 44 52 56 43 4e 46 5f 52 45 53 54  nt { DRVCNF_REST
1a20: 41 52 54 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ART = 0x0002 }..
1a30: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
1a40: 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  32....extern(Win
1a50: 64 6f 77 73 29 20 61 6c 69 61 73 20 4c 52 45 53  dows) alias LRES
1a60: 55 4c 54 20 66 75 6e 63 74 69 6f 6e 28 44 57 4f  ULT function(DWO
1a70: 52 44 5f 50 54 52 2c 20 48 44 52 56 52 2c 20 55  RD_PTR, HDRVR, U
1a80: 49 4e 54 2c 20 4c 50 41 52 41 4d 2c 20 4c 50 41  INT, LPARAM, LPA
1a90: 52 41 4d 29 20 44 52 49 56 45 52 50 52 4f 43 3b  RAM) DRIVERPROC;
1aa0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1ab0: 77 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55  ws) export LRESU
1ac0: 4c 54 20 43 6c 6f 73 65 44 72 69 76 65 72 28 48  LT CloseDriver(H
1ad0: 44 52 56 52 20 68 44 72 69 76 65 72 2c 20 4c 50  DRVR hDriver, LP
1ae0: 41 52 41 4d 20 6c 50 61 72 61 6d 31 2c 20 4c 50  ARAM lParam1, LP
1af0: 41 52 41 4d 20 6c 50 61 72 61 6d 32 29 3b 0d 0a  ARAM lParam2);..
1b00: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1b10: 65 78 70 6f 72 74 20 48 44 52 56 52 20 4f 70 65  export HDRVR Ope
1b20: 6e 44 72 69 76 65 72 28 4c 50 43 57 53 54 52 20  nDriver(LPCWSTR 
1b30: 73 7a 44 72 69 76 65 72 4e 61 6d 65 2c 20 4c 50  szDriverName, LP
1b40: 43 57 53 54 52 20 73 7a 53 65 63 74 69 6f 6e 4e  CWSTR szSectionN
1b50: 61 6d 65 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  ame, LPARAM lPar
1b60: 61 6d 32 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  am2);..extern(Wi
1b70: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 52  ndows) export LR
1b80: 45 53 55 4c 54 20 53 65 6e 64 44 72 69 76 65 72  ESULT SendDriver
1b90: 4d 65 73 73 61 67 65 28 48 44 52 56 52 20 68 44  Message(HDRVR hD
1ba0: 72 69 76 65 72 2c 20 55 49 4e 54 20 6d 65 73 73  river, UINT mess
1bb0: 61 67 65 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  age, LPARAM lPar
1bc0: 61 6d 31 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72  am1, LPARAM lPar
1bd0: 61 6d 32 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  am2);..extern(Wi
1be0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 4d  ndows) export HM
1bf0: 4f 44 55 4c 45 20 44 72 76 47 65 74 4d 6f 64 75  ODULE DrvGetModu
1c00: 6c 65 48 61 6e 64 6c 65 28 48 44 52 56 52 20 68  leHandle(HDRVR h
1c10: 44 72 69 76 65 72 29 3b 0d 0a 65 78 74 65 72 6e  Driver);..extern
1c20: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1c30: 20 48 4d 4f 44 55 4c 45 20 47 65 74 44 72 69 76   HMODULE GetDriv
1c40: 65 72 4d 6f 64 75 6c 65 48 61 6e 64 6c 65 28 48  erModuleHandle(H
1c50: 44 52 56 52 20 68 44 72 69 76 65 72 29 3b 0d 0a  DRVR hDriver);..
1c60: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1c70: 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 44  export LRESULT D
1c80: 65 66 44 72 69 76 65 72 50 72 6f 63 28 44 57 4f  efDriverProc(DWO
1c90: 52 44 5f 50 54 52 20 64 77 44 72 69 76 65 72 49  RD_PTR dwDriverI
1ca0: 64 65 6e 74 69 66 69 65 72 2c 20 48 44 52 56 52  dentifier, HDRVR
1cb0: 20 68 64 72 76 72 2c 20 55 49 4e 54 20 75 4d 73   hdrvr, UINT uMs
1cc0: 67 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  g, LPARAM lParam
1cd0: 31 2c 20 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d  1, LPARAM lParam
1ce0: 32 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  2);..// #else../
1cf0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  / .....// #.....
1d00: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66 64  // #endif /* ifd
1d10: 65 66 20 5f 57 49 4e 33 32 20 2a 2f 0d 0a 2f 2f  ef _WIN32 */..//
1d20: 20 23 65 6e 64 69 66 20 2f 2a 20 44 52 56 5f 4c   #endif /* DRV_L
1d30: 4f 41 44 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  OAD */..// #endi
1d40: 66 20 2f 2a 20 69 66 64 65 66 20 28 57 49 4e 56  f /* ifdef (WINV
1d50: 45 52 20 3c 20 30 78 30 33 30 61 29 20 7c 7c 20  ER < 0x030a) || 
1d60: 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 32 29 20  defined(_WIN32) 
1d70: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49  */....// #if (WI
1d80: 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61 29 0d  NVER >= 0x030a).
1d90: 0a 0d 0a 61 6c 69 61 73 20 44 52 56 43 4e 46 5f  ...alias DRVCNF_
1da0: 43 41 4e 43 45 4c 20 44 52 56 5f 43 41 4e 43 45  CANCEL DRV_CANCE
1db0: 4c 3b 0d 0a 61 6c 69 61 73 20 44 52 56 43 4e 46  L;..alias DRVCNF
1dc0: 5f 4f 4b 20 44 52 56 5f 4f 4b 3b 0d 0a 61 6c 69  _OK DRV_OK;..ali
1dd0: 61 73 20 44 52 56 43 4e 46 5f 52 45 53 54 41 52  as DRVCNF_RESTAR
1de0: 54 20 44 52 56 5f 52 45 53 54 41 52 54 3b 0d 0a  T DRV_RESTART;..
1df0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69  ..// #endif /* i
1e00: 66 64 65 66 20 57 49 4e 56 45 52 20 3e 3d 20 30  fdef WINVER >= 0
1e10: 78 30 33 30 61 20 2a 2f 0d 0a 0d 0a 61 6c 69 61  x030a */....alia
1e20: 73 20 44 52 56 5f 52 45 53 45 52 56 45 44 20 44  s DRV_RESERVED D
1e30: 52 56 5f 4d 43 49 5f 46 49 52 53 54 3b 0d 0a 65  RV_MCI_FIRST;..e
1e40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 56  num : uint { DRV
1e50: 5f 4d 43 49 5f 4c 41 53 54 20 3d 20 44 52 56 5f  _MCI_LAST = DRV_
1e60: 52 45 53 45 52 56 45 44 20 2b 20 30 78 46 46 46  RESERVED + 0xFFF
1e70: 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   }....// #endif 
1e80: 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e 4f 44   /* ifndef MMNOD
1e90: 52 56 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  RV */....enum : 
1ea0: 75 69 6e 74 20 7b 20 43 41 4c 4c 42 41 43 4b 5f  uint { CALLBACK_
1eb0: 54 59 50 45 4d 41 53 4b 20 3d 20 30 78 30 30 30  TYPEMASK = 0x000
1ec0: 37 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  70000 }..enum : 
1ed0: 75 69 6e 74 20 7b 20 43 41 4c 4c 42 41 43 4b 5f  uint { CALLBACK_
1ee0: 4e 55 4c 4c 20 3d 20 30 78 30 30 30 30 30 30 30  NULL = 0x0000000
1ef0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1f00: 20 7b 20 43 41 4c 4c 42 41 43 4b 5f 57 49 4e 44   { CALLBACK_WIND
1f10: 4f 57 20 3d 20 30 78 30 30 30 31 30 30 30 30 20  OW = 0x00010000 
1f20: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1f30: 20 43 41 4c 4c 42 41 43 4b 5f 54 41 53 4b 20 3d   CALLBACK_TASK =
1f40: 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..e
1f50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 41 4c  num : uint { CAL
1f60: 4c 42 41 43 4b 5f 46 55 4e 43 54 49 4f 4e 20 3d  LBACK_FUNCTION =
1f70: 20 30 78 30 30 30 33 30 30 30 30 20 7d 0d 0a 2f   0x00030000 }../
1f80: 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
1f90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
1fa0: 41 4c 4c 42 41 43 4b 5f 54 48 52 45 41 44 20 3d  ALLBACK_THREAD =
1fb0: 20 43 41 4c 4c 42 41 43 4b 5f 54 41 53 4b 20 7d   CALLBACK_TASK }
1fc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1fd0: 43 41 4c 4c 42 41 43 4b 5f 45 56 45 4e 54 20 3d  CALLBACK_EVENT =
1fe0: 20 30 78 30 30 30 35 30 30 30 30 20 7d 0d 0a 2f   0x00050000 }../
1ff0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 74 79 70  / #endif..// typ
2000: 65 64 65 66 20 76 6f 69 64 20 28 43 41 4c 4c 42  edef void (CALLB
2010: 41 43 4b 20 44 52 56 43 41 4c 4c 42 41 43 4b 29  ACK DRVCALLBACK)
2020: 28 48 44 52 56 52 20 68 64 72 76 72 2c 20 55 49  (HDRVR hdrvr, UI
2030: 4e 54 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50  NT uMsg, DWORD_P
2040: 54 52 20 64 77 55 73 65 72 2c 20 44 57 4f 52 44  TR dwUser, DWORD
2050: 5f 50 54 52 20 64 77 31 2c 20 44 57 4f 52 44 5f  _PTR dw1, DWORD_
2060: 50 54 52 20 64 77 32 29 3b 0d 0a 0d 0a 65 78 74  PTR dw2);....ext
2070: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69  ern(Windows) ali
2080: 61 73 20 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e  as void function
2090: 28 48 44 52 56 52 20 68 64 72 76 72 2c 20 55 49  (HDRVR hdrvr, UI
20a0: 4e 54 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50  NT uMsg, DWORD_P
20b0: 54 52 20 64 77 55 73 65 72 2c 20 44 57 4f 52 44  TR dwUser, DWORD
20c0: 5f 50 54 52 20 64 77 31 2c 20 44 57 4f 52 44 5f  _PTR dw1, DWORD_
20d0: 50 54 52 20 64 77 32 29 20 4c 50 44 52 56 43 41  PTR dw2) LPDRVCA
20e0: 4c 4c 42 41 43 4b 3b 0d 0a 2f 2f 20 23 69 66 64  LLBACK;..// #ifd
20f0: 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 61 73  ef _WIN32..alias
2100: 20 4c 50 44 52 56 43 41 4c 4c 42 41 43 4b 20 50   LPDRVCALLBACK P
2110: 44 52 56 43 41 4c 4c 42 41 43 4b 3b 0d 0a 2f 2f  DRVCALLBACK;..//
2120: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
2130: 66 6e 64 65 66 20 4d 4d 4e 4f 4d 4d 53 59 53 54  fndef MMNOMMSYST
2140: 45 4d 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49  EM....// #if (WI
2150: 4e 56 45 52 20 3c 3d 20 30 78 30 33 30 41 29 0d  NVER <= 0x030A).
2160: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
2170: 69 66 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  if..// #ifdef _W
2180: 49 4e 33 32 0d 0a 61 6c 69 61 73 20 4f 75 74 70  IN32..alias Outp
2190: 75 74 44 65 62 75 67 53 74 72 69 6e 67 20 4f 75  utDebugString Ou
21a0: 74 70 75 74 44 65 62 75 67 53 74 72 3b 0d 0a 2f  tputDebugStr;../
21b0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
21c0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
21d0: 20 23 65 6e 64 69 66 20 20 2f 2a 20 69 66 6e 64   #endif  /* ifnd
21e0: 65 66 20 4d 4d 4e 4f 4d 4d 53 59 53 54 45 4d 20  ef MMNOMMSYSTEM 
21f0: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
2200: 20 4d 4d 4e 4f 53 4f 55 4e 44 0d 0a 0d 0a 2f 2f   MMNOSOUND....//
2210: 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
2220: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
2230: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 73 6e  ) export BOOL sn
2240: 64 50 6c 61 79 53 6f 75 6e 64 41 28 4c 50 43 53  dPlaySoundA(LPCS
2250: 54 52 20 70 73 7a 53 6f 75 6e 64 2c 20 55 49 4e  TR pszSound, UIN
2260: 54 20 66 75 53 6f 75 6e 64 29 3b 0d 0a 65 78 74  T fuSound);..ext
2270: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2280: 6f 72 74 20 42 4f 4f 4c 20 73 6e 64 50 6c 61 79  ort BOOL sndPlay
2290: 53 6f 75 6e 64 57 28 4c 50 43 57 53 54 52 20 70  SoundW(LPCWSTR p
22a0: 73 7a 53 6f 75 6e 64 2c 20 55 49 4e 54 20 66 75  szSound, UINT fu
22b0: 53 6f 75 6e 64 29 3b 0d 0a 2f 2f 20 23 69 66 64  Sound);..// #ifd
22c0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
22d0: 73 20 73 6e 64 50 6c 61 79 53 6f 75 6e 64 57 20  s sndPlaySoundW 
22e0: 73 6e 64 50 6c 61 79 53 6f 75 6e 64 3b 0d 0a 2f  sndPlaySound;../
22f0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
2300: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
2310: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65  UNICODE....// #e
2320: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
2330: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
2340: 20 75 69 6e 74 20 7b 20 53 4e 44 5f 53 59 4e 43   uint { SND_SYNC
2350: 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75   = 0x0000 }..enu
2360: 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f 41  m : uint { SND_A
2370: 53 59 4e 43 20 3d 20 30 78 30 30 30 31 20 7d 0d  SYNC = 0x0001 }.
2380: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2390: 4e 44 5f 4e 4f 44 45 46 41 55 4c 54 20 3d 20 30  ND_NODEFAULT = 0
23a0: 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
23b0: 75 69 6e 74 20 7b 20 53 4e 44 5f 4d 45 4d 4f 52  uint { SND_MEMOR
23c0: 59 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  Y = 0x0004 }..en
23d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f  um : uint { SND_
23e0: 4c 4f 4f 50 20 3d 20 30 78 30 30 30 38 20 7d 0d  LOOP = 0x0008 }.
23f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2400: 4e 44 5f 4e 4f 53 54 4f 50 20 3d 20 30 78 30 30  ND_NOSTOP = 0x00
2410: 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  10 }....enum : u
2420: 69 6e 74 20 7b 20 53 4e 44 5f 4e 4f 57 41 49 54  int { SND_NOWAIT
2430: 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d   = 0x00002000 }.
2440: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
2450: 4e 44 5f 41 4c 49 41 53 20 3d 20 30 78 30 30 30  ND_ALIAS = 0x000
2460: 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  10000 }..enum : 
2470: 75 69 6e 74 20 7b 20 53 4e 44 5f 41 4c 49 41 53  uint { SND_ALIAS
2480: 5f 49 44 20 3d 20 30 78 30 30 31 31 30 30 30 30  _ID = 0x00110000
2490: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
24a0: 7b 20 53 4e 44 5f 46 49 4c 45 4e 41 4d 45 20 3d  { SND_FILENAME =
24b0: 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..e
24c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4e 44  num : uint { SND
24d0: 5f 52 45 53 4f 55 52 43 45 20 3d 20 30 78 30 30  _RESOURCE = 0x00
24e0: 30 34 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 69 66  040004 }..// #if
24f0: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
2500: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
2510: 7b 20 53 4e 44 5f 50 55 52 47 45 20 3d 20 30 78  { SND_PURGE = 0x
2520: 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0040 }..enum : u
2530: 69 6e 74 20 7b 20 53 4e 44 5f 41 50 50 4c 49 43  int { SND_APPLIC
2540: 41 54 49 4f 4e 20 3d 20 30 78 30 30 38 30 20 7d  ATION = 0x0080 }
2550: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
2560: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
2570: 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  */....enum : uin
2580: 74 20 7b 20 53 4e 44 5f 41 4c 49 41 53 5f 53 54  t { SND_ALIAS_ST
2590: 41 52 54 20 3d 20 30 20 7d 0d 0a 0d 0a 2f 2f 20  ART = 0 }....// 
25a0: 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 2f  #ifdef _WIN32../
25b0: 2f 20 23 64 65 66 69 6e 65 20 73 6e 64 41 6c 69  / #define sndAli
25c0: 61 73 28 63 68 30 2c 20 63 68 31 29 20 28 53 4e  as(ch0, ch1) (SN
25d0: 44 5f 41 4c 49 41 53 5f 53 54 41 52 54 20 2b 20  D_ALIAS_START + 
25e0: 28 44 57 4f 52 44 29 28 42 59 54 45 29 28 63 68  (DWORD)(BYTE)(ch
25f0: 30 29 20 7c 20 28 28 44 57 4f 52 44 29 28 42 59  0) | ((DWORD)(BY
2600: 54 45 29 28 63 68 31 29 20 3c 3c 20 38 29 29 0d  TE)(ch1) << 8)).
2610: 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e  ...// #define SN
2620: 44 5f 41 4c 49 41 53 5f 53 59 53 54 45 4d 41 53  D_ALIAS_SYSTEMAS
2630: 54 45 52 49 53 4b 20 73 6e 64 41 6c 69 61 73 28  TERISK sndAlias(
2640: 27 53 27 2c 20 27 2a 27 29 0d 0a 2f 2f 20 23 64  'S', '*')..// #d
2650: 65 66 69 6e 65 20 53 4e 44 5f 41 4c 49 41 53 5f  efine SND_ALIAS_
2660: 53 59 53 54 45 4d 51 55 45 53 54 49 4f 4e 20 73  SYSTEMQUESTION s
2670: 6e 64 41 6c 69 61 73 28 27 53 27 2c 20 27 3f 27  ndAlias('S', '?'
2680: 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e  )..// #define SN
2690: 44 5f 41 4c 49 41 53 5f 53 59 53 54 45 4d 48 41  D_ALIAS_SYSTEMHA
26a0: 4e 44 20 73 6e 64 41 6c 69 61 73 28 27 53 27 2c  ND sndAlias('S',
26b0: 20 27 48 27 29 0d 0a 2f 2f 20 23 64 65 66 69 6e   'H')..// #defin
26c0: 65 20 53 4e 44 5f 41 4c 49 41 53 5f 53 59 53 54  e SND_ALIAS_SYST
26d0: 45 4d 45 58 49 54 20 73 6e 64 41 6c 69 61 73 28  EMEXIT sndAlias(
26e0: 27 53 27 2c 20 27 45 27 29 0d 0a 2f 2f 20 23 64  'S', 'E')..// #d
26f0: 65 66 69 6e 65 20 53 4e 44 5f 41 4c 49 41 53 5f  efine SND_ALIAS_
2700: 53 59 53 54 45 4d 53 54 41 52 54 20 73 6e 64 41  SYSTEMSTART sndA
2710: 6c 69 61 73 28 27 53 27 2c 20 27 53 27 29 0d 0a  lias('S', 'S')..
2720: 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e 44 5f 41  // #define SND_A
2730: 4c 49 41 53 5f 53 59 53 54 45 4d 57 45 4c 43 4f  LIAS_SYSTEMWELCO
2740: 4d 45 20 73 6e 64 41 6c 69 61 73 28 27 53 27 2c  ME sndAlias('S',
2750: 20 27 57 27 29 0d 0a 2f 2f 20 23 64 65 66 69 6e   'W')..// #defin
2760: 65 20 53 4e 44 5f 41 4c 49 41 53 5f 53 59 53 54  e SND_ALIAS_SYST
2770: 45 4d 45 58 43 4c 41 4d 41 54 49 4f 4e 20 73 6e  EMEXCLAMATION sn
2780: 64 41 6c 69 61 73 28 27 53 27 2c 20 27 21 27 29  dAlias('S', '!')
2790: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e 44  ..// #define SND
27a0: 5f 41 4c 49 41 53 5f 53 59 53 54 45 4d 44 45 46  _ALIAS_SYSTEMDEF
27b0: 41 55 4c 54 20 73 6e 64 41 6c 69 61 73 28 27 53  AULT sndAlias('S
27c0: 27 2c 20 27 44 27 29 0d 0a 0d 0a 65 78 74 65 72  ', 'D')....exter
27d0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
27e0: 74 20 42 4f 4f 4c 20 50 6c 61 79 53 6f 75 6e 64  t BOOL PlaySound
27f0: 41 28 4c 50 43 53 54 52 20 70 73 7a 53 6f 75 6e  A(LPCSTR pszSoun
2800: 64 2c 20 48 4d 4f 44 55 4c 45 20 68 6d 6f 64 2c  d, HMODULE hmod,
2810: 20 44 57 4f 52 44 20 66 64 77 53 6f 75 6e 64 29   DWORD fdwSound)
2820: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
2830: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50  s) export BOOL P
2840: 6c 61 79 53 6f 75 6e 64 57 28 4c 50 43 57 53 54  laySoundW(LPCWST
2850: 52 20 70 73 7a 53 6f 75 6e 64 2c 20 48 4d 4f 44  R pszSound, HMOD
2860: 55 4c 45 20 68 6d 6f 64 2c 20 44 57 4f 52 44 20  ULE hmod, DWORD 
2870: 66 64 77 53 6f 75 6e 64 29 3b 0d 0a 2f 2f 20 23  fdwSound);..// #
2880: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
2890: 6c 69 61 73 20 50 6c 61 79 53 6f 75 6e 64 57 20  lias PlaySoundW 
28a0: 50 6c 61 79 53 6f 75 6e 64 3b 0d 0a 2f 2f 20 23  PlaySound;..// #
28b0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
28c0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
28d0: 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  CODE....// #else
28e0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
28f0: 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  dif....// #endif
2900: 20 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e 4f    /* ifndef MMNO
2910: 53 4f 55 4e 44 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  SOUND */....// #
2920: 69 66 6e 64 65 66 20 4d 4d 4e 4f 57 41 56 45 0d  ifndef MMNOWAVE.
2930: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2940: 20 57 41 56 45 52 52 5f 42 41 44 46 4f 52 4d 41   WAVERR_BADFORMA
2950: 54 20 3d 20 57 41 56 45 52 52 5f 42 41 53 45 20  T = WAVERR_BASE 
2960: 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 0 }..enum : ui
2970: 6e 74 20 7b 20 57 41 56 45 52 52 5f 53 54 49 4c  nt { WAVERR_STIL
2980: 4c 50 4c 41 59 49 4e 47 20 3d 20 57 41 56 45 52  LPLAYING = WAVER
2990: 52 5f 42 41 53 45 20 2b 20 31 20 7d 0d 0a 65 6e  R_BASE + 1 }..en
29a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45  um : uint { WAVE
29b0: 52 52 5f 55 4e 50 52 45 50 41 52 45 44 20 3d 20  RR_UNPREPARED = 
29c0: 57 41 56 45 52 52 5f 42 41 53 45 20 2b 20 32 20  WAVERR_BASE + 2 
29d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
29e0: 20 57 41 56 45 52 52 5f 53 59 4e 43 20 3d 20 57   WAVERR_SYNC = W
29f0: 41 56 45 52 52 5f 42 41 53 45 20 2b 20 33 20 7d  AVERR_BASE + 3 }
2a00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2a10: 57 41 56 45 52 52 5f 4c 41 53 54 45 52 52 4f 52  WAVERR_LASTERROR
2a20: 20 3d 20 57 41 56 45 52 52 5f 42 41 53 45 20 2b   = WAVERR_BASE +
2a30: 20 33 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f   3 }....alias vo
2a40: 69 64 2a 20 48 57 41 56 45 3b 0d 0a 61 6c 69 61  id* HWAVE;..alia
2a50: 73 20 76 6f 69 64 2a 20 48 57 41 56 45 49 4e 3b  s void* HWAVEIN;
2a60: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 57  ..alias void* HW
2a70: 41 56 45 4f 55 54 3b 0d 0a 61 6c 69 61 73 20 48  AVEOUT;..alias H
2a80: 57 41 56 45 49 4e 2a 20 4c 50 48 57 41 56 45 49  WAVEIN* LPHWAVEI
2a90: 4e 3b 0d 0a 61 6c 69 61 73 20 48 57 41 56 45 4f  N;..alias HWAVEO
2aa0: 55 54 2a 20 4c 50 48 57 41 56 45 4f 55 54 3b 0d  UT* LPHWAVEOUT;.
2ab0: 0a 2f 2f 20 74 79 70 65 64 65 66 20 44 52 56 43  .// typedef DRVC
2ac0: 41 4c 4c 42 41 43 4b 20 57 41 56 45 43 41 4c 4c  ALLBACK WAVECALL
2ad0: 42 41 43 4b 3b 0d 0a 61 6c 69 61 73 20 4c 50 44  BACK;..alias LPD
2ae0: 52 56 43 41 4c 4c 42 41 43 4b 20 4c 50 57 41 56  RVCALLBACK LPWAV
2af0: 45 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a 61 6c  ECALLBACK;....al
2b00: 69 61 73 20 4d 4d 5f 57 4f 4d 5f 4f 50 45 4e 20  ias MM_WOM_OPEN 
2b10: 57 4f 4d 5f 4f 50 45 4e 3b 0d 0a 61 6c 69 61 73  WOM_OPEN;..alias
2b20: 20 4d 4d 5f 57 4f 4d 5f 43 4c 4f 53 45 20 57 4f   MM_WOM_CLOSE WO
2b30: 4d 5f 43 4c 4f 53 45 3b 0d 0a 61 6c 69 61 73 20  M_CLOSE;..alias 
2b40: 4d 4d 5f 57 4f 4d 5f 44 4f 4e 45 20 57 4f 4d 5f  MM_WOM_DONE WOM_
2b50: 44 4f 4e 45 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f  DONE;..alias MM_
2b60: 57 49 4d 5f 4f 50 45 4e 20 57 49 4d 5f 4f 50 45  WIM_OPEN WIM_OPE
2b70: 4e 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f 57 49 4d  N;..alias MM_WIM
2b80: 5f 43 4c 4f 53 45 20 57 49 4d 5f 43 4c 4f 53 45  _CLOSE WIM_CLOSE
2b90: 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f 57 49 4d 5f  ;..alias MM_WIM_
2ba0: 44 41 54 41 20 57 49 4d 5f 44 41 54 41 3b 0d 0a  DATA WIM_DATA;..
2bb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2bc0: 57 41 56 45 5f 4d 41 50 50 45 52 20 3d 20 63 61  WAVE_MAPPER = ca
2bd0: 73 74 28 55 49 4e 54 29 2d 31 20 7d 0d 0a 0d 0a  st(UINT)-1 }....
2be0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41  enum : uint { WA
2bf0: 56 45 5f 46 4f 52 4d 41 54 5f 51 55 45 52 59 20  VE_FORMAT_QUERY 
2c00: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
2c10: 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 41   : uint { WAVE_A
2c20: 4c 4c 4f 57 53 59 4e 43 20 3d 20 30 78 30 30 30  LLOWSYNC = 0x000
2c30: 32 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  2 }..// #if(WINV
2c40: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
2c50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56  num : uint { WAV
2c60: 45 5f 4d 41 50 50 45 44 20 3d 20 30 78 30 30 30  E_MAPPED = 0x000
2c70: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
2c80: 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 44   { WAVE_FORMAT_D
2c90: 49 52 45 43 54 20 3d 20 30 78 30 30 30 38 20 7d  IRECT = 0x0008 }
2ca0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2cb0: 57 41 56 45 5f 46 4f 52 4d 41 54 5f 44 49 52 45  WAVE_FORMAT_DIRE
2cc0: 43 54 5f 51 55 45 52 59 20 3d 20 57 41 56 45 5f  CT_QUERY = WAVE_
2cd0: 46 4f 52 4d 41 54 5f 51 55 45 52 59 20 7c 20 57  FORMAT_QUERY | W
2ce0: 41 56 45 5f 46 4f 52 4d 41 54 5f 44 49 52 45 43  AVE_FORMAT_DIREC
2cf0: 54 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  T }..// #endif /
2d00: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
2d10: 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 75 63 74 20  00 */....struct 
2d20: 77 61 76 65 68 64 72 5f 74 61 67 20 7b 0d 0a 20  wavehdr_tag {.. 
2d30: 20 4c 50 53 54 52 20 6c 70 44 61 74 61 3b 0d 0a   LPSTR lpData;..
2d40: 20 20 44 57 4f 52 44 20 64 77 42 75 66 66 65 72    DWORD dwBuffer
2d50: 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57 4f 52 44  Length;..  DWORD
2d60: 20 64 77 42 79 74 65 73 52 65 63 6f 72 64 65 64   dwBytesRecorded
2d70: 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  ;..  DWORD_PTR d
2d80: 77 55 73 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20  wUser;..  DWORD 
2d90: 64 77 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52  dwFlags;..  DWOR
2da0: 44 20 64 77 4c 6f 6f 70 73 3b 0d 0a 20 20 77 61  D dwLoops;..  wa
2db0: 76 65 68 64 72 5f 74 61 67 20 2a 6c 70 4e 65 78  vehdr_tag *lpNex
2dc0: 74 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20  t;..  DWORD_PTR 
2dd0: 72 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c  reserved;..}..al
2de0: 69 61 73 20 77 61 76 65 68 64 72 5f 74 61 67 20  ias wavehdr_tag 
2df0: 57 41 56 45 48 44 52 3b 0d 0a 61 6c 69 61 73 20  WAVEHDR;..alias 
2e00: 77 61 76 65 68 64 72 5f 74 61 67 2a 20 50 57 41  wavehdr_tag* PWA
2e10: 56 45 48 44 52 3b 0d 0a 61 6c 69 61 73 20 77 61  VEHDR;..alias wa
2e20: 76 65 68 64 72 5f 74 61 67 2a 20 4e 50 57 41 56  vehdr_tag* NPWAV
2e30: 45 48 44 52 3b 0d 0a 61 6c 69 61 73 20 77 61 76  EHDR;..alias wav
2e40: 65 68 64 72 5f 74 61 67 2a 20 4c 50 57 41 56 45  ehdr_tag* LPWAVE
2e50: 48 44 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  HDR;....enum : u
2e60: 69 6e 74 20 7b 20 57 48 44 52 5f 44 4f 4e 45 20  int { WHDR_DONE 
2e70: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
2e80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48  enum : uint { WH
2e90: 44 52 5f 50 52 45 50 41 52 45 44 20 3d 20 30 78  DR_PREPARED = 0x
2ea0: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
2eb0: 20 3a 20 75 69 6e 74 20 7b 20 57 48 44 52 5f 42   : uint { WHDR_B
2ec0: 45 47 49 4e 4c 4f 4f 50 20 3d 20 30 78 30 30 30  EGINLOOP = 0x000
2ed0: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
2ee0: 75 69 6e 74 20 7b 20 57 48 44 52 5f 45 4e 44 4c  uint { WHDR_ENDL
2ef0: 4f 4f 50 20 3d 20 30 78 30 30 30 30 30 30 30 38  OOP = 0x00000008
2f00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2f10: 7b 20 57 48 44 52 5f 49 4e 51 55 45 55 45 20 3d  { WHDR_INQUEUE =
2f20: 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 0d   0x00000010 }...
2f30: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
2f40: 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 57  2....struct tagW
2f50: 41 56 45 4f 55 54 43 41 50 53 41 20 7b 0d 0a 20  AVEOUTCAPSA {.. 
2f60: 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57   WORD wMid;..  W
2f70: 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56  ORD wPid;..  MMV
2f80: 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65  ERSION vDriverVe
2f90: 72 73 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73  rsion;..  CHAR s
2fa0: 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c  zPname[MAXPNAMEL
2fb0: 45 4e 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  EN];..  DWORD dw
2fc0: 46 6f 72 6d 61 74 73 3b 0d 0a 20 20 57 4f 52 44  Formats;..  WORD
2fd0: 20 77 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 57   wChannels;..  W
2fe0: 4f 52 44 20 77 52 65 73 65 72 76 65 64 31 3b 0d  ORD wReserved1;.
2ff0: 0a 20 20 44 57 4f 52 44 20 64 77 53 75 70 70 6f  .  DWORD dwSuppo
3000: 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  rt;..}..alias ta
3010: 67 57 41 56 45 4f 55 54 43 41 50 53 41 20 57 41  gWAVEOUTCAPSA WA
3020: 56 45 4f 55 54 43 41 50 53 41 3b 0d 0a 61 6c 69  VEOUTCAPSA;..ali
3030: 61 73 20 74 61 67 57 41 56 45 4f 55 54 43 41 50  as tagWAVEOUTCAP
3040: 53 41 2a 20 50 57 41 56 45 4f 55 54 43 41 50 53  SA* PWAVEOUTCAPS
3050: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56  A;..alias tagWAV
3060: 45 4f 55 54 43 41 50 53 41 2a 20 4e 50 57 41 56  EOUTCAPSA* NPWAV
3070: 45 4f 55 54 43 41 50 53 41 3b 0d 0a 61 6c 69 61  EOUTCAPSA;..alia
3080: 73 20 74 61 67 57 41 56 45 4f 55 54 43 41 50 53  s tagWAVEOUTCAPS
3090: 41 2a 20 4c 50 57 41 56 45 4f 55 54 43 41 50 53  A* LPWAVEOUTCAPS
30a0: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
30b0: 57 41 56 45 4f 55 54 43 41 50 53 57 20 7b 0d 0a  WAVEOUTCAPSW {..
30c0: 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20    WORD wMid;..  
30d0: 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d  WORD wPid;..  MM
30e0: 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56  VERSION vDriverV
30f0: 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48 41 52  ersion;..  WCHAR
3100: 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d   szPname[MAXPNAM
3110: 45 4c 45 4e 5d 3b 0d 0a 20 20 44 57 4f 52 44 20  ELEN];..  DWORD 
3120: 64 77 46 6f 72 6d 61 74 73 3b 0d 0a 20 20 57 4f  dwFormats;..  WO
3130: 52 44 20 77 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20  RD wChannels;.. 
3140: 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64 31   WORD wReserved1
3150: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 75 70  ;..  DWORD dwSup
3160: 70 6f 72 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  port;..}..alias 
3170: 74 61 67 57 41 56 45 4f 55 54 43 41 50 53 57 20  tagWAVEOUTCAPSW 
3180: 57 41 56 45 4f 55 54 43 41 50 53 57 3b 0d 0a 61  WAVEOUTCAPSW;..a
3190: 6c 69 61 73 20 74 61 67 57 41 56 45 4f 55 54 43  lias tagWAVEOUTC
31a0: 41 50 53 57 2a 20 50 57 41 56 45 4f 55 54 43 41  APSW* PWAVEOUTCA
31b0: 50 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  PSW;..alias tagW
31c0: 41 56 45 4f 55 54 43 41 50 53 57 2a 20 4e 50 57  AVEOUTCAPSW* NPW
31d0: 41 56 45 4f 55 54 43 41 50 53 57 3b 0d 0a 61 6c  AVEOUTCAPSW;..al
31e0: 69 61 73 20 74 61 67 57 41 56 45 4f 55 54 43 41  ias tagWAVEOUTCA
31f0: 50 53 57 2a 20 4c 50 57 41 56 45 4f 55 54 43 41  PSW* LPWAVEOUTCA
3200: 50 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  PSW;....// #ifde
3210: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
3220: 20 57 41 56 45 4f 55 54 43 41 50 53 57 20 57 41   WAVEOUTCAPSW WA
3230: 56 45 4f 55 54 43 41 50 53 3b 0d 0a 61 6c 69 61  VEOUTCAPS;..alia
3240: 73 20 50 57 41 56 45 4f 55 54 43 41 50 53 57 20  s PWAVEOUTCAPSW 
3250: 50 57 41 56 45 4f 55 54 43 41 50 53 3b 0d 0a 61  PWAVEOUTCAPS;..a
3260: 6c 69 61 73 20 4e 50 57 41 56 45 4f 55 54 43 41  lias NPWAVEOUTCA
3270: 50 53 57 20 4e 50 57 41 56 45 4f 55 54 43 41 50  PSW NPWAVEOUTCAP
3280: 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 57 41 56 45  S;..alias LPWAVE
3290: 4f 55 54 43 41 50 53 57 20 4c 50 57 41 56 45 4f  OUTCAPSW LPWAVEO
32a0: 55 54 43 41 50 53 3b 0d 0a 2f 2f 20 23 65 6c 73  UTCAPS;..// #els
32b0: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
32c0: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
32d0: 0a 73 74 72 75 63 74 20 74 61 67 57 41 56 45 4f  .struct tagWAVEO
32e0: 55 54 43 41 50 53 32 41 20 7b 0d 0a 20 20 57 4f  UTCAPS2A {..  WO
32f0: 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44  RD wMid;..  WORD
3300: 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53   wPid;..  MMVERS
3310: 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69  ION vDriverVersi
3320: 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e  on;..  CHAR szPn
3330: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
3340: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6f 72  ;..  DWORD dwFor
3350: 6d 61 74 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43  mats;..  WORD wC
3360: 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 57 4f 52 44  hannels;..  WORD
3370: 20 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20   wReserved1;..  
3380: 44 57 4f 52 44 20 64 77 53 75 70 70 6f 72 74 3b  DWORD dwSupport;
3390: 0d 0a 20 20 47 55 49 44 20 4d 61 6e 75 66 61 63  ..  GUID Manufac
33a0: 74 75 72 65 72 47 75 69 64 3b 0d 0a 20 20 47 55  turerGuid;..  GU
33b0: 49 44 20 50 72 6f 64 75 63 74 47 75 69 64 3b 0d  ID ProductGuid;.
33c0: 0a 20 20 47 55 49 44 20 4e 61 6d 65 47 75 69 64  .  GUID NameGuid
33d0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 57  ;..}..alias tagW
33e0: 41 56 45 4f 55 54 43 41 50 53 32 41 20 57 41 56  AVEOUTCAPS2A WAV
33f0: 45 4f 55 54 43 41 50 53 32 41 3b 0d 0a 61 6c 69  EOUTCAPS2A;..ali
3400: 61 73 20 74 61 67 57 41 56 45 4f 55 54 43 41 50  as tagWAVEOUTCAP
3410: 53 32 41 2a 20 50 57 41 56 45 4f 55 54 43 41 50  S2A* PWAVEOUTCAP
3420: 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  S2A;..alias tagW
3430: 41 56 45 4f 55 54 43 41 50 53 32 41 2a 20 4e 50  AVEOUTCAPS2A* NP
3440: 57 41 56 45 4f 55 54 43 41 50 53 32 41 3b 0d 0a  WAVEOUTCAPS2A;..
3450: 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f 55 54  alias tagWAVEOUT
3460: 43 41 50 53 32 41 2a 20 4c 50 57 41 56 45 4f 55  CAPS2A* LPWAVEOU
3470: 54 43 41 50 53 32 41 3b 0d 0a 0d 0a 73 74 72 75  TCAPS2A;....stru
3480: 63 74 20 74 61 67 57 41 56 45 4f 55 54 43 41 50  ct tagWAVEOUTCAP
3490: 53 32 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d  S2W {..  WORD wM
34a0: 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64  id;..  WORD wPid
34b0: 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76  ;..  MMVERSION v
34c0: 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a  DriverVersion;..
34d0: 20 20 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b    WCHAR szPname[
34e0: 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20  MAXPNAMELEN];.. 
34f0: 20 44 57 4f 52 44 20 64 77 46 6f 72 6d 61 74 73   DWORD dwFormats
3500: 3b 0d 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e  ;..  WORD wChann
3510: 65 6c 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65  els;..  WORD wRe
3520: 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57 4f 52  served1;..  DWOR
3530: 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 20 20  D dwSupport;..  
3540: 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65  GUID Manufacture
3550: 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50  rGuid;..  GUID P
3560: 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47  roductGuid;..  G
3570: 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d  UID NameGuid;..}
3580: 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f  ..alias tagWAVEO
3590: 55 54 43 41 50 53 32 57 20 57 41 56 45 4f 55 54  UTCAPS2W WAVEOUT
35a0: 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74  CAPS2W;..alias t
35b0: 61 67 57 41 56 45 4f 55 54 43 41 50 53 32 57 2a  agWAVEOUTCAPS2W*
35c0: 20 50 57 41 56 45 4f 55 54 43 41 50 53 32 57 3b   PWAVEOUTCAPS2W;
35d0: 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f  ..alias tagWAVEO
35e0: 55 54 43 41 50 53 32 57 2a 20 4e 50 57 41 56 45  UTCAPS2W* NPWAVE
35f0: 4f 55 54 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61  OUTCAPS2W;..alia
3600: 73 20 74 61 67 57 41 56 45 4f 55 54 43 41 50 53  s tagWAVEOUTCAPS
3610: 32 57 2a 20 4c 50 57 41 56 45 4f 55 54 43 41 50  2W* LPWAVEOUTCAP
3620: 53 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  S2W;....// #ifde
3630: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
3640: 20 57 41 56 45 4f 55 54 43 41 50 53 32 57 20 57   WAVEOUTCAPS2W W
3650: 41 56 45 4f 55 54 43 41 50 53 32 3b 0d 0a 61 6c  AVEOUTCAPS2;..al
3660: 69 61 73 20 50 57 41 56 45 4f 55 54 43 41 50 53  ias PWAVEOUTCAPS
3670: 32 57 20 50 57 41 56 45 4f 55 54 43 41 50 53 32  2W PWAVEOUTCAPS2
3680: 3b 0d 0a 61 6c 69 61 73 20 4e 50 57 41 56 45 4f  ;..alias NPWAVEO
3690: 55 54 43 41 50 53 32 57 20 4e 50 57 41 56 45 4f  UTCAPS2W NPWAVEO
36a0: 55 54 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20  UTCAPS2;..alias 
36b0: 4c 50 57 41 56 45 4f 55 54 43 41 50 53 32 57 20  LPWAVEOUTCAPS2W 
36c0: 4c 50 57 41 56 45 4f 55 54 43 41 50 53 32 3b 0d  LPWAVEOUTCAPS2;.
36d0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
36e0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
36f0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65  UNICODE....// #e
3700: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
3710: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
3720: 20 75 69 6e 74 20 7b 20 57 41 56 45 43 41 50 53   uint { WAVECAPS
3730: 5f 50 49 54 43 48 20 3d 20 30 78 30 30 30 31 20  _PITCH = 0x0001 
3740: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3750: 20 57 41 56 45 43 41 50 53 5f 50 4c 41 59 42 41   WAVECAPS_PLAYBA
3760: 43 4b 52 41 54 45 20 3d 20 30 78 30 30 30 32 20  CKRATE = 0x0002 
3770: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
3780: 20 57 41 56 45 43 41 50 53 5f 56 4f 4c 55 4d 45   WAVECAPS_VOLUME
3790: 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
37a0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 43  m : uint { WAVEC
37b0: 41 50 53 5f 4c 52 56 4f 4c 55 4d 45 20 3d 20 30  APS_LRVOLUME = 0
37c0: 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
37d0: 75 69 6e 74 20 7b 20 57 41 56 45 43 41 50 53 5f  uint { WAVECAPS_
37e0: 53 59 4e 43 20 3d 20 30 78 30 30 31 30 20 7d 0d  SYNC = 0x0010 }.
37f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
3800: 41 56 45 43 41 50 53 5f 53 41 4d 50 4c 45 41 43  AVECAPS_SAMPLEAC
3810: 43 55 52 41 54 45 20 3d 20 30 78 30 30 32 30 20  CURATE = 0x0020 
3820: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  }....// #ifdef _
3830: 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20  WIN32....struct 
3840: 74 61 67 57 41 56 45 49 4e 43 41 50 53 41 20 7b  tagWAVEINCAPSA {
3850: 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a  ..  WORD wMid;..
3860: 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20    WORD wPid;..  
3870: 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65  MMVERSION vDrive
3880: 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 43 48 41  rVersion;..  CHA
3890: 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41  R szPname[MAXPNA
38a0: 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 44 57 4f 52 44  MELEN];..  DWORD
38b0: 20 64 77 46 6f 72 6d 61 74 73 3b 0d 0a 20 20 57   dwFormats;..  W
38c0: 4f 52 44 20 77 43 68 61 6e 6e 65 6c 73 3b 0d 0a  ORD wChannels;..
38d0: 20 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64    WORD wReserved
38e0: 31 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  1;..}..alias tag
38f0: 57 41 56 45 49 4e 43 41 50 53 41 20 57 41 56 45  WAVEINCAPSA WAVE
3900: 49 4e 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20  INCAPSA;..alias 
3910: 74 61 67 57 41 56 45 49 4e 43 41 50 53 41 2a 20  tagWAVEINCAPSA* 
3920: 50 57 41 56 45 49 4e 43 41 50 53 41 3b 0d 0a 61  PWAVEINCAPSA;..a
3930: 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e 43 41  lias tagWAVEINCA
3940: 50 53 41 2a 20 4e 50 57 41 56 45 49 4e 43 41 50  PSA* NPWAVEINCAP
3950: 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 41  SA;..alias tagWA
3960: 56 45 49 4e 43 41 50 53 41 2a 20 4c 50 57 41 56  VEINCAPSA* LPWAV
3970: 45 49 4e 43 41 50 53 41 3b 0d 0a 0d 0a 73 74 72  EINCAPSA;....str
3980: 75 63 74 20 74 61 67 57 41 56 45 49 4e 43 41 50  uct tagWAVEINCAP
3990: 53 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69  SW {..  WORD wMi
39a0: 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b  d;..  WORD wPid;
39b0: 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44  ..  MMVERSION vD
39c0: 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  riverVersion;.. 
39d0: 20 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d   WCHAR szPname[M
39e0: 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20  AXPNAMELEN];..  
39f0: 44 57 4f 52 44 20 64 77 46 6f 72 6d 61 74 73 3b  DWORD dwFormats;
3a00: 0d 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e 65  ..  WORD wChanne
3a10: 6c 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 73  ls;..  WORD wRes
3a20: 65 72 76 65 64 31 3b 0d 0a 7d 0d 0a 61 6c 69 61  erved1;..}..alia
3a30: 73 20 74 61 67 57 41 56 45 49 4e 43 41 50 53 57  s tagWAVEINCAPSW
3a40: 20 57 41 56 45 49 4e 43 41 50 53 57 3b 0d 0a 61   WAVEINCAPSW;..a
3a50: 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e 43 41  lias tagWAVEINCA
3a60: 50 53 57 2a 20 50 57 41 56 45 49 4e 43 41 50 53  PSW* PWAVEINCAPS
3a70: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56  W;..alias tagWAV
3a80: 45 49 4e 43 41 50 53 57 2a 20 4e 50 57 41 56 45  EINCAPSW* NPWAVE
3a90: 49 4e 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20  INCAPSW;..alias 
3aa0: 74 61 67 57 41 56 45 49 4e 43 41 50 53 57 2a 20  tagWAVEINCAPSW* 
3ab0: 4c 50 57 41 56 45 49 4e 43 41 50 53 57 3b 0d 0a  LPWAVEINCAPSW;..
3ac0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
3ad0: 4f 44 45 0d 0a 61 6c 69 61 73 20 57 41 56 45 49  ODE..alias WAVEI
3ae0: 4e 43 41 50 53 57 20 57 41 56 45 49 4e 43 41 50  NCAPSW WAVEINCAP
3af0: 53 3b 0d 0a 61 6c 69 61 73 20 50 57 41 56 45 49  S;..alias PWAVEI
3b00: 4e 43 41 50 53 57 20 50 57 41 56 45 49 4e 43 41  NCAPSW PWAVEINCA
3b10: 50 53 3b 0d 0a 61 6c 69 61 73 20 4e 50 57 41 56  PS;..alias NPWAV
3b20: 45 49 4e 43 41 50 53 57 20 4e 50 57 41 56 45 49  EINCAPSW NPWAVEI
3b30: 4e 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4c 50  NCAPS;..alias LP
3b40: 57 41 56 45 49 4e 43 41 50 53 57 20 4c 50 57 41  WAVEINCAPSW LPWA
3b50: 56 45 49 4e 43 41 50 53 3b 0d 0a 2f 2f 20 23 65  VEINCAPS;..// #e
3b60: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
3b70: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
3b80: 45 0d 0a 73 74 72 75 63 74 20 74 61 67 57 41 56  E..struct tagWAV
3b90: 45 49 4e 43 41 50 53 32 41 20 7b 0d 0a 20 20 57  EINCAPS2A {..  W
3ba0: 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52  ORD wMid;..  WOR
3bb0: 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52  D wPid;..  MMVER
3bc0: 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73  SION vDriverVers
3bd0: 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50  ion;..  CHAR szP
3be0: 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e  name[MAXPNAMELEN
3bf0: 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6f  ];..  DWORD dwFo
3c00: 72 6d 61 74 73 3b 0d 0a 20 20 57 4f 52 44 20 77  rmats;..  WORD w
3c10: 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 57 4f 52  Channels;..  WOR
3c20: 44 20 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20  D wReserved1;.. 
3c30: 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72   GUID Manufactur
3c40: 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20  erGuid;..  GUID 
3c50: 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20  ProductGuid;..  
3c60: 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a  GUID NameGuid;..
3c70: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45  }..alias tagWAVE
3c80: 49 4e 43 41 50 53 32 41 20 57 41 56 45 49 4e 43  INCAPS2A WAVEINC
3c90: 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61  APS2A;..alias ta
3ca0: 67 57 41 56 45 49 4e 43 41 50 53 32 41 2a 20 50  gWAVEINCAPS2A* P
3cb0: 57 41 56 45 49 4e 43 41 50 53 32 41 3b 0d 0a 61  WAVEINCAPS2A;..a
3cc0: 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e 43 41  lias tagWAVEINCA
3cd0: 50 53 32 41 2a 20 4e 50 57 41 56 45 49 4e 43 41  PS2A* NPWAVEINCA
3ce0: 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2A;..alias tag
3cf0: 57 41 56 45 49 4e 43 41 50 53 32 41 2a 20 4c 50  WAVEINCAPS2A* LP
3d00: 57 41 56 45 49 4e 43 41 50 53 32 41 3b 0d 0a 0d  WAVEINCAPS2A;...
3d10: 0a 73 74 72 75 63 74 20 74 61 67 57 41 56 45 49  .struct tagWAVEI
3d20: 4e 43 41 50 53 32 57 20 7b 0d 0a 20 20 57 4f 52  NCAPS2W {..  WOR
3d30: 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20  D wMid;..  WORD 
3d40: 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49  wPid;..  MMVERSI
3d50: 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f  ON vDriverVersio
3d60: 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50 6e  n;..  WCHAR szPn
3d70: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
3d80: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6f 72  ;..  DWORD dwFor
3d90: 6d 61 74 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43  mats;..  WORD wC
3da0: 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 57 4f 52 44  hannels;..  WORD
3db0: 20 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20   wReserved1;..  
3dc0: 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65  GUID Manufacture
3dd0: 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50  rGuid;..  GUID P
3de0: 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47  roductGuid;..  G
3df0: 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d  UID NameGuid;..}
3e00: 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 49  ..alias tagWAVEI
3e10: 4e 43 41 50 53 32 57 20 57 41 56 45 49 4e 43 41  NCAPS2W WAVEINCA
3e20: 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2W;..alias tag
3e30: 57 41 56 45 49 4e 43 41 50 53 32 57 2a 20 50 57  WAVEINCAPS2W* PW
3e40: 41 56 45 49 4e 43 41 50 53 32 57 3b 0d 0a 61 6c  AVEINCAPS2W;..al
3e50: 69 61 73 20 74 61 67 57 41 56 45 49 4e 43 41 50  ias tagWAVEINCAP
3e60: 53 32 57 2a 20 4e 50 57 41 56 45 49 4e 43 41 50  S2W* NPWAVEINCAP
3e70: 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  S2W;..alias tagW
3e80: 41 56 45 49 4e 43 41 50 53 32 57 2a 20 4c 50 57  AVEINCAPS2W* LPW
3e90: 41 56 45 49 4e 43 41 50 53 32 57 3b 0d 0a 0d 0a  AVEINCAPS2W;....
3ea0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
3eb0: 45 0d 0a 61 6c 69 61 73 20 57 41 56 45 49 4e 43  E..alias WAVEINC
3ec0: 41 50 53 32 57 20 57 41 56 45 49 4e 43 41 50 53  APS2W WAVEINCAPS
3ed0: 32 3b 0d 0a 61 6c 69 61 73 20 50 57 41 56 45 49  2;..alias PWAVEI
3ee0: 4e 43 41 50 53 32 57 20 50 57 41 56 45 49 4e 43  NCAPS2W PWAVEINC
3ef0: 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4e 50 57  APS2;..alias NPW
3f00: 41 56 45 49 4e 43 41 50 53 32 57 20 4e 50 57 41  AVEINCAPS2W NPWA
3f10: 56 45 49 4e 43 41 50 53 32 3b 0d 0a 61 6c 69 61  VEINCAPS2;..alia
3f20: 73 20 4c 50 57 41 56 45 49 4e 43 41 50 53 32 57  s LPWAVEINCAPS2W
3f30: 20 4c 50 57 41 56 45 49 4e 43 41 50 53 32 3b 0d   LPWAVEINCAPS2;.
3f40: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
3f50: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
3f60: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65  UNICODE....// #e
3f70: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
3f80: 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a  #endif....enum :
3f90: 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 49 4e 56   uint { WAVE_INV
3fa0: 41 4c 49 44 46 4f 52 4d 41 54 20 3d 20 30 78 30  ALIDFORMAT = 0x0
3fb0: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
3fc0: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
3fd0: 52 4d 41 54 5f 31 4d 30 38 20 3d 20 30 78 30 30  RMAT_1M08 = 0x00
3fe0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
3ff0: 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52   uint { WAVE_FOR
4000: 4d 41 54 5f 31 53 30 38 20 3d 20 30 78 30 30 30  MAT_1S08 = 0x000
4010: 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00002 }..enum : 
4020: 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52 4d  uint { WAVE_FORM
4030: 41 54 5f 31 4d 31 36 20 3d 20 30 78 30 30 30 30  AT_1M16 = 0x0000
4040: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
4050: 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41  int { WAVE_FORMA
4060: 54 5f 31 53 31 36 20 3d 20 30 78 30 30 30 30 30  T_1S16 = 0x00000
4070: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
4080: 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54  nt { WAVE_FORMAT
4090: 5f 32 4d 30 38 20 3d 20 30 78 30 30 30 30 30 30  _2M08 = 0x000000
40a0: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
40b0: 74 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f  t { WAVE_FORMAT_
40c0: 32 53 30 38 20 3d 20 30 78 30 30 30 30 30 30 32  2S08 = 0x0000002
40d0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
40e0: 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 32   { WAVE_FORMAT_2
40f0: 4d 31 36 20 3d 20 30 78 30 30 30 30 30 30 34 30  M16 = 0x00000040
4100: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4110: 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 32 53  { WAVE_FORMAT_2S
4120: 31 36 20 3d 20 30 78 30 30 30 30 30 30 38 30 20  16 = 0x00000080 
4130: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4140: 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 34 4d 30   WAVE_FORMAT_4M0
4150: 38 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d  8 = 0x00000100 }
4160: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4170: 57 41 56 45 5f 46 4f 52 4d 41 54 5f 34 53 30 38  WAVE_FORMAT_4S08
4180: 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d   = 0x00000200 }.
4190: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
41a0: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 4d 31 36 20  AVE_FORMAT_4M16 
41b0: 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x00000400 }..
41c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41  enum : uint { WA
41d0: 56 45 5f 46 4f 52 4d 41 54 5f 34 53 31 36 20 3d  VE_FORMAT_4S16 =
41e0: 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 0d   0x00000800 }...
41f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4200: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 34 4d 30 38  AVE_FORMAT_44M08
4210: 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
4220: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4230: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 34 53 30 38  AVE_FORMAT_44S08
4240: 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d   = 0x00000200 }.
4250: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4260: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 34 4d 31 36  AVE_FORMAT_44M16
4270: 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d   = 0x00000400 }.
4280: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4290: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 34 53 31 36  AVE_FORMAT_44S16
42a0: 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d   = 0x00000800 }.
42b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
42c0: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 38 4d 30 38  AVE_FORMAT_48M08
42d0: 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
42e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
42f0: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 38 53 30 38  AVE_FORMAT_48S08
4300: 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d   = 0x00002000 }.
4310: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4320: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 38 4d 31 36  AVE_FORMAT_48M16
4330: 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d   = 0x00004000 }.
4340: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4350: 41 56 45 5f 46 4f 52 4d 41 54 5f 34 38 53 31 36  AVE_FORMAT_48S16
4360: 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d   = 0x00008000 }.
4370: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4380: 41 56 45 5f 46 4f 52 4d 41 54 5f 39 36 4d 30 38  AVE_FORMAT_96M08
4390: 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d   = 0x00010000 }.
43a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
43b0: 41 56 45 5f 46 4f 52 4d 41 54 5f 39 36 53 30 38  AVE_FORMAT_96S08
43c0: 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d   = 0x00020000 }.
43d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
43e0: 41 56 45 5f 46 4f 52 4d 41 54 5f 39 36 4d 31 36  AVE_FORMAT_96M16
43f0: 20 3d 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d   = 0x00040000 }.
4400: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4410: 41 56 45 5f 46 4f 52 4d 41 54 5f 39 36 53 31 36  AVE_FORMAT_96S16
4420: 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d   = 0x00080000 }.
4430: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 57 41  ...// #ifndef WA
4440: 56 45 5f 46 4f 52 4d 41 54 5f 50 43 4d 0d 0a 0d  VE_FORMAT_PCM...
4450: 0a 73 74 72 75 63 74 20 77 61 76 65 66 6f 72 6d  .struct waveform
4460: 61 74 5f 74 61 67 20 7b 0d 0a 20 20 57 4f 52 44  at_tag {..  WORD
4470: 20 77 46 6f 72 6d 61 74 54 61 67 3b 0d 0a 20 20   wFormatTag;..  
4480: 57 4f 52 44 20 6e 43 68 61 6e 6e 65 6c 73 3b 0d  WORD nChannels;.
4490: 0a 20 20 44 57 4f 52 44 20 6e 53 61 6d 70 6c 65  .  DWORD nSample
44a0: 73 50 65 72 53 65 63 3b 0d 0a 20 20 44 57 4f 52  sPerSec;..  DWOR
44b0: 44 20 6e 41 76 67 42 79 74 65 73 50 65 72 53 65  D nAvgBytesPerSe
44c0: 63 3b 0d 0a 20 20 57 4f 52 44 20 6e 42 6c 6f 63  c;..  WORD nBloc
44d0: 6b 41 6c 69 67 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61  kAlign;..}..alia
44e0: 73 20 77 61 76 65 66 6f 72 6d 61 74 5f 74 61 67  s waveformat_tag
44f0: 20 57 41 56 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c   WAVEFORMAT;..al
4500: 69 61 73 20 77 61 76 65 66 6f 72 6d 61 74 5f 74  ias waveformat_t
4510: 61 67 2a 20 50 57 41 56 45 46 4f 52 4d 41 54 3b  ag* PWAVEFORMAT;
4520: 0d 0a 61 6c 69 61 73 20 77 61 76 65 66 6f 72 6d  ..alias waveform
4530: 61 74 5f 74 61 67 2a 20 4e 50 57 41 56 45 46 4f  at_tag* NPWAVEFO
4540: 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 77 61 76  RMAT;..alias wav
4550: 65 66 6f 72 6d 61 74 5f 74 61 67 2a 20 4c 50 57  eformat_tag* LPW
4560: 41 56 45 46 4f 52 4d 41 54 3b 0d 0a 0d 0a 65 6e  AVEFORMAT;....en
4570: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45  um : uint { WAVE
4580: 5f 46 4f 52 4d 41 54 5f 50 43 4d 20 3d 20 31 20  _FORMAT_PCM = 1 
4590: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 70 63 6d 77  }....struct pcmw
45a0: 61 76 65 66 6f 72 6d 61 74 5f 74 61 67 20 7b 0d  aveformat_tag {.
45b0: 0a 20 20 57 41 56 45 46 4f 52 4d 41 54 20 77 66  .  WAVEFORMAT wf
45c0: 3b 0d 0a 20 20 57 4f 52 44 20 77 42 69 74 73 50  ;..  WORD wBitsP
45d0: 65 72 53 61 6d 70 6c 65 3b 0d 0a 7d 0d 0a 61 6c  erSample;..}..al
45e0: 69 61 73 20 70 63 6d 77 61 76 65 66 6f 72 6d 61  ias pcmwaveforma
45f0: 74 5f 74 61 67 20 50 43 4d 57 41 56 45 46 4f 52  t_tag PCMWAVEFOR
4600: 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 70 63 6d 77  MAT;..alias pcmw
4610: 61 76 65 66 6f 72 6d 61 74 5f 74 61 67 2a 20 50  aveformat_tag* P
4620: 50 43 4d 57 41 56 45 46 4f 52 4d 41 54 3b 0d 0a  PCMWAVEFORMAT;..
4630: 61 6c 69 61 73 20 70 63 6d 77 61 76 65 66 6f 72  alias pcmwavefor
4640: 6d 61 74 5f 74 61 67 2a 20 4e 50 50 43 4d 57 41  mat_tag* NPPCMWA
4650: 56 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61 73  VEFORMAT;..alias
4660: 20 70 63 6d 77 61 76 65 66 6f 72 6d 61 74 5f 74   pcmwaveformat_t
4670: 61 67 2a 20 4c 50 50 43 4d 57 41 56 45 46 4f 52  ag* LPPCMWAVEFOR
4680: 4d 41 54 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  MAT;....// #endi
4690: 66 20 2f 2a 20 57 41 56 45 5f 46 4f 52 4d 41 54  f /* WAVE_FORMAT
46a0: 5f 50 43 4d 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69  _PCM */....// #i
46b0: 66 6e 64 65 66 20 5f 57 41 56 45 46 4f 52 4d 41  fndef _WAVEFORMA
46c0: 54 45 58 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  TEX_..// #define
46d0: 20 5f 57 41 56 45 46 4f 52 4d 41 54 45 58 5f 0d   _WAVEFORMATEX_.
46e0: 0a 0d 0a 73 74 72 75 63 74 20 74 57 41 56 45 46  ...struct tWAVEF
46f0: 4f 52 4d 41 54 45 58 20 7b 0d 0a 20 20 57 4f 52  ORMATEX {..  WOR
4700: 44 20 77 46 6f 72 6d 61 74 54 61 67 3b 0d 0a 20  D wFormatTag;.. 
4710: 20 57 4f 52 44 20 6e 43 68 61 6e 6e 65 6c 73 3b   WORD nChannels;
4720: 0d 0a 20 20 44 57 4f 52 44 20 6e 53 61 6d 70 6c  ..  DWORD nSampl
4730: 65 73 50 65 72 53 65 63 3b 0d 0a 20 20 44 57 4f  esPerSec;..  DWO
4740: 52 44 20 6e 41 76 67 42 79 74 65 73 50 65 72 53  RD nAvgBytesPerS
4750: 65 63 3b 0d 0a 20 20 57 4f 52 44 20 6e 42 6c 6f  ec;..  WORD nBlo
4760: 63 6b 41 6c 69 67 6e 3b 0d 0a 20 20 57 4f 52 44  ckAlign;..  WORD
4770: 20 77 42 69 74 73 50 65 72 53 61 6d 70 6c 65 3b   wBitsPerSample;
4780: 0d 0a 20 20 57 4f 52 44 20 63 62 53 69 7a 65 3b  ..  WORD cbSize;
4790: 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 57 41  ....}..alias tWA
47a0: 56 45 46 4f 52 4d 41 54 45 58 20 57 41 56 45 46  VEFORMATEX WAVEF
47b0: 4f 52 4d 41 54 45 58 3b 0d 0a 61 6c 69 61 73 20  ORMATEX;..alias 
47c0: 74 57 41 56 45 46 4f 52 4d 41 54 45 58 2a 20 50  tWAVEFORMATEX* P
47d0: 57 41 56 45 46 4f 52 4d 41 54 45 58 3b 0d 0a 61  WAVEFORMATEX;..a
47e0: 6c 69 61 73 20 74 57 41 56 45 46 4f 52 4d 41 54  lias tWAVEFORMAT
47f0: 45 58 2a 20 4e 50 57 41 56 45 46 4f 52 4d 41 54  EX* NPWAVEFORMAT
4800: 45 58 3b 0d 0a 61 6c 69 61 73 20 74 57 41 56 45  EX;..alias tWAVE
4810: 46 4f 52 4d 41 54 45 58 2a 20 4c 50 57 41 56 45  FORMATEX* LPWAVE
4820: 46 4f 52 4d 41 54 45 58 3b 0d 0a 0d 0a 2f 2f 20  FORMATEX;....// 
4830: 23 65 6e 64 69 66 20 2f 2a 20 5f 57 41 56 45 46  #endif /* _WAVEF
4840: 4f 52 4d 41 54 45 58 5f 20 2a 2f 0d 0a 61 6c 69  ORMATEX_ */..ali
4850: 61 73 20 57 41 56 45 46 4f 52 4d 41 54 45 58 2a  as WAVEFORMATEX*
4860: 20 4c 50 43 57 41 56 45 46 4f 52 4d 41 54 45 58   LPCWAVEFORMATEX
4870: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
4880: 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54  ows) export UINT
4890: 20 77 61 76 65 4f 75 74 47 65 74 4e 75 6d 44 65   waveOutGetNumDe
48a0: 76 73 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  vs();....// #ifd
48b0: 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74  ef _WIN32....ext
48c0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
48d0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76  ort MMRESULT wav
48e0: 65 4f 75 74 47 65 74 44 65 76 43 61 70 73 41 28  eOutGetDevCapsA(
48f0: 55 49 4e 54 5f 50 54 52 20 75 44 65 76 69 63 65  UINT_PTR uDevice
4900: 49 44 2c 20 4c 50 57 41 56 45 4f 55 54 43 41 50  ID, LPWAVEOUTCAP
4910: 53 41 20 70 77 6f 63 2c 20 55 49 4e 54 20 63 62  SA pwoc, UINT cb
4920: 77 6f 63 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  woc);..extern(Wi
4930: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
4940: 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 47 65  RESULT waveOutGe
4950: 74 44 65 76 43 61 70 73 57 28 55 49 4e 54 5f 50  tDevCapsW(UINT_P
4960: 54 52 20 75 44 65 76 69 63 65 49 44 2c 20 4c 50  TR uDeviceID, LP
4970: 57 41 56 45 4f 55 54 43 41 50 53 57 20 70 77 6f  WAVEOUTCAPSW pwo
4980: 63 2c 20 55 49 4e 54 20 63 62 77 6f 63 29 3b 0d  c, UINT cbwoc);.
4990: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
49a0: 44 45 0d 0a 61 6c 69 61 73 20 77 61 76 65 4f 75  DE..alias waveOu
49b0: 74 47 65 74 44 65 76 43 61 70 73 57 20 77 61 76  tGetDevCapsW wav
49c0: 65 4f 75 74 47 65 74 44 65 76 43 61 70 73 3b 0d  eOutGetDevCaps;.
49d0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
49e0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
49f0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20   !UNICODE....// 
4a00: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
4a10: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
4a20: 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
4a30: 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69  0400)..extern(Wi
4a40: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
4a50: 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 47 65  RESULT waveOutGe
4a60: 74 56 6f 6c 75 6d 65 28 48 57 41 56 45 4f 55 54  tVolume(HWAVEOUT
4a70: 20 68 77 6f 2c 20 4c 50 44 57 4f 52 44 20 70 64   hwo, LPDWORD pd
4a80: 77 56 6f 6c 75 6d 65 29 3b 0d 0a 65 78 74 65 72  wVolume);..exter
4a90: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
4aa0: 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f  t MMRESULT waveO
4ab0: 75 74 53 65 74 56 6f 6c 75 6d 65 28 48 57 41 56  utSetVolume(HWAV
4ac0: 45 4f 55 54 20 68 77 6f 2c 20 44 57 4f 52 44 20  EOUT hwo, DWORD 
4ad0: 64 77 56 6f 6c 75 6d 65 29 3b 0d 0a 2f 2f 20 23  dwVolume);..// #
4ae0: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
4af0: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
4b00: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65  fdef _WIN32....e
4b10: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
4b20: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77  xport MMRESULT w
4b30: 61 76 65 4f 75 74 47 65 74 45 72 72 6f 72 54 65  aveOutGetErrorTe
4b40: 78 74 41 28 4d 4d 52 45 53 55 4c 54 20 6d 6d 72  xtA(MMRESULT mmr
4b50: 45 72 72 6f 72 2c 20 4c 50 53 54 52 20 70 73 7a  Error, LPSTR psz
4b60: 54 65 78 74 2c 20 55 49 4e 54 20 63 63 68 54 65  Text, UINT cchTe
4b70: 78 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  xt);..extern(Win
4b80: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
4b90: 45 53 55 4c 54 20 77 61 76 65 4f 75 74 47 65 74  ESULT waveOutGet
4ba0: 45 72 72 6f 72 54 65 78 74 57 28 4d 4d 52 45 53  ErrorTextW(MMRES
4bb0: 55 4c 54 20 6d 6d 72 45 72 72 6f 72 2c 20 4c 50  ULT mmrError, LP
4bc0: 57 53 54 52 20 70 73 7a 54 65 78 74 2c 20 55 49  WSTR pszText, UI
4bd0: 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a 2f 2f  NT cchText);..//
4be0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
4bf0: 0a 61 6c 69 61 73 20 77 61 76 65 4f 75 74 47 65  .alias waveOutGe
4c00: 74 45 72 72 6f 72 54 65 78 74 57 20 77 61 76 65  tErrorTextW wave
4c10: 4f 75 74 47 65 74 45 72 72 6f 72 54 65 78 74 3b  OutGetErrorText;
4c20: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
4c30: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
4c40: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
4c50: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
4c60: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74  // #endif....ext
4c70: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
4c80: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76  ort MMRESULT wav
4c90: 65 4f 75 74 4f 70 65 6e 28 4c 50 48 57 41 56 45  eOutOpen(LPHWAVE
4ca0: 4f 55 54 20 70 68 77 6f 2c 20 55 49 4e 54 20 75  OUT phwo, UINT u
4cb0: 44 65 76 69 63 65 49 44 2c 0d 0a 20 20 4c 50 43  DeviceID,..  LPC
4cc0: 57 41 56 45 46 4f 52 4d 41 54 45 58 20 70 77 66  WAVEFORMATEX pwf
4cd0: 78 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  x, DWORD_PTR dwC
4ce0: 61 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f 50  allback, DWORD_P
4cf0: 54 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20 44  TR dwInstance, D
4d00: 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a  WORD fdwOpen);..
4d10: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
4d20: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
4d30: 54 20 77 61 76 65 4f 75 74 43 6c 6f 73 65 28 48  T waveOutClose(H
4d40: 57 41 56 45 4f 55 54 20 68 77 6f 29 3b 0d 0a 65  WAVEOUT hwo);..e
4d50: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
4d60: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77  xport MMRESULT w
4d70: 61 76 65 4f 75 74 50 72 65 70 61 72 65 48 65 61  aveOutPrepareHea
4d80: 64 65 72 28 48 57 41 56 45 4f 55 54 20 68 77 6f  der(HWAVEOUT hwo
4d90: 2c 20 4c 50 57 41 56 45 48 44 52 20 70 77 68 2c  , LPWAVEHDR pwh,
4da0: 20 55 49 4e 54 20 63 62 77 68 29 3b 0d 0a 65 78   UINT cbwh);..ex
4db0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
4dc0: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61  port MMRESULT wa
4dd0: 76 65 4f 75 74 55 6e 70 72 65 70 61 72 65 48 65  veOutUnprepareHe
4de0: 61 64 65 72 28 48 57 41 56 45 4f 55 54 20 68 77  ader(HWAVEOUT hw
4df0: 6f 2c 20 4c 50 57 41 56 45 48 44 52 20 70 77 68  o, LPWAVEHDR pwh
4e00: 2c 20 55 49 4e 54 20 63 62 77 68 29 3b 0d 0a 65  , UINT cbwh);..e
4e10: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
4e20: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77  xport MMRESULT w
4e30: 61 76 65 4f 75 74 57 72 69 74 65 28 48 57 41 56  aveOutWrite(HWAV
4e40: 45 4f 55 54 20 68 77 6f 2c 20 4c 50 57 41 56 45  EOUT hwo, LPWAVE
4e50: 48 44 52 20 70 77 68 2c 20 55 49 4e 54 20 63 62  HDR pwh, UINT cb
4e60: 77 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  wh);..extern(Win
4e70: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
4e80: 45 53 55 4c 54 20 77 61 76 65 4f 75 74 50 61 75  ESULT waveOutPau
4e90: 73 65 28 48 57 41 56 45 4f 55 54 20 68 77 6f 29  se(HWAVEOUT hwo)
4ea0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
4eb0: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
4ec0: 4c 54 20 77 61 76 65 4f 75 74 52 65 73 74 61 72  LT waveOutRestar
4ed0: 74 28 48 57 41 56 45 4f 55 54 20 68 77 6f 29 3b  t(HWAVEOUT hwo);
4ee0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
4ef0: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
4f00: 54 20 77 61 76 65 4f 75 74 52 65 73 65 74 28 48  T waveOutReset(H
4f10: 57 41 56 45 4f 55 54 20 68 77 6f 29 3b 0d 0a 65  WAVEOUT hwo);..e
4f20: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
4f30: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77  xport MMRESULT w
4f40: 61 76 65 4f 75 74 42 72 65 61 6b 4c 6f 6f 70 28  aveOutBreakLoop(
4f50: 48 57 41 56 45 4f 55 54 20 68 77 6f 29 3b 0d 0a  HWAVEOUT hwo);..
4f60: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
4f70: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
4f80: 77 61 76 65 4f 75 74 47 65 74 50 6f 73 69 74 69  waveOutGetPositi
4f90: 6f 6e 28 48 57 41 56 45 4f 55 54 20 68 77 6f 2c  on(HWAVEOUT hwo,
4fa0: 20 4c 50 4d 4d 54 49 4d 45 20 70 6d 6d 74 2c 20   LPMMTIME pmmt, 
4fb0: 55 49 4e 54 20 63 62 6d 6d 74 29 3b 0d 0a 65 78  UINT cbmmt);..ex
4fc0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
4fd0: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61  port MMRESULT wa
4fe0: 76 65 4f 75 74 47 65 74 50 69 74 63 68 28 48 57  veOutGetPitch(HW
4ff0: 41 56 45 4f 55 54 20 68 77 6f 2c 20 4c 50 44 57  AVEOUT hwo, LPDW
5000: 4f 52 44 20 70 64 77 50 69 74 63 68 29 3b 0d 0a  ORD pdwPitch);..
5010: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
5020: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
5030: 77 61 76 65 4f 75 74 53 65 74 50 69 74 63 68 28  waveOutSetPitch(
5040: 48 57 41 56 45 4f 55 54 20 68 77 6f 2c 20 44 57  HWAVEOUT hwo, DW
5050: 4f 52 44 20 64 77 50 69 74 63 68 29 3b 0d 0a 65  ORD dwPitch);..e
5060: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
5070: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77  xport MMRESULT w
5080: 61 76 65 4f 75 74 47 65 74 50 6c 61 79 62 61 63  aveOutGetPlaybac
5090: 6b 52 61 74 65 28 48 57 41 56 45 4f 55 54 20 68  kRate(HWAVEOUT h
50a0: 77 6f 2c 20 4c 50 44 57 4f 52 44 20 70 64 77 52  wo, LPDWORD pdwR
50b0: 61 74 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ate);..extern(Wi
50c0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
50d0: 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 53 65  RESULT waveOutSe
50e0: 74 50 6c 61 79 62 61 63 6b 52 61 74 65 28 48 57  tPlaybackRate(HW
50f0: 41 56 45 4f 55 54 20 68 77 6f 2c 20 44 57 4f 52  AVEOUT hwo, DWOR
5100: 44 20 64 77 52 61 74 65 29 3b 0d 0a 65 78 74 65  D dwRate);..exte
5110: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
5120: 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65  rt MMRESULT wave
5130: 4f 75 74 47 65 74 49 44 28 48 57 41 56 45 4f 55  OutGetID(HWAVEOU
5140: 54 20 68 77 6f 2c 20 4c 50 55 49 4e 54 20 70 75  T hwo, LPUINT pu
5150: 44 65 76 69 63 65 49 44 29 3b 0d 0a 0d 0a 2f 2f  DeviceID);....//
5160: 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20   #if (WINVER >= 
5170: 30 78 30 33 30 61 29 0d 0a 2f 2f 20 23 69 66 64  0x030a)..// #ifd
5180: 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78 74 65 72  ef _WIN32..exter
5190: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
51a0: 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f  t MMRESULT waveO
51b0: 75 74 4d 65 73 73 61 67 65 28 48 57 41 56 45 4f  utMessage(HWAVEO
51c0: 55 54 20 68 77 6f 2c 20 55 49 4e 54 20 75 4d 73  UT hwo, UINT uMs
51d0: 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 31  g, DWORD_PTR dw1
51e0: 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 32 29  , DWORD_PTR dw2)
51f0: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
5200: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
5210: 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66 64  // #endif /* ifd
5220: 65 66 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  ef WINVER >= 0x0
5230: 33 30 61 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e  30a */....extern
5240: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
5250: 20 55 49 4e 54 20 77 61 76 65 49 6e 47 65 74 4e   UINT waveInGetN
5260: 75 6d 44 65 76 73 28 29 3b 0d 0a 0d 0a 2f 2f 20  umDevs();....// 
5270: 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
5280: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
5290: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
52a0: 20 77 61 76 65 49 6e 47 65 74 44 65 76 43 61 70   waveInGetDevCap
52b0: 73 41 28 55 49 4e 54 5f 50 54 52 20 75 44 65 76  sA(UINT_PTR uDev
52c0: 69 63 65 49 44 2c 20 4c 50 57 41 56 45 49 4e 43  iceID, LPWAVEINC
52d0: 41 50 53 41 20 70 77 69 63 2c 20 55 49 4e 54 20  APSA pwic, UINT 
52e0: 63 62 77 69 63 29 3b 0d 0a 65 78 74 65 72 6e 28  cbwic);..extern(
52f0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
5300: 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 49 6e 47  MMRESULT waveInG
5310: 65 74 44 65 76 43 61 70 73 57 28 55 49 4e 54 5f  etDevCapsW(UINT_
5320: 50 54 52 20 75 44 65 76 69 63 65 49 44 2c 20 4c  PTR uDeviceID, L
5330: 50 57 41 56 45 49 4e 43 41 50 53 57 20 70 77 69  PWAVEINCAPSW pwi
5340: 63 2c 20 55 49 4e 54 20 63 62 77 69 63 29 3b 0d  c, UINT cbwic);.
5350: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
5360: 44 45 0d 0a 61 6c 69 61 73 20 77 61 76 65 49 6e  DE..alias waveIn
5370: 47 65 74 44 65 76 43 61 70 73 57 20 77 61 76 65  GetDevCapsW wave
5380: 49 6e 47 65 74 44 65 76 43 61 70 73 3b 0d 0a 2f  InGetDevCaps;../
5390: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
53a0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
53b0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65  UNICODE....// #e
53c0: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
53d0: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
53e0: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78  def _WIN32....ex
53f0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
5400: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61  port MMRESULT wa
5410: 76 65 49 6e 47 65 74 45 72 72 6f 72 54 65 78 74  veInGetErrorText
5420: 41 28 4d 4d 52 45 53 55 4c 54 20 6d 6d 72 45 72  A(MMRESULT mmrEr
5430: 72 6f 72 2c 20 4c 50 53 54 52 20 70 73 7a 54 65  ror, LPSTR pszTe
5440: 78 74 2c 20 55 49 4e 54 20 63 63 68 54 65 78 74  xt, UINT cchText
5450: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
5460: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
5470: 55 4c 54 20 77 61 76 65 49 6e 47 65 74 45 72 72  ULT waveInGetErr
5480: 6f 72 54 65 78 74 57 28 4d 4d 52 45 53 55 4c 54  orTextW(MMRESULT
5490: 20 6d 6d 72 45 72 72 6f 72 2c 20 4c 50 57 53 54   mmrError, LPWST
54a0: 52 20 70 73 7a 54 65 78 74 2c 20 55 49 4e 54 20  R pszText, UINT 
54b0: 63 63 68 54 65 78 74 29 3b 0d 0a 2f 2f 20 23 69  cchText);..// #i
54c0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
54d0: 69 61 73 20 77 61 76 65 49 6e 47 65 74 45 72 72  ias waveInGetErr
54e0: 6f 72 54 65 78 74 57 20 77 61 76 65 49 6e 47 65  orTextW waveInGe
54f0: 74 45 72 72 6f 72 54 65 78 74 3b 0d 0a 2f 2f 20  tErrorText;..// 
5500: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
5510: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
5520: 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
5530: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
5540: 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ndif....extern(W
5550: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
5560: 4d 52 45 53 55 4c 54 20 77 61 76 65 49 6e 4f 70  MRESULT waveInOp
5570: 65 6e 28 4c 50 48 57 41 56 45 49 4e 20 70 68 77  en(LPHWAVEIN phw
5580: 69 2c 20 55 49 4e 54 20 75 44 65 76 69 63 65 49  i, UINT uDeviceI
5590: 44 2c 0d 0a 20 20 4c 50 43 57 41 56 45 46 4f 52  D,..  LPCWAVEFOR
55a0: 4d 41 54 45 58 20 70 77 66 78 2c 20 44 57 4f 52  MATEX pwfx, DWOR
55b0: 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b  D_PTR dwCallback
55c0: 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49 6e  , DWORD_PTR dwIn
55d0: 73 74 61 6e 63 65 2c 20 44 57 4f 52 44 20 66 64  stance, DWORD fd
55e0: 77 4f 70 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65 72  wOpen);....exter
55f0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
5600: 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 49  t MMRESULT waveI
5610: 6e 43 6c 6f 73 65 28 48 57 41 56 45 49 4e 20 68  nClose(HWAVEIN h
5620: 77 69 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  wi);..extern(Win
5630: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
5640: 45 53 55 4c 54 20 77 61 76 65 49 6e 50 72 65 70  ESULT waveInPrep
5650: 61 72 65 48 65 61 64 65 72 28 48 57 41 56 45 49  areHeader(HWAVEI
5660: 4e 20 68 77 69 2c 20 4c 50 57 41 56 45 48 44 52  N hwi, LPWAVEHDR
5670: 20 70 77 68 2c 20 55 49 4e 54 20 63 62 77 68 29   pwh, UINT cbwh)
5680: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
5690: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
56a0: 4c 54 20 77 61 76 65 49 6e 55 6e 70 72 65 70 61  LT waveInUnprepa
56b0: 72 65 48 65 61 64 65 72 28 48 57 41 56 45 49 4e  reHeader(HWAVEIN
56c0: 20 68 77 69 2c 20 4c 50 57 41 56 45 48 44 52 20   hwi, LPWAVEHDR 
56d0: 70 77 68 2c 20 55 49 4e 54 20 63 62 77 68 29 3b  pwh, UINT cbwh);
56e0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
56f0: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
5700: 54 20 77 61 76 65 49 6e 41 64 64 42 75 66 66 65  T waveInAddBuffe
5710: 72 28 48 57 41 56 45 49 4e 20 68 77 69 2c 20 4c  r(HWAVEIN hwi, L
5720: 50 57 41 56 45 48 44 52 20 70 77 68 2c 20 55 49  PWAVEHDR pwh, UI
5730: 4e 54 20 63 62 77 68 29 3b 0d 0a 65 78 74 65 72  NT cbwh);..exter
5740: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
5750: 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 49  t MMRESULT waveI
5760: 6e 53 74 61 72 74 28 48 57 41 56 45 49 4e 20 68  nStart(HWAVEIN h
5770: 77 69 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  wi);..extern(Win
5780: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
5790: 45 53 55 4c 54 20 77 61 76 65 49 6e 53 74 6f 70  ESULT waveInStop
57a0: 28 48 57 41 56 45 49 4e 20 68 77 69 29 3b 0d 0a  (HWAVEIN hwi);..
57b0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
57c0: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
57d0: 77 61 76 65 49 6e 52 65 73 65 74 28 48 57 41 56  waveInReset(HWAV
57e0: 45 49 4e 20 68 77 69 29 3b 0d 0a 65 78 74 65 72  EIN hwi);..exter
57f0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
5800: 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 49  t MMRESULT waveI
5810: 6e 47 65 74 50 6f 73 69 74 69 6f 6e 28 48 57 41  nGetPosition(HWA
5820: 56 45 49 4e 20 68 77 69 2c 20 4c 50 4d 4d 54 49  VEIN hwi, LPMMTI
5830: 4d 45 20 70 6d 6d 74 2c 20 55 49 4e 54 20 63 62  ME pmmt, UINT cb
5840: 6d 6d 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  mmt);..extern(Wi
5850: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
5860: 52 45 53 55 4c 54 20 77 61 76 65 49 6e 47 65 74  RESULT waveInGet
5870: 49 44 28 48 57 41 56 45 49 4e 20 68 77 69 2c 20  ID(HWAVEIN hwi, 
5880: 4c 50 55 49 4e 54 20 70 75 44 65 76 69 63 65 49  LPUINT puDeviceI
5890: 44 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57  D);....// #if (W
58a0: 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61 29  INVER >= 0x030a)
58b0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
58c0: 33 32 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  32..extern(Windo
58d0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
58e0: 55 4c 54 20 77 61 76 65 49 6e 4d 65 73 73 61 67  ULT waveInMessag
58f0: 65 28 48 57 41 56 45 49 4e 20 68 77 69 2c 20 55  e(HWAVEIN hwi, U
5900: 49 4e 54 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f  INT uMsg, DWORD_
5910: 50 54 52 20 64 77 31 2c 20 44 57 4f 52 44 5f 50  PTR dw1, DWORD_P
5920: 54 52 20 64 77 32 29 3b 0d 0a 2f 2f 20 23 65 6c  TR dw2);..// #el
5930: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
5940: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
5950: 20 2f 2a 20 69 66 64 65 66 20 57 49 4e 56 45 52   /* ifdef WINVER
5960: 20 3e 3d 20 30 78 30 33 30 61 20 2a 2f 0d 0a 0d   >= 0x030a */...
5970: 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69  .// #endif  /* i
5980: 66 6e 64 65 66 20 4d 4d 4e 4f 57 41 56 45 20 2a  fndef MMNOWAVE *
5990: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
59a0: 4d 4d 4e 4f 4d 49 44 49 0d 0a 0d 0a 65 6e 75 6d  MMNOMIDI....enum
59b0: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 45 52   : uint { MIDIER
59c0: 52 5f 55 4e 50 52 45 50 41 52 45 44 20 3d 20 4d  R_UNPREPARED = M
59d0: 49 44 49 45 52 52 5f 42 41 53 45 20 2b 20 30 20  IDIERR_BASE + 0 
59e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
59f0: 20 4d 49 44 49 45 52 52 5f 53 54 49 4c 4c 50 4c   MIDIERR_STILLPL
5a00: 41 59 49 4e 47 20 3d 20 4d 49 44 49 45 52 52 5f  AYING = MIDIERR_
5a10: 42 41 53 45 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d  BASE + 1 }..enum
5a20: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 45 52   : uint { MIDIER
5a30: 52 5f 4e 4f 4d 41 50 20 3d 20 4d 49 44 49 45 52  R_NOMAP = MIDIER
5a40: 52 5f 42 41 53 45 20 2b 20 32 20 7d 0d 0a 65 6e  R_BASE + 2 }..en
5a50: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49  um : uint { MIDI
5a60: 45 52 52 5f 4e 4f 54 52 45 41 44 59 20 3d 20 4d  ERR_NOTREADY = M
5a70: 49 44 49 45 52 52 5f 42 41 53 45 20 2b 20 33 20  IDIERR_BASE + 3 
5a80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5a90: 20 4d 49 44 49 45 52 52 5f 4e 4f 44 45 56 49 43   MIDIERR_NODEVIC
5aa0: 45 20 3d 20 4d 49 44 49 45 52 52 5f 42 41 53 45  E = MIDIERR_BASE
5ab0: 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 4 }..enum : u
5ac0: 69 6e 74 20 7b 20 4d 49 44 49 45 52 52 5f 49 4e  int { MIDIERR_IN
5ad0: 56 41 4c 49 44 53 45 54 55 50 20 3d 20 4d 49 44  VALIDSETUP = MID
5ae0: 49 45 52 52 5f 42 41 53 45 20 2b 20 35 20 7d 0d  IERR_BASE + 5 }.
5af0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
5b00: 49 44 49 45 52 52 5f 42 41 44 4f 50 45 4e 4d 4f  IDIERR_BADOPENMO
5b10: 44 45 20 3d 20 4d 49 44 49 45 52 52 5f 42 41 53  DE = MIDIERR_BAS
5b20: 45 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 6 }..enum : 
5b30: 75 69 6e 74 20 7b 20 4d 49 44 49 45 52 52 5f 44  uint { MIDIERR_D
5b40: 4f 4e 54 5f 43 4f 4e 54 49 4e 55 45 20 3d 20 4d  ONT_CONTINUE = M
5b50: 49 44 49 45 52 52 5f 42 41 53 45 20 2b 20 37 20  IDIERR_BASE + 7 
5b60: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5b70: 20 4d 49 44 49 45 52 52 5f 4c 41 53 54 45 52 52   MIDIERR_LASTERR
5b80: 4f 52 20 3d 20 4d 49 44 49 45 52 52 5f 42 41 53  OR = MIDIERR_BAS
5b90: 45 20 2b 20 37 20 7d 0d 0a 0d 0a 61 6c 69 61 73  E + 7 }....alias
5ba0: 20 76 6f 69 64 2a 20 48 4d 49 44 49 3b 0d 0a 61   void* HMIDI;..a
5bb0: 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 49 44 49  lias void* HMIDI
5bc0: 49 4e 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  IN;..alias void*
5bd0: 20 48 4d 49 44 49 4f 55 54 3b 0d 0a 61 6c 69 61   HMIDIOUT;..alia
5be0: 73 20 76 6f 69 64 2a 20 48 4d 49 44 49 53 54 52  s void* HMIDISTR
5bf0: 4d 3b 0d 0a 61 6c 69 61 73 20 48 4d 49 44 49 2a  M;..alias HMIDI*
5c00: 20 4c 50 48 4d 49 44 49 3b 0d 0a 61 6c 69 61 73   LPHMIDI;..alias
5c10: 20 48 4d 49 44 49 49 4e 2a 20 4c 50 48 4d 49 44   HMIDIIN* LPHMID
5c20: 49 49 4e 3b 0d 0a 61 6c 69 61 73 20 48 4d 49 44  IIN;..alias HMID
5c30: 49 4f 55 54 2a 20 4c 50 48 4d 49 44 49 4f 55 54  IOUT* LPHMIDIOUT
5c40: 3b 0d 0a 61 6c 69 61 73 20 48 4d 49 44 49 53 54  ;..alias HMIDIST
5c50: 52 4d 2a 20 4c 50 48 4d 49 44 49 53 54 52 4d 3b  RM* LPHMIDISTRM;
5c60: 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20 44 52 56  ..// typedef DRV
5c70: 43 41 4c 4c 42 41 43 4b 20 4d 49 44 49 43 41 4c  CALLBACK MIDICAL
5c80: 4c 42 41 43 4b 3b 0d 0a 61 6c 69 61 73 20 4c 50  LBACK;..alias LP
5c90: 44 52 56 43 41 4c 4c 42 41 43 4b 20 4c 50 4d 49  DRVCALLBACK LPMI
5ca0: 44 49 43 41 4c 4c 42 41 43 4b 3b 0d 0a 65 6e 75  DICALLBACK;..enu
5cb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 50  m : uint { MIDIP
5cc0: 41 54 43 48 53 49 5a 45 20 3d 20 31 32 38 20 7d  ATCHSIZE = 128 }
5cd0: 0d 0a 61 6c 69 61 73 20 57 4f 52 44 20 50 41 54  ..alias WORD PAT
5ce0: 43 48 41 52 52 41 59 5b 4d 49 44 49 50 41 54 43  CHARRAY[MIDIPATC
5cf0: 48 53 49 5a 45 5d 3b 0d 0a 61 6c 69 61 73 20 57  HSIZE];..alias W
5d00: 4f 52 44 2a 20 4c 50 50 41 54 43 48 41 52 52 41  ORD* LPPATCHARRA
5d10: 59 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44 20 4b  Y;..alias WORD K
5d20: 45 59 41 52 52 41 59 5b 4d 49 44 49 50 41 54 43  EYARRAY[MIDIPATC
5d30: 48 53 49 5a 45 5d 3b 0d 0a 61 6c 69 61 73 20 57  HSIZE];..alias W
5d40: 4f 52 44 2a 20 4c 50 4b 45 59 41 52 52 41 59 3b  ORD* LPKEYARRAY;
5d50: 0d 0a 0d 0a 61 6c 69 61 73 20 4d 4d 5f 4d 49 4d  ....alias MM_MIM
5d60: 5f 4f 50 45 4e 20 4d 49 4d 5f 4f 50 45 4e 3b 0d  _OPEN MIM_OPEN;.
5d70: 0a 61 6c 69 61 73 20 4d 4d 5f 4d 49 4d 5f 43 4c  .alias MM_MIM_CL
5d80: 4f 53 45 20 4d 49 4d 5f 43 4c 4f 53 45 3b 0d 0a  OSE MIM_CLOSE;..
5d90: 61 6c 69 61 73 20 4d 4d 5f 4d 49 4d 5f 44 41 54  alias MM_MIM_DAT
5da0: 41 20 4d 49 4d 5f 44 41 54 41 3b 0d 0a 61 6c 69  A MIM_DATA;..ali
5db0: 61 73 20 4d 4d 5f 4d 49 4d 5f 4c 4f 4e 47 44 41  as MM_MIM_LONGDA
5dc0: 54 41 20 4d 49 4d 5f 4c 4f 4e 47 44 41 54 41 3b  TA MIM_LONGDATA;
5dd0: 0d 0a 61 6c 69 61 73 20 4d 4d 5f 4d 49 4d 5f 45  ..alias MM_MIM_E
5de0: 52 52 4f 52 20 4d 49 4d 5f 45 52 52 4f 52 3b 0d  RROR MIM_ERROR;.
5df0: 0a 61 6c 69 61 73 20 4d 4d 5f 4d 49 4d 5f 4c 4f  .alias MM_MIM_LO
5e00: 4e 47 45 52 52 4f 52 20 4d 49 4d 5f 4c 4f 4e 47  NGERROR MIM_LONG
5e10: 45 52 52 4f 52 3b 0d 0a 61 6c 69 61 73 20 4d 4d  ERROR;..alias MM
5e20: 5f 4d 4f 4d 5f 4f 50 45 4e 20 4d 4f 4d 5f 4f 50  _MOM_OPEN MOM_OP
5e30: 45 4e 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f 4d 4f  EN;..alias MM_MO
5e40: 4d 5f 43 4c 4f 53 45 20 4d 4f 4d 5f 43 4c 4f 53  M_CLOSE MOM_CLOS
5e50: 45 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f 4d 4f 4d  E;..alias MM_MOM
5e60: 5f 44 4f 4e 45 20 4d 4f 4d 5f 44 4f 4e 45 3b 0d  _DONE MOM_DONE;.
5e70: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52  ...// #if(WINVER
5e80: 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 6c 69   >= 0x0400)..ali
5e90: 61 73 20 4d 4d 5f 4d 49 4d 5f 4d 4f 52 45 44 41  as MM_MIM_MOREDA
5ea0: 54 41 20 4d 49 4d 5f 4d 4f 52 45 44 41 54 41 3b  TA MIM_MOREDATA;
5eb0: 0d 0a 61 6c 69 61 73 20 4d 4d 5f 4d 4f 4d 5f 50  ..alias MM_MOM_P
5ec0: 4f 53 49 54 49 4f 4e 43 42 20 4d 4f 4d 5f 50 4f  OSITIONCB MOM_PO
5ed0: 53 49 54 49 4f 4e 43 42 3b 0d 0a 2f 2f 20 23 65  SITIONCB;..// #e
5ee0: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
5ef0: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65  = 0x0400 */....e
5f00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44  num : uint { MID
5f10: 49 4d 41 50 50 45 52 20 3d 20 63 61 73 74 28 55  IMAPPER = cast(U
5f20: 49 4e 54 29 2d 31 20 7d 0d 0a 65 6e 75 6d 20 3a  INT)-1 }..enum :
5f30: 20 75 69 6e 74 20 7b 20 4d 49 44 49 5f 4d 41 50   uint { MIDI_MAP
5f40: 50 45 52 20 3d 20 63 61 73 74 28 55 49 4e 54 29  PER = cast(UINT)
5f50: 2d 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57  -1 }....// #if(W
5f60: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29  INVER >= 0x0400)
5f70: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
5f80: 7b 20 4d 49 44 49 5f 49 4f 5f 53 54 41 54 55 53  { MIDI_IO_STATUS
5f90: 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
5fa0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
5fb0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
5fc0: 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
5fd0: 20 7b 20 4d 49 44 49 5f 43 41 43 48 45 5f 41 4c   { MIDI_CACHE_AL
5fe0: 4c 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  L = 1 }..enum : 
5ff0: 75 69 6e 74 20 7b 20 4d 49 44 49 5f 43 41 43 48  uint { MIDI_CACH
6000: 45 5f 42 45 53 54 46 49 54 20 3d 20 32 20 7d 0d  E_BESTFIT = 2 }.
6010: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
6020: 49 44 49 5f 43 41 43 48 45 5f 51 55 45 52 59 20  IDI_CACHE_QUERY 
6030: 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
6040: 6e 74 20 7b 20 4d 49 44 49 5f 55 4e 43 41 43 48  nt { MIDI_UNCACH
6050: 45 20 3d 20 34 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  E = 4 }....// #i
6060: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73  fdef _WIN32....s
6070: 74 72 75 63 74 20 74 61 67 4d 49 44 49 4f 55 54  truct tagMIDIOUT
6080: 43 41 50 53 41 20 7b 0d 0a 20 20 57 4f 52 44 20  CAPSA {..  WORD 
6090: 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50  wMid;..  WORD wP
60a0: 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e  id;..  MMVERSION
60b0: 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b   vDriverVersion;
60c0: 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d 65  ..  CHAR szPname
60d0: 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a  [MAXPNAMELEN];..
60e0: 20 20 57 4f 52 44 20 77 54 65 63 68 6e 6f 6c 6f    WORD wTechnolo
60f0: 67 79 3b 0d 0a 20 20 57 4f 52 44 20 77 56 6f 69  gy;..  WORD wVoi
6100: 63 65 73 3b 0d 0a 20 20 57 4f 52 44 20 77 4e 6f  ces;..  WORD wNo
6110: 74 65 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43 68  tes;..  WORD wCh
6120: 61 6e 6e 65 6c 4d 61 73 6b 3b 0d 0a 20 20 44 57  annelMask;..  DW
6130: 4f 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a  ORD dwSupport;..
6140: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49  }..alias tagMIDI
6150: 4f 55 54 43 41 50 53 41 20 4d 49 44 49 4f 55 54  OUTCAPSA MIDIOUT
6160: 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  CAPSA;..alias ta
6170: 67 4d 49 44 49 4f 55 54 43 41 50 53 41 2a 20 50  gMIDIOUTCAPSA* P
6180: 4d 49 44 49 4f 55 54 43 41 50 53 41 3b 0d 0a 61  MIDIOUTCAPSA;..a
6190: 6c 69 61 73 20 74 61 67 4d 49 44 49 4f 55 54 43  lias tagMIDIOUTC
61a0: 41 50 53 41 2a 20 4e 50 4d 49 44 49 4f 55 54 43  APSA* NPMIDIOUTC
61b0: 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  APSA;..alias tag
61c0: 4d 49 44 49 4f 55 54 43 41 50 53 41 2a 20 4c 50  MIDIOUTCAPSA* LP
61d0: 4d 49 44 49 4f 55 54 43 41 50 53 41 3b 0d 0a 0d  MIDIOUTCAPSA;...
61e0: 0a 73 74 72 75 63 74 20 74 61 67 4d 49 44 49 4f  .struct tagMIDIO
61f0: 55 54 43 41 50 53 57 20 7b 0d 0a 20 20 57 4f 52  UTCAPSW {..  WOR
6200: 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20  D wMid;..  WORD 
6210: 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49  wPid;..  MMVERSI
6220: 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f  ON vDriverVersio
6230: 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50 6e  n;..  WCHAR szPn
6240: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
6250: 3b 0d 0a 20 20 57 4f 52 44 20 77 54 65 63 68 6e  ;..  WORD wTechn
6260: 6f 6c 6f 67 79 3b 0d 0a 20 20 57 4f 52 44 20 77  ology;..  WORD w
6270: 56 6f 69 63 65 73 3b 0d 0a 20 20 57 4f 52 44 20  Voices;..  WORD 
6280: 77 4e 6f 74 65 73 3b 0d 0a 20 20 57 4f 52 44 20  wNotes;..  WORD 
6290: 77 43 68 61 6e 6e 65 6c 4d 61 73 6b 3b 0d 0a 20  wChannelMask;.. 
62a0: 20 44 57 4f 52 44 20 64 77 53 75 70 70 6f 72 74   DWORD dwSupport
62b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
62c0: 49 44 49 4f 55 54 43 41 50 53 57 20 4d 49 44 49  IDIOUTCAPSW MIDI
62d0: 4f 55 54 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73  OUTCAPSW;..alias
62e0: 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 57   tagMIDIOUTCAPSW
62f0: 2a 20 50 4d 49 44 49 4f 55 54 43 41 50 53 57 3b  * PMIDIOUTCAPSW;
6300: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f  ..alias tagMIDIO
6310: 55 54 43 41 50 53 57 2a 20 4e 50 4d 49 44 49 4f  UTCAPSW* NPMIDIO
6320: 55 54 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20  UTCAPSW;..alias 
6330: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 57 2a  tagMIDIOUTCAPSW*
6340: 20 4c 50 4d 49 44 49 4f 55 54 43 41 50 53 57 3b   LPMIDIOUTCAPSW;
6350: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
6360: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d 49 44  ICODE..alias MID
6370: 49 4f 55 54 43 41 50 53 57 20 4d 49 44 49 4f 55  IOUTCAPSW MIDIOU
6380: 54 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 50 4d  TCAPS;..alias PM
6390: 49 44 49 4f 55 54 43 41 50 53 57 20 50 4d 49 44  IDIOUTCAPSW PMID
63a0: 49 4f 55 54 43 41 50 53 3b 0d 0a 61 6c 69 61 73  IOUTCAPS;..alias
63b0: 20 4e 50 4d 49 44 49 4f 55 54 43 41 50 53 57 20   NPMIDIOUTCAPSW 
63c0: 4e 50 4d 49 44 49 4f 55 54 43 41 50 53 3b 0d 0a  NPMIDIOUTCAPS;..
63d0: 61 6c 69 61 73 20 4c 50 4d 49 44 49 4f 55 54 43  alias LPMIDIOUTC
63e0: 41 50 53 57 20 4c 50 4d 49 44 49 4f 55 54 43 41  APSW LPMIDIOUTCA
63f0: 50 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  PS;..// #else../
6400: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
6410: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 73 74 72   // UNICODE..str
6420: 75 63 74 20 74 61 67 4d 49 44 49 4f 55 54 43 41  uct tagMIDIOUTCA
6430: 50 53 32 41 20 7b 0d 0a 20 20 57 4f 52 44 20 77  PS2A {..  WORD w
6440: 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69  Mid;..  WORD wPi
6450: 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20  d;..  MMVERSION 
6460: 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d  vDriverVersion;.
6470: 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b  .  CHAR szPname[
6480: 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20  MAXPNAMELEN];.. 
6490: 20 57 4f 52 44 20 77 54 65 63 68 6e 6f 6c 6f 67   WORD wTechnolog
64a0: 79 3b 0d 0a 20 20 57 4f 52 44 20 77 56 6f 69 63  y;..  WORD wVoic
64b0: 65 73 3b 0d 0a 20 20 57 4f 52 44 20 77 4e 6f 74  es;..  WORD wNot
64c0: 65 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43 68 61  es;..  WORD wCha
64d0: 6e 6e 65 6c 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f  nnelMask;..  DWO
64e0: 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 20  RD dwSupport;.. 
64f0: 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72   GUID Manufactur
6500: 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20  erGuid;..  GUID 
6510: 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20  ProductGuid;..  
6520: 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a  GUID NameGuid;..
6530: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49  }..alias tagMIDI
6540: 4f 55 54 43 41 50 53 32 41 20 4d 49 44 49 4f 55  OUTCAPS2A MIDIOU
6550: 54 43 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20  TCAPS2A;..alias 
6560: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 32 41  tagMIDIOUTCAPS2A
6570: 2a 20 50 4d 49 44 49 4f 55 54 43 41 50 53 32 41  * PMIDIOUTCAPS2A
6580: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49  ;..alias tagMIDI
6590: 4f 55 54 43 41 50 53 32 41 2a 20 4e 50 4d 49 44  OUTCAPS2A* NPMID
65a0: 49 4f 55 54 43 41 50 53 32 41 3b 0d 0a 61 6c 69  IOUTCAPS2A;..ali
65b0: 61 73 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50  as tagMIDIOUTCAP
65c0: 53 32 41 2a 20 4c 50 4d 49 44 49 4f 55 54 43 41  S2A* LPMIDIOUTCA
65d0: 50 53 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  PS2A;....struct 
65e0: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 32 57  tagMIDIOUTCAPS2W
65f0: 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b   {..  WORD wMid;
6600: 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a  ..  WORD wPid;..
6610: 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69    MMVERSION vDri
6620: 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57  verVersion;..  W
6630: 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58  CHAR szPname[MAX
6640: 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57 4f  PNAMELEN];..  WO
6650: 52 44 20 77 54 65 63 68 6e 6f 6c 6f 67 79 3b 0d  RD wTechnology;.
6660: 0a 20 20 57 4f 52 44 20 77 56 6f 69 63 65 73 3b  .  WORD wVoices;
6670: 0d 0a 20 20 57 4f 52 44 20 77 4e 6f 74 65 73 3b  ..  WORD wNotes;
6680: 0d 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e 65  ..  WORD wChanne
6690: 6c 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20  lMask;..  DWORD 
66a0: 64 77 53 75 70 70 6f 72 74 3b 0d 0a 20 20 47 55  dwSupport;..  GU
66b0: 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72 47  ID ManufacturerG
66c0: 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f  uid;..  GUID Pro
66d0: 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55 49  ductGuid;..  GUI
66e0: 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a  D NameGuid;..}..
66f0: 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f 55 54  alias tagMIDIOUT
6700: 43 41 50 53 32 57 20 4d 49 44 49 4f 55 54 43 41  CAPS2W MIDIOUTCA
6710: 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2W;..alias tag
6720: 4d 49 44 49 4f 55 54 43 41 50 53 32 57 2a 20 50  MIDIOUTCAPS2W* P
6730: 4d 49 44 49 4f 55 54 43 41 50 53 32 57 3b 0d 0a  MIDIOUTCAPS2W;..
6740: 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f 55 54  alias tagMIDIOUT
6750: 43 41 50 53 32 57 2a 20 4e 50 4d 49 44 49 4f 55  CAPS2W* NPMIDIOU
6760: 54 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20  TCAPS2W;..alias 
6770: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 32 57  tagMIDIOUTCAPS2W
6780: 2a 20 4c 50 4d 49 44 49 4f 55 54 43 41 50 53 32  * LPMIDIOUTCAPS2
6790: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
67a0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d  UNICODE..alias M
67b0: 49 44 49 4f 55 54 43 41 50 53 32 57 20 4d 49 44  IDIOUTCAPS2W MID
67c0: 49 4f 55 54 43 41 50 53 32 3b 0d 0a 61 6c 69 61  IOUTCAPS2;..alia
67d0: 73 20 50 4d 49 44 49 4f 55 54 43 41 50 53 32 57  s PMIDIOUTCAPS2W
67e0: 20 50 4d 49 44 49 4f 55 54 43 41 50 53 32 3b 0d   PMIDIOUTCAPS2;.
67f0: 0a 61 6c 69 61 73 20 4e 50 4d 49 44 49 4f 55 54  .alias NPMIDIOUT
6800: 43 41 50 53 32 57 20 4e 50 4d 49 44 49 4f 55 54  CAPS2W NPMIDIOUT
6810: 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4c 50  CAPS2;..alias LP
6820: 4d 49 44 49 4f 55 54 43 41 50 53 32 57 20 4c 50  MIDIOUTCAPS2W LP
6830: 4d 49 44 49 4f 55 54 43 41 50 53 32 3b 0d 0a 2f  MIDIOUTCAPS2;../
6840: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
6850: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
6860: 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
6870: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
6880: 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ndif....enum : u
6890: 69 6e 74 20 7b 20 4d 4f 44 5f 4d 49 44 49 50 4f  int { MOD_MIDIPO
68a0: 52 54 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  RT = 1 }..enum :
68b0: 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 53 59 4e 54   uint { MOD_SYNT
68c0: 48 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  H = 2 }..enum : 
68d0: 75 69 6e 74 20 7b 20 4d 4f 44 5f 53 51 53 59 4e  uint { MOD_SQSYN
68e0: 54 48 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  TH = 3 }..enum :
68f0: 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 46 4d 53 59   uint { MOD_FMSY
6900: 4e 54 48 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20  NTH = 4 }..enum 
6910: 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 4d 41 50  : uint { MOD_MAP
6920: 50 45 52 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20  PER = 5 }..enum 
6930: 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f 57 41 56  : uint { MOD_WAV
6940: 45 54 41 42 4c 45 20 3d 20 36 20 7d 0d 0a 65 6e  ETABLE = 6 }..en
6950: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4f 44 5f  um : uint { MOD_
6960: 53 57 53 59 4e 54 48 20 3d 20 37 20 7d 0d 0a 0d  SWSYNTH = 7 }...
6970: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
6980: 49 44 49 43 41 50 53 5f 56 4f 4c 55 4d 45 20 3d  IDICAPS_VOLUME =
6990: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
69a0: 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 43 41 50  : uint { MIDICAP
69b0: 53 5f 4c 52 56 4f 4c 55 4d 45 20 3d 20 30 78 30  S_LRVOLUME = 0x0
69c0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
69d0: 6e 74 20 7b 20 4d 49 44 49 43 41 50 53 5f 43 41  nt { MIDICAPS_CA
69e0: 43 48 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a  CHE = 0x0004 }..
69f0: 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d  // #if(WINVER >=
6a00: 20 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a   0x0400)..enum :
6a10: 20 75 69 6e 74 20 7b 20 4d 49 44 49 43 41 50 53   uint { MIDICAPS
6a20: 5f 53 54 52 45 41 4d 20 3d 20 30 78 30 30 30 38  _STREAM = 0x0008
6a30: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a   }..// #endif /*
6a40: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
6a50: 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  0 */....// #ifde
6a60: 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
6a70: 63 74 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53  ct tagMIDIINCAPS
6a80: 41 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64  A {..  WORD wMid
6a90: 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d  ;..  WORD wPid;.
6aa0: 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72  .  MMVERSION vDr
6ab0: 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  iverVersion;..  
6ac0: 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58  CHAR szPname[MAX
6ad0: 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 2f 2f 20 23  PNAMELEN];..// #
6ae0: 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
6af0: 30 34 30 30 29 0d 0a 20 20 44 57 4f 52 44 20 64  0400)..  DWORD d
6b00: 77 53 75 70 70 6f 72 74 3b 0d 0a 2f 2f 20 23 65  wSupport;..// #e
6b10: 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ndif..}..alias t
6b20: 61 67 4d 49 44 49 49 4e 43 41 50 53 41 20 4d 49  agMIDIINCAPSA MI
6b30: 44 49 49 4e 43 41 50 53 41 3b 0d 0a 61 6c 69 61  DIINCAPSA;..alia
6b40: 73 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53 41  s tagMIDIINCAPSA
6b50: 2a 20 50 4d 49 44 49 49 4e 43 41 50 53 41 3b 0d  * PMIDIINCAPSA;.
6b60: 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e  .alias tagMIDIIN
6b70: 43 41 50 53 41 2a 20 4e 50 4d 49 44 49 49 4e 43  CAPSA* NPMIDIINC
6b80: 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  APSA;..alias tag
6b90: 4d 49 44 49 49 4e 43 41 50 53 41 2a 20 4c 50 4d  MIDIINCAPSA* LPM
6ba0: 49 44 49 49 4e 43 41 50 53 41 3b 0d 0a 0d 0a 73  IDIINCAPSA;....s
6bb0: 74 72 75 63 74 20 74 61 67 4d 49 44 49 49 4e 43  truct tagMIDIINC
6bc0: 41 50 53 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77  APSW {..  WORD w
6bd0: 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69  Mid;..  WORD wPi
6be0: 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20  d;..  MMVERSION 
6bf0: 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d  vDriverVersion;.
6c00: 0a 20 20 57 43 48 41 52 20 73 7a 50 6e 61 6d 65  .  WCHAR szPname
6c10: 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a  [MAXPNAMELEN];..
6c20: 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e  // #if (WINVER >
6c30: 3d 20 30 78 30 34 30 30 29 0d 0a 20 20 44 57 4f  = 0x0400)..  DWO
6c40: 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 2f  RD dwSupport;../
6c50: 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d 0a 61 6c 69  / #endif..}..ali
6c60: 61 73 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53  as tagMIDIINCAPS
6c70: 57 20 4d 49 44 49 49 4e 43 41 50 53 57 3b 0d 0a  W MIDIINCAPSW;..
6c80: 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e 43  alias tagMIDIINC
6c90: 41 50 53 57 2a 20 50 4d 49 44 49 49 4e 43 41 50  APSW* PMIDIINCAP
6ca0: 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  SW;..alias tagMI
6cb0: 44 49 49 4e 43 41 50 53 57 2a 20 4e 50 4d 49 44  DIINCAPSW* NPMID
6cc0: 49 49 4e 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73  IINCAPSW;..alias
6cd0: 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53 57 2a   tagMIDIINCAPSW*
6ce0: 20 4c 50 4d 49 44 49 49 4e 43 41 50 53 57 3b 0d   LPMIDIINCAPSW;.
6cf0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
6d00: 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d 49 44 49  CODE..alias MIDI
6d10: 49 4e 43 41 50 53 57 20 4d 49 44 49 49 4e 43 41  INCAPSW MIDIINCA
6d20: 50 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 44 49  PS;..alias PMIDI
6d30: 49 4e 43 41 50 53 57 20 50 4d 49 44 49 49 4e 43  INCAPSW PMIDIINC
6d40: 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4e 50 4d 49  APS;..alias NPMI
6d50: 44 49 49 4e 43 41 50 53 57 20 4e 50 4d 49 44 49  DIINCAPSW NPMIDI
6d60: 49 4e 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4c  INCAPS;..alias L
6d70: 50 4d 49 44 49 49 4e 43 41 50 53 57 20 4c 50 4d  PMIDIINCAPSW LPM
6d80: 49 44 49 49 4e 43 41 50 53 3b 0d 0a 2f 2f 20 23  IDIINCAPS;..// #
6d90: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
6da0: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
6db0: 44 45 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49  DE..struct tagMI
6dc0: 44 49 49 4e 43 41 50 53 32 41 20 7b 0d 0a 20 20  DIINCAPS2A {..  
6dd0: 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f  WORD wMid;..  WO
6de0: 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45  RD wPid;..  MMVE
6df0: 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72  RSION vDriverVer
6e00: 73 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a  sion;..  CHAR sz
6e10: 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45  Pname[MAXPNAMELE
6e20: 4e 5d 3b 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e  N];..// #if (WIN
6e30: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
6e40: 20 20 44 57 4f 52 44 20 64 77 53 75 70 70 6f 72    DWORD dwSuppor
6e50: 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20  t;..// #endif.. 
6e60: 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72   GUID Manufactur
6e70: 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20  erGuid;..  GUID 
6e80: 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20  ProductGuid;..  
6e90: 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a  GUID NameGuid;..
6ea0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49  }..alias tagMIDI
6eb0: 49 4e 43 41 50 53 32 41 20 4d 49 44 49 49 4e 43  INCAPS2A MIDIINC
6ec0: 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61  APS2A;..alias ta
6ed0: 67 4d 49 44 49 49 4e 43 41 50 53 32 41 2a 20 50  gMIDIINCAPS2A* P
6ee0: 4d 49 44 49 49 4e 43 41 50 53 32 41 3b 0d 0a 61  MIDIINCAPS2A;..a
6ef0: 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e 43 41  lias tagMIDIINCA
6f00: 50 53 32 41 2a 20 4e 50 4d 49 44 49 49 4e 43 41  PS2A* NPMIDIINCA
6f10: 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2A;..alias tag
6f20: 4d 49 44 49 49 4e 43 41 50 53 32 41 2a 20 4c 50  MIDIINCAPS2A* LP
6f30: 4d 49 44 49 49 4e 43 41 50 53 32 41 3b 0d 0a 0d  MIDIINCAPS2A;...
6f40: 0a 73 74 72 75 63 74 20 74 61 67 4d 49 44 49 49  .struct tagMIDII
6f50: 4e 43 41 50 53 32 57 20 7b 0d 0a 20 20 57 4f 52  NCAPS2W {..  WOR
6f60: 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20  D wMid;..  WORD 
6f70: 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49  wPid;..  MMVERSI
6f80: 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f  ON vDriverVersio
6f90: 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50 6e  n;..  WCHAR szPn
6fa0: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
6fb0: 3b 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45  ;..// #if (WINVE
6fc0: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 20 20  R >= 0x0400)..  
6fd0: 44 57 4f 52 44 20 64 77 53 75 70 70 6f 72 74 3b  DWORD dwSupport;
6fe0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 47  ..// #endif..  G
6ff0: 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72  UID Manufacturer
7000: 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72  Guid;..  GUID Pr
7010: 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55  oductGuid;..  GU
7020: 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d  ID NameGuid;..}.
7030: 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e  .alias tagMIDIIN
7040: 43 41 50 53 32 57 20 4d 49 44 49 49 4e 43 41 50  CAPS2W MIDIINCAP
7050: 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  S2W;..alias tagM
7060: 49 44 49 49 4e 43 41 50 53 32 57 2a 20 50 4d 49  IDIINCAPS2W* PMI
7070: 44 49 49 4e 43 41 50 53 32 57 3b 0d 0a 61 6c 69  DIINCAPS2W;..ali
7080: 61 73 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53  as tagMIDIINCAPS
7090: 32 57 2a 20 4e 50 4d 49 44 49 49 4e 43 41 50 53  2W* NPMIDIINCAPS
70a0: 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  2W;..alias tagMI
70b0: 44 49 49 4e 43 41 50 53 32 57 2a 20 4c 50 4d 49  DIINCAPS2W* LPMI
70c0: 44 49 49 4e 43 41 50 53 32 57 3b 0d 0a 0d 0a 2f  DIINCAPS2W;..../
70d0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
70e0: 0d 0a 61 6c 69 61 73 20 4d 49 44 49 49 4e 43 41  ..alias MIDIINCA
70f0: 50 53 32 57 20 4d 49 44 49 49 4e 43 41 50 53 32  PS2W MIDIINCAPS2
7100: 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 44 49 49 4e  ;..alias PMIDIIN
7110: 43 41 50 53 32 57 20 50 4d 49 44 49 49 4e 43 41  CAPS2W PMIDIINCA
7120: 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4e 50 4d 49  PS2;..alias NPMI
7130: 44 49 49 4e 43 41 50 53 32 57 20 4e 50 4d 49 44  DIINCAPS2W NPMID
7140: 49 49 4e 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73  IINCAPS2;..alias
7150: 20 4c 50 4d 49 44 49 49 4e 43 41 50 53 32 57 20   LPMIDIINCAPS2W 
7160: 4c 50 4d 49 44 49 49 4e 43 41 50 53 32 3b 0d 0a  LPMIDIINCAPS2;..
7170: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
7180: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
7190: 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c  NICODE....// #el
71a0: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
71b0: 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
71c0: 30 34 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  0400)..// ...../
71d0: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 2e 2e 2e  / #endif..// ...
71e0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
71f0: 74 72 75 63 74 20 6d 69 64 69 68 64 72 5f 74 61  truct midihdr_ta
7200: 67 20 7b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 44  g {..  LPSTR lpD
7210: 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ata;..  DWORD dw
7220: 42 75 66 66 65 72 4c 65 6e 67 74 68 3b 0d 0a 20  BufferLength;.. 
7230: 20 44 57 4f 52 44 20 64 77 42 79 74 65 73 52 65   DWORD dwBytesRe
7240: 63 6f 72 64 65 64 3b 0d 0a 20 20 44 57 4f 52 44  corded;..  DWORD
7250: 5f 50 54 52 20 64 77 55 73 65 72 3b 0d 0a 20 20  _PTR dwUser;..  
7260: 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
7270: 20 20 6d 69 64 69 68 64 72 5f 74 61 67 20 2a 6c    midihdr_tag *l
7280: 70 4e 65 78 74 3b 0d 0a 20 20 44 57 4f 52 44 5f  pNext;..  DWORD_
7290: 50 54 52 20 72 65 73 65 72 76 65 64 3b 0d 0a 2f  PTR reserved;../
72a0: 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  / #if (WINVER >=
72b0: 20 30 78 30 34 30 30 29 0d 0a 20 20 44 57 4f 52   0x0400)..  DWOR
72c0: 44 20 64 77 4f 66 66 73 65 74 3b 0d 0a 20 20 44  D dwOffset;..  D
72d0: 57 4f 52 44 5f 50 54 52 20 64 77 52 65 73 65 72  WORD_PTR dwReser
72e0: 76 65 64 5b 38 5d 3b 0d 0a 2f 2f 20 23 65 6e 64  ved[8];..// #end
72f0: 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6d 69 64  if..}..alias mid
7300: 69 68 64 72 5f 74 61 67 20 4d 49 44 49 48 44 52  ihdr_tag MIDIHDR
7310: 3b 0d 0a 61 6c 69 61 73 20 6d 69 64 69 68 64 72  ;..alias midihdr
7320: 5f 74 61 67 2a 20 50 4d 49 44 49 48 44 52 3b 0d  _tag* PMIDIHDR;.
7330: 0a 61 6c 69 61 73 20 6d 69 64 69 68 64 72 5f 74  .alias midihdr_t
7340: 61 67 2a 20 4e 50 4d 49 44 49 48 44 52 3b 0d 0a  ag* NPMIDIHDR;..
7350: 61 6c 69 61 73 20 6d 69 64 69 68 64 72 5f 74 61  alias midihdr_ta
7360: 67 2a 20 4c 50 4d 49 44 49 48 44 52 3b 0d 0a 0d  g* LPMIDIHDR;...
7370: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
7380: 3d 20 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63  = 0x0400)..struc
7390: 74 20 6d 69 64 69 65 76 65 6e 74 5f 74 61 67 20  t midievent_tag 
73a0: 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 65 6c  {..  DWORD dwDel
73b0: 74 61 54 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44  taTime;..  DWORD
73c0: 20 64 77 53 74 72 65 61 6d 49 44 3b 0d 0a 20 20   dwStreamID;..  
73d0: 44 57 4f 52 44 20 64 77 45 76 65 6e 74 3b 0d 0a  DWORD dwEvent;..
73e0: 20 20 44 57 4f 52 44 20 64 77 50 61 72 6d 73 5b    DWORD dwParms[
73f0: 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6d 69  1];..}..alias mi
7400: 64 69 65 76 65 6e 74 5f 74 61 67 20 4d 49 44 49  dievent_tag MIDI
7410: 45 56 45 4e 54 3b 0d 0a 0d 0a 73 74 72 75 63 74  EVENT;....struct
7420: 20 6d 69 64 69 73 74 72 6d 62 75 66 66 76 65 72   midistrmbuffver
7430: 5f 74 61 67 20 7b 0d 0a 20 20 44 57 4f 52 44 20  _tag {..  DWORD 
7440: 64 77 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  dwVersion;..  DW
7450: 4f 52 44 20 64 77 4d 69 64 3b 0d 0a 20 20 44 57  ORD dwMid;..  DW
7460: 4f 52 44 20 64 77 4f 45 4d 56 65 72 73 69 6f 6e  ORD dwOEMVersion
7470: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6d 69 64 69  ;..}..alias midi
7480: 73 74 72 6d 62 75 66 66 76 65 72 5f 74 61 67 20  strmbuffver_tag 
7490: 4d 49 44 49 53 54 52 4d 42 55 46 46 56 45 52 3b  MIDISTRMBUFFVER;
74a0: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
74b0: 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30   WINVER >= 0x040
74c0: 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  0 */....enum : u
74d0: 69 6e 74 20 7b 20 4d 48 44 52 5f 44 4f 4e 45 20  int { MHDR_DONE 
74e0: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
74f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 48  enum : uint { MH
7500: 44 52 5f 50 52 45 50 41 52 45 44 20 3d 20 30 78  DR_PREPARED = 0x
7510: 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  00000002 }..enum
7520: 20 3a 20 75 69 6e 74 20 7b 20 4d 48 44 52 5f 49   : uint { MHDR_I
7530: 4e 51 55 45 55 45 20 3d 20 30 78 30 30 30 30 30  NQUEUE = 0x00000
7540: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
7550: 6e 74 20 7b 20 4d 48 44 52 5f 49 53 53 54 52 4d  nt { MHDR_ISSTRM
7560: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
7570: 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
7580: 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e 75  = 0x0400)....enu
7590: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45 56 54 5f  m : uint { MEVT_
75a0: 46 5f 53 48 4f 52 54 20 3d 20 30 78 30 30 30 30  F_SHORT = 0x0000
75b0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
75c0: 69 6e 74 20 7b 20 4d 45 56 54 5f 46 5f 4c 4f 4e  int { MEVT_F_LON
75d0: 47 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  G = 0x80000000 }
75e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
75f0: 4d 45 56 54 5f 46 5f 43 41 4c 4c 42 41 43 4b 20  MEVT_F_CALLBACK 
7600: 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
7610: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 45 56  ..// #define MEV
7620: 54 5f 45 56 45 4e 54 54 59 50 45 28 78 29 20 28  T_EVENTTYPE(x) (
7630: 28 42 59 54 45 29 28 28 28 78 29 3e 3e 32 34 29  (BYTE)(((x)>>24)
7640: 26 30 78 46 46 29 29 0d 0a 2f 2f 20 23 64 65 66  &0xFF))..// #def
7650: 69 6e 65 20 4d 45 56 54 5f 45 56 45 4e 54 50 41  ine MEVT_EVENTPA
7660: 52 4d 28 78 29 20 28 28 44 57 4f 52 44 29 28 28  RM(x) ((DWORD)((
7670: 78 29 26 30 78 30 30 46 46 46 46 46 46 4c 29 29  x)&0x00FFFFFFL))
7680: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
7690: 7b 20 4d 45 56 54 5f 53 48 4f 52 54 4d 53 47 20  { MEVT_SHORTMSG 
76a0: 3d 20 63 61 73 74 28 42 59 54 45 29 30 78 30 30  = cast(BYTE)0x00
76b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
76c0: 7b 20 4d 45 56 54 5f 54 45 4d 50 4f 20 3d 20 63  { MEVT_TEMPO = c
76d0: 61 73 74 28 42 59 54 45 29 30 78 30 31 20 7d 0d  ast(BYTE)0x01 }.
76e0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
76f0: 45 56 54 5f 4e 4f 50 20 3d 20 63 61 73 74 28 42  EVT_NOP = cast(B
7700: 59 54 45 29 30 78 30 32 20 7d 0d 0a 0d 0a 65 6e  YTE)0x02 }....en
7710: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45 56 54  um : uint { MEVT
7720: 5f 4c 4f 4e 47 4d 53 47 20 3d 20 63 61 73 74 28  _LONGMSG = cast(
7730: 42 59 54 45 29 30 78 38 30 20 7d 0d 0a 65 6e 75  BYTE)0x80 }..enu
7740: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 45 56 54 5f  m : uint { MEVT_
7750: 43 4f 4d 4d 45 4e 54 20 3d 20 63 61 73 74 28 42  COMMENT = cast(B
7760: 59 54 45 29 30 78 38 32 20 7d 0d 0a 65 6e 75 6d  YTE)0x82 }..enum
7770: 20 3a 20 75 69 6e 74 20 7b 20 4d 45 56 54 5f 56   : uint { MEVT_V
7780: 45 52 53 49 4f 4e 20 3d 20 63 61 73 74 28 42 59  ERSION = cast(BY
7790: 54 45 29 30 78 38 34 20 7d 0d 0a 0d 0a 65 6e 75  TE)0x84 }....enu
77a0: 6d 20 7b 20 4d 49 44 49 53 54 52 4d 5f 45 52 52  m { MIDISTRM_ERR
77b0: 4f 52 20 3d 20 2d 32 20 7d 0d 0a 0d 0a 65 6e 75  OR = -2 }....enu
77c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 50  m : uint { MIDIP
77d0: 52 4f 50 5f 53 45 54 20 3d 20 30 78 38 30 30 30  ROP_SET = 0x8000
77e0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
77f0: 69 6e 74 20 7b 20 4d 49 44 49 50 52 4f 50 5f 47  int { MIDIPROP_G
7800: 45 54 20 3d 20 30 78 34 30 30 30 30 30 30 30 20  ET = 0x40000000 
7810: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
7820: 20 7b 20 4d 49 44 49 50 52 4f 50 5f 54 49 4d 45   { MIDIPROP_TIME
7830: 44 49 56 20 3d 20 30 78 30 30 30 30 30 30 30 31  DIV = 0x00000001
7840: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
7850: 7b 20 4d 49 44 49 50 52 4f 50 5f 54 45 4d 50 4f  { MIDIPROP_TEMPO
7860: 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
7870: 0a 0d 0a 73 74 72 75 63 74 20 6d 69 64 69 70 72  ...struct midipr
7880: 6f 70 74 69 6d 65 64 69 76 5f 74 61 67 20 7b 0d  optimediv_tag {.
7890: 0a 20 20 44 57 4f 52 44 20 63 62 53 74 72 75 63  .  DWORD cbStruc
78a0: 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69  t;..  DWORD dwTi
78b0: 6d 65 44 69 76 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  meDiv;..}..alias
78c0: 20 6d 69 64 69 70 72 6f 70 74 69 6d 65 64 69 76   midiproptimediv
78d0: 5f 74 61 67 20 4d 49 44 49 50 52 4f 50 54 49 4d  _tag MIDIPROPTIM
78e0: 45 44 49 56 3b 0d 0a 61 6c 69 61 73 20 6d 69 64  EDIV;..alias mid
78f0: 69 70 72 6f 70 74 69 6d 65 64 69 76 5f 74 61 67  iproptimediv_tag
7900: 2a 20 4c 50 4d 49 44 49 50 52 4f 50 54 49 4d 45  * LPMIDIPROPTIME
7910: 44 49 56 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 6d  DIV;....struct m
7920: 69 64 69 70 72 6f 70 74 65 6d 70 6f 5f 74 61 67  idiproptempo_tag
7930: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 74   {..  DWORD cbSt
7940: 72 75 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64  ruct;..  DWORD d
7950: 77 54 65 6d 70 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61  wTempo;..}..alia
7960: 73 20 6d 69 64 69 70 72 6f 70 74 65 6d 70 6f 5f  s midiproptempo_
7970: 74 61 67 20 4d 49 44 49 50 52 4f 50 54 45 4d 50  tag MIDIPROPTEMP
7980: 4f 3b 0d 0a 61 6c 69 61 73 20 6d 69 64 69 70 72  O;..alias midipr
7990: 6f 70 74 65 6d 70 6f 5f 74 61 67 2a 20 4c 50 4d  optempo_tag* LPM
79a0: 49 44 49 50 52 4f 50 54 45 4d 50 4f 3b 0d 0a 0d  IDIPROPTEMPO;...
79b0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
79c0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
79d0: 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
79e0: 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54  ows) export UINT
79f0: 20 6d 69 64 69 4f 75 74 47 65 74 4e 75 6d 44 65   midiOutGetNumDe
7a00: 76 73 28 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49  vs();..// #if(WI
7a10: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
7a20: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
7a30: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
7a40: 20 6d 69 64 69 53 74 72 65 61 6d 4f 70 65 6e 28   midiStreamOpen(
7a50: 4c 50 48 4d 49 44 49 53 54 52 4d 20 70 68 6d 73  LPHMIDISTRM phms
7a60: 2c 20 4c 50 55 49 4e 54 20 70 75 44 65 76 69 63  , LPUINT puDevic
7a70: 65 49 44 2c 20 44 57 4f 52 44 20 63 4d 69 64 69  eID, DWORD cMidi
7a80: 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61  , DWORD_PTR dwCa
7a90: 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f 50 54  llback, DWORD_PT
7aa0: 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20 44 57  R dwInstance, DW
7ab0: 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a 65  ORD fdwOpen);..e
7ac0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
7ad0: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
7ae0: 69 64 69 53 74 72 65 61 6d 43 6c 6f 73 65 28 48  idiStreamClose(H
7af0: 4d 49 44 49 53 54 52 4d 20 68 6d 73 29 3b 0d 0a  MIDISTRM hms);..
7b00: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
7b10: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
7b20: 54 20 6d 69 64 69 53 74 72 65 61 6d 50 72 6f 70  T midiStreamProp
7b30: 65 72 74 79 28 48 4d 49 44 49 53 54 52 4d 20 68  erty(HMIDISTRM h
7b40: 6d 73 2c 20 4c 50 42 59 54 45 20 6c 70 70 72 6f  ms, LPBYTE lppro
7b50: 70 64 61 74 61 2c 20 44 57 4f 52 44 20 64 77 50  pdata, DWORD dwP
7b60: 72 6f 70 65 72 74 79 29 3b 0d 0a 65 78 74 65 72  roperty);..exter
7b70: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
7b80: 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 53  t MMRESULT midiS
7b90: 74 72 65 61 6d 50 6f 73 69 74 69 6f 6e 28 48 4d  treamPosition(HM
7ba0: 49 44 49 53 54 52 4d 20 68 6d 73 2c 20 4c 50 4d  IDISTRM hms, LPM
7bb0: 4d 54 49 4d 45 20 6c 70 6d 6d 74 2c 20 55 49 4e  MTIME lpmmt, UIN
7bc0: 54 20 63 62 6d 6d 74 29 3b 0d 0a 0d 0a 65 78 74  T cbmmt);....ext
7bd0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7be0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64  ort MMRESULT mid
7bf0: 69 53 74 72 65 61 6d 4f 75 74 28 48 4d 49 44 49  iStreamOut(HMIDI
7c00: 53 54 52 4d 20 68 6d 73 2c 20 4c 50 4d 49 44 49  STRM hms, LPMIDI
7c10: 48 44 52 20 70 6d 68 2c 20 55 49 4e 54 20 63 62  HDR pmh, UINT cb
7c20: 6d 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  mh);..extern(Win
7c30: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
7c40: 45 53 55 4c 54 20 6d 69 64 69 53 74 72 65 61 6d  ESULT midiStream
7c50: 50 61 75 73 65 28 48 4d 49 44 49 53 54 52 4d 20  Pause(HMIDISTRM 
7c60: 68 6d 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  hms);..extern(Wi
7c70: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
7c80: 52 45 53 55 4c 54 20 6d 69 64 69 53 74 72 65 61  RESULT midiStrea
7c90: 6d 52 65 73 74 61 72 74 28 48 4d 49 44 49 53 54  mRestart(HMIDIST
7ca0: 52 4d 20 68 6d 73 29 3b 0d 0a 65 78 74 65 72 6e  RM hms);..extern
7cb0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
7cc0: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 53 74   MMRESULT midiSt
7cd0: 72 65 61 6d 53 74 6f 70 28 48 4d 49 44 49 53 54  reamStop(HMIDIST
7ce0: 52 4d 20 68 6d 73 29 3b 0d 0a 0d 0a 2f 2f 20 23  RM hms);....// #
7cf0: 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78  ifdef _WIN32..ex
7d00: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7d10: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
7d20: 64 69 43 6f 6e 6e 65 63 74 28 48 4d 49 44 49 20  diConnect(HMIDI 
7d30: 68 6d 69 2c 20 48 4d 49 44 49 4f 55 54 20 68 6d  hmi, HMIDIOUT hm
7d40: 6f 2c 20 4c 50 56 4f 49 44 20 70 52 65 73 65 72  o, LPVOID pReser
7d50: 76 65 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ved);..extern(Wi
7d60: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
7d70: 52 45 53 55 4c 54 20 6d 69 64 69 44 69 73 63 6f  RESULT midiDisco
7d80: 6e 6e 65 63 74 28 48 4d 49 44 49 20 68 6d 69 2c  nnect(HMIDI hmi,
7d90: 20 48 4d 49 44 49 4f 55 54 20 68 6d 6f 2c 20 4c   HMIDIOUT hmo, L
7da0: 50 56 4f 49 44 20 70 52 65 73 65 72 76 65 64 29  PVOID pReserved)
7db0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  ;..// #endif..//
7dc0: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
7dd0: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
7de0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
7df0: 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  32....extern(Win
7e00: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
7e10: 45 53 55 4c 54 20 6d 69 64 69 4f 75 74 47 65 74  ESULT midiOutGet
7e20: 44 65 76 43 61 70 73 41 28 55 49 4e 54 5f 50 54  DevCapsA(UINT_PT
7e30: 52 20 75 44 65 76 69 63 65 49 44 2c 20 4c 50 4d  R uDeviceID, LPM
7e40: 49 44 49 4f 55 54 43 41 50 53 41 20 70 6d 6f 63  IDIOUTCAPSA pmoc
7e50: 2c 20 55 49 4e 54 20 63 62 6d 6f 63 29 3b 0d 0a  , UINT cbmoc);..
7e60: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
7e70: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
7e80: 6d 69 64 69 4f 75 74 47 65 74 44 65 76 43 61 70  midiOutGetDevCap
7e90: 73 57 28 55 49 4e 54 5f 50 54 52 20 75 44 65 76  sW(UINT_PTR uDev
7ea0: 69 63 65 49 44 2c 20 4c 50 4d 49 44 49 4f 55 54  iceID, LPMIDIOUT
7eb0: 43 41 50 53 57 20 70 6d 6f 63 2c 20 55 49 4e 54  CAPSW pmoc, UINT
7ec0: 20 63 62 6d 6f 63 29 3b 0d 0a 2f 2f 20 23 69 66   cbmoc);..// #if
7ed0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
7ee0: 61 73 20 6d 69 64 69 4f 75 74 47 65 74 44 65 76  as midiOutGetDev
7ef0: 43 61 70 73 57 20 6d 69 64 69 4f 75 74 47 65 74  CapsW midiOutGet
7f00: 44 65 76 43 61 70 73 3b 0d 0a 2f 2f 20 23 65 6c  DevCaps;..// #el
7f10: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
7f20: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
7f30: 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  DE....// #else..
7f40: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
7f50: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e  f....// #if (WIN
7f60: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a  VER >= 0x0400)..
7f70: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
7f80: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
7f90: 6d 69 64 69 4f 75 74 47 65 74 56 6f 6c 75 6d 65  midiOutGetVolume
7fa0: 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f 2c 20 4c  (HMIDIOUT hmo, L
7fb0: 50 44 57 4f 52 44 20 70 64 77 56 6f 6c 75 6d 65  PDWORD pdwVolume
7fc0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
7fd0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
7fe0: 55 4c 54 20 6d 69 64 69 4f 75 74 53 65 74 56 6f  ULT midiOutSetVo
7ff0: 6c 75 6d 65 28 48 4d 49 44 49 4f 55 54 20 68 6d  lume(HMIDIOUT hm
8000: 6f 2c 20 44 57 4f 52 44 20 64 77 56 6f 6c 75 6d  o, DWORD dwVolum
8010: 65 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  e);..// #else../
8020: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
8030: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
8040: 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  IN32....extern(W
8050: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
8060: 4d 52 45 53 55 4c 54 20 6d 69 64 69 4f 75 74 47  MRESULT midiOutG
8070: 65 74 45 72 72 6f 72 54 65 78 74 41 28 4d 4d 52  etErrorTextA(MMR
8080: 45 53 55 4c 54 20 6d 6d 72 45 72 72 6f 72 2c 20  ESULT mmrError, 
8090: 4c 50 53 54 52 20 70 73 7a 54 65 78 74 2c 20 55  LPSTR pszText, U
80a0: 49 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a 65  INT cchText);..e
80b0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
80c0: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
80d0: 69 64 69 4f 75 74 47 65 74 45 72 72 6f 72 54 65  idiOutGetErrorTe
80e0: 78 74 57 28 4d 4d 52 45 53 55 4c 54 20 6d 6d 72  xtW(MMRESULT mmr
80f0: 45 72 72 6f 72 2c 20 4c 50 57 53 54 52 20 70 73  Error, LPWSTR ps
8100: 7a 54 65 78 74 2c 20 55 49 4e 54 20 63 63 68 54  zText, UINT cchT
8110: 65 78 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ext);..// #ifdef
8120: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
8130: 6d 69 64 69 4f 75 74 47 65 74 45 72 72 6f 72 54  midiOutGetErrorT
8140: 65 78 74 57 20 6d 69 64 69 4f 75 74 47 65 74 45  extW midiOutGetE
8150: 72 72 6f 72 54 65 78 74 3b 0d 0a 2f 2f 20 23 65  rrorText;..// #e
8160: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
8170: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
8180: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
8190: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
81a0: 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  if....extern(Win
81b0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
81c0: 45 53 55 4c 54 20 6d 69 64 69 4f 75 74 4f 70 65  ESULT midiOutOpe
81d0: 6e 28 4c 50 48 4d 49 44 49 4f 55 54 20 70 68 6d  n(LPHMIDIOUT phm
81e0: 6f 2c 20 55 49 4e 54 20 75 44 65 76 69 63 65 49  o, UINT uDeviceI
81f0: 44 2c 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20  D,..  DWORD_PTR 
8200: 64 77 43 61 6c 6c 62 61 63 6b 2c 20 44 57 4f 52  dwCallback, DWOR
8210: 44 5f 50 54 52 20 64 77 49 6e 73 74 61 6e 63 65  D_PTR dwInstance
8220: 2c 20 44 57 4f 52 44 20 66 64 77 4f 70 65 6e 29  , DWORD fdwOpen)
8230: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
8240: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
8250: 4c 54 20 6d 69 64 69 4f 75 74 43 6c 6f 73 65 28  LT midiOutClose(
8260: 48 4d 49 44 49 4f 55 54 20 68 6d 6f 29 3b 0d 0a  HMIDIOUT hmo);..
8270: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
8280: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
8290: 6d 69 64 69 4f 75 74 50 72 65 70 61 72 65 48 65  midiOutPrepareHe
82a0: 61 64 65 72 28 48 4d 49 44 49 4f 55 54 20 68 6d  ader(HMIDIOUT hm
82b0: 6f 2c 20 4c 50 4d 49 44 49 48 44 52 20 70 6d 68  o, LPMIDIHDR pmh
82c0: 2c 20 55 49 4e 54 20 63 62 6d 68 29 3b 0d 0a 65  , UINT cbmh);..e
82d0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
82e0: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
82f0: 69 64 69 4f 75 74 55 6e 70 72 65 70 61 72 65 48  idiOutUnprepareH
8300: 65 61 64 65 72 28 48 4d 49 44 49 4f 55 54 20 68  eader(HMIDIOUT h
8310: 6d 6f 2c 20 4c 50 4d 49 44 49 48 44 52 20 70 6d  mo, LPMIDIHDR pm
8320: 68 2c 20 55 49 4e 54 20 63 62 6d 68 29 3b 0d 0a  h, UINT cbmh);..
8330: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
8340: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
8350: 6d 69 64 69 4f 75 74 53 68 6f 72 74 4d 73 67 28  midiOutShortMsg(
8360: 48 4d 49 44 49 4f 55 54 20 68 6d 6f 2c 20 44 57  HMIDIOUT hmo, DW
8370: 4f 52 44 20 64 77 4d 73 67 29 3b 0d 0a 65 78 74  ORD dwMsg);..ext
8380: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
8390: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64  ort MMRESULT mid
83a0: 69 4f 75 74 4c 6f 6e 67 4d 73 67 28 48 4d 49 44  iOutLongMsg(HMID
83b0: 49 4f 55 54 20 68 6d 6f 2c 20 4c 50 4d 49 44 49  IOUT hmo, LPMIDI
83c0: 48 44 52 20 70 6d 68 2c 20 55 49 4e 54 20 63 62  HDR pmh, UINT cb
83d0: 6d 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  mh);..extern(Win
83e0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
83f0: 45 53 55 4c 54 20 6d 69 64 69 4f 75 74 52 65 73  ESULT midiOutRes
8400: 65 74 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f 29  et(HMIDIOUT hmo)
8410: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
8420: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
8430: 4c 54 20 6d 69 64 69 4f 75 74 43 61 63 68 65 50  LT midiOutCacheP
8440: 61 74 63 68 65 73 28 48 4d 49 44 49 4f 55 54 20  atches(HMIDIOUT 
8450: 68 6d 6f 2c 20 55 49 4e 54 20 75 42 61 6e 6b 2c  hmo, UINT uBank,
8460: 20 4c 50 57 4f 52 44 20 70 77 70 61 2c 20 55 49   LPWORD pwpa, UI
8470: 4e 54 20 66 75 43 61 63 68 65 29 3b 0d 0a 65 78  NT fuCache);..ex
8480: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8490: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
84a0: 64 69 4f 75 74 43 61 63 68 65 44 72 75 6d 50 61  diOutCacheDrumPa
84b0: 74 63 68 65 73 28 48 4d 49 44 49 4f 55 54 20 68  tches(HMIDIOUT h
84c0: 6d 6f 2c 20 55 49 4e 54 20 75 50 61 74 63 68 2c  mo, UINT uPatch,
84d0: 20 4c 50 57 4f 52 44 20 70 77 6b 79 61 2c 20 55   LPWORD pwkya, U
84e0: 49 4e 54 20 66 75 43 61 63 68 65 29 3b 0d 0a 65  INT fuCache);..e
84f0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8500: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
8510: 69 64 69 4f 75 74 47 65 74 49 44 28 48 4d 49 44  idiOutGetID(HMID
8520: 49 4f 55 54 20 68 6d 6f 2c 20 4c 50 55 49 4e 54  IOUT hmo, LPUINT
8530: 20 70 75 44 65 76 69 63 65 49 44 29 3b 0d 0a 0d   puDeviceID);...
8540: 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20  .// #if (WINVER 
8550: 3e 3d 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 23  >= 0x030a)..// #
8560: 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78  ifdef _WIN32..ex
8570: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8580: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
8590: 64 69 4f 75 74 4d 65 73 73 61 67 65 28 48 4d 49  diOutMessage(HMI
85a0: 44 49 4f 55 54 20 68 6d 6f 2c 20 55 49 4e 54 20  DIOUT hmo, UINT 
85b0: 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50 54 52 20  uMsg, DWORD_PTR 
85c0: 64 77 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64  dw1, DWORD_PTR d
85d0: 77 32 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  w2);..// #else..
85e0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
85f0: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  f..// #endif /* 
8600: 69 66 64 65 66 20 57 49 4e 56 45 52 20 3e 3d 20  ifdef WINVER >= 
8610: 30 78 30 33 30 61 20 2a 2f 0d 0a 0d 0a 65 78 74  0x030a */....ext
8620: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
8630: 6f 72 74 20 55 49 4e 54 20 6d 69 64 69 49 6e 47  ort UINT midiInG
8640: 65 74 4e 75 6d 44 65 76 73 28 29 3b 0d 0a 0d 0a  etNumDevs();....
8650: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
8660: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
8670: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
8680: 55 4c 54 20 6d 69 64 69 49 6e 47 65 74 44 65 76  ULT midiInGetDev
8690: 43 61 70 73 41 28 55 49 4e 54 5f 50 54 52 20 75  CapsA(UINT_PTR u
86a0: 44 65 76 69 63 65 49 44 2c 20 4c 50 4d 49 44 49  DeviceID, LPMIDI
86b0: 49 4e 43 41 50 53 41 20 70 6d 69 63 2c 20 55 49  INCAPSA pmic, UI
86c0: 4e 54 20 63 62 6d 69 63 29 3b 0d 0a 65 78 74 65  NT cbmic);..exte
86d0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
86e0: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
86f0: 49 6e 47 65 74 44 65 76 43 61 70 73 57 28 55 49  InGetDevCapsW(UI
8700: 4e 54 5f 50 54 52 20 75 44 65 76 69 63 65 49 44  NT_PTR uDeviceID
8710: 2c 20 4c 50 4d 49 44 49 49 4e 43 41 50 53 57 20  , LPMIDIINCAPSW 
8720: 70 6d 69 63 2c 20 55 49 4e 54 20 63 62 6d 69 63  pmic, UINT cbmic
8730: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
8740: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 6d 69 64  ICODE..alias mid
8750: 69 49 6e 47 65 74 44 65 76 43 61 70 73 57 20 6d  iInGetDevCapsW m
8760: 69 64 69 49 6e 47 65 74 44 65 76 43 61 70 73 3b  idiInGetDevCaps;
8770: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
8780: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
8790: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74 65  / !UNICODE..exte
87a0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
87b0: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
87c0: 49 6e 47 65 74 45 72 72 6f 72 54 65 78 74 41 28  InGetErrorTextA(
87d0: 4d 4d 52 45 53 55 4c 54 20 6d 6d 72 45 72 72 6f  MMRESULT mmrErro
87e0: 72 2c 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74  r, LPSTR pszText
87f0: 2c 20 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b  , UINT cchText);
8800: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8810: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
8820: 54 20 6d 69 64 69 49 6e 47 65 74 45 72 72 6f 72  T midiInGetError
8830: 54 65 78 74 57 28 4d 4d 52 45 53 55 4c 54 20 6d  TextW(MMRESULT m
8840: 6d 72 45 72 72 6f 72 2c 20 4c 50 57 53 54 52 20  mrError, LPWSTR 
8850: 70 73 7a 54 65 78 74 2c 20 55 49 4e 54 20 63 63  pszText, UINT cc
8860: 68 54 65 78 74 29 3b 0d 0a 2f 2f 20 23 69 66 64  hText);..// #ifd
8870: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
8880: 73 20 6d 69 64 69 49 6e 47 65 74 45 72 72 6f 72  s midiInGetError
8890: 54 65 78 74 57 20 6d 69 64 69 49 6e 47 65 74 45  TextW midiInGetE
88a0: 72 72 6f 72 54 65 78 74 3b 0d 0a 2f 2f 20 23 65  rrorText;..// #e
88b0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
88c0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
88d0: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
88e0: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
88f0: 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  if....extern(Win
8900: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
8910: 45 53 55 4c 54 20 6d 69 64 69 49 6e 4f 70 65 6e  ESULT midiInOpen
8920: 28 4c 50 48 4d 49 44 49 49 4e 20 70 68 6d 69 2c  (LPHMIDIIN phmi,
8930: 20 55 49 4e 54 20 75 44 65 76 69 63 65 49 44 2c   UINT uDeviceID,
8940: 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
8950: 43 61 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f  Callback, DWORD_
8960: 50 54 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20  PTR dwInstance, 
8970: 44 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d  DWORD fdwOpen);.
8980: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
8990: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
89a0: 20 6d 69 64 69 49 6e 43 6c 6f 73 65 28 48 4d 49   midiInClose(HMI
89b0: 44 49 49 4e 20 68 6d 69 29 3b 0d 0a 65 78 74 65  DIIN hmi);..exte
89c0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
89d0: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
89e0: 49 6e 50 72 65 70 61 72 65 48 65 61 64 65 72 28  InPrepareHeader(
89f0: 48 4d 49 44 49 49 4e 20 68 6d 69 2c 20 4c 50 4d  HMIDIIN hmi, LPM
8a00: 49 44 49 48 44 52 20 70 6d 68 2c 20 55 49 4e 54  IDIHDR pmh, UINT
8a10: 20 63 62 6d 68 29 3b 0d 0a 65 78 74 65 72 6e 28   cbmh);..extern(
8a20: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
8a30: 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 49 6e 55  MMRESULT midiInU
8a40: 6e 70 72 65 70 61 72 65 48 65 61 64 65 72 28 48  nprepareHeader(H
8a50: 4d 49 44 49 49 4e 20 68 6d 69 2c 20 4c 50 4d 49  MIDIIN hmi, LPMI
8a60: 44 49 48 44 52 20 70 6d 68 2c 20 55 49 4e 54 20  DIHDR pmh, UINT 
8a70: 63 62 6d 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57  cbmh);..extern(W
8a80: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
8a90: 4d 52 45 53 55 4c 54 20 6d 69 64 69 49 6e 41 64  MRESULT midiInAd
8aa0: 64 42 75 66 66 65 72 28 48 4d 49 44 49 49 4e 20  dBuffer(HMIDIIN 
8ab0: 68 6d 69 2c 20 4c 50 4d 49 44 49 48 44 52 20 70  hmi, LPMIDIHDR p
8ac0: 6d 68 2c 20 55 49 4e 54 20 63 62 6d 68 29 3b 0d  mh, UINT cbmh);.
8ad0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
8ae0: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
8af0: 20 6d 69 64 69 49 6e 53 74 61 72 74 28 48 4d 49   midiInStart(HMI
8b00: 44 49 49 4e 20 68 6d 69 29 3b 0d 0a 65 78 74 65  DIIN hmi);..exte
8b10: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8b20: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
8b30: 49 6e 53 74 6f 70 28 48 4d 49 44 49 49 4e 20 68  InStop(HMIDIIN h
8b40: 6d 69 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  mi);..extern(Win
8b50: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
8b60: 45 53 55 4c 54 20 6d 69 64 69 49 6e 52 65 73 65  ESULT midiInRese
8b70: 74 28 48 4d 49 44 49 49 4e 20 68 6d 69 29 3b 0d  t(HMIDIIN hmi);.
8b80: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
8b90: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
8ba0: 20 6d 69 64 69 49 6e 47 65 74 49 44 28 48 4d 49   midiInGetID(HMI
8bb0: 44 49 49 4e 20 68 6d 69 2c 20 4c 50 55 49 4e 54  DIIN hmi, LPUINT
8bc0: 20 70 75 44 65 76 69 63 65 49 44 29 3b 0d 0a 0d   puDeviceID);...
8bd0: 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20  .// #if (WINVER 
8be0: 3e 3d 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 23  >= 0x030a)..// #
8bf0: 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78  ifdef _WIN32..ex
8c00: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8c10: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
8c20: 64 69 49 6e 4d 65 73 73 61 67 65 28 48 4d 49 44  diInMessage(HMID
8c30: 49 49 4e 20 68 6d 69 2c 20 55 49 4e 54 20 75 4d  IIN hmi, UINT uM
8c40: 73 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77  sg, DWORD_PTR dw
8c50: 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 32  1, DWORD_PTR dw2
8c60: 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  );..// #else..//
8c70: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
8c80: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66  .// #endif /* if
8c90: 64 65 66 20 57 49 4e 56 45 52 20 3e 3d 20 30 78  def WINVER >= 0x
8ca0: 30 33 30 61 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65  030a */....// #e
8cb0: 6e 64 69 66 20 20 2f 2a 20 69 66 6e 64 65 66 20  ndif  /* ifndef 
8cc0: 4d 4d 4e 4f 4d 49 44 49 20 2a 2f 0d 0a 0d 0a 2f  MMNOMIDI */..../
8cd0: 2f 20 23 69 66 6e 64 65 66 20 4d 4d 4e 4f 41 55  / #ifndef MMNOAU
8ce0: 58 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  X....enum : uint
8cf0: 20 7b 20 41 55 58 5f 4d 41 50 50 45 52 20 3d 20   { AUX_MAPPER = 
8d00: 63 61 73 74 28 55 49 4e 54 29 2d 31 20 7d 0d 0a  cast(UINT)-1 }..
8d10: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
8d20: 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  32....struct tag
8d30: 41 55 58 43 41 50 53 41 20 7b 0d 0a 20 20 57 4f  AUXCAPSA {..  WO
8d40: 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44  RD wMid;..  WORD
8d50: 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53   wPid;..  MMVERS
8d60: 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69  ION vDriverVersi
8d70: 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e  on;..  CHAR szPn
8d80: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
8d90: 3b 0d 0a 20 20 57 4f 52 44 20 77 54 65 63 68 6e  ;..  WORD wTechn
8da0: 6f 6c 6f 67 79 3b 0d 0a 20 20 57 4f 52 44 20 77  ology;..  WORD w
8db0: 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57  Reserved1;..  DW
8dc0: 4f 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a  ORD dwSupport;..
8dd0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41 55 58 43  }..alias tagAUXC
8de0: 41 50 53 41 20 41 55 58 43 41 50 53 41 3b 0d 0a  APSA AUXCAPSA;..
8df0: 61 6c 69 61 73 20 74 61 67 41 55 58 43 41 50 53  alias tagAUXCAPS
8e00: 41 2a 20 50 41 55 58 43 41 50 53 41 3b 0d 0a 61  A* PAUXCAPSA;..a
8e10: 6c 69 61 73 20 74 61 67 41 55 58 43 41 50 53 41  lias tagAUXCAPSA
8e20: 2a 20 4e 50 41 55 58 43 41 50 53 41 3b 0d 0a 61  * NPAUXCAPSA;..a
8e30: 6c 69 61 73 20 74 61 67 41 55 58 43 41 50 53 41  lias tagAUXCAPSA
8e40: 2a 20 4c 50 41 55 58 43 41 50 53 41 3b 0d 0a 0d  * LPAUXCAPSA;...
8e50: 0a 73 74 72 75 63 74 20 74 61 67 41 55 58 43 41  .struct tagAUXCA
8e60: 50 53 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d  PSW {..  WORD wM
8e70: 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64  id;..  WORD wPid
8e80: 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76  ;..  MMVERSION v
8e90: 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a  DriverVersion;..
8ea0: 20 20 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b    WCHAR szPname[
8eb0: 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20  MAXPNAMELEN];.. 
8ec0: 20 57 4f 52 44 20 77 54 65 63 68 6e 6f 6c 6f 67   WORD wTechnolog
8ed0: 79 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 73 65  y;..  WORD wRese
8ee0: 72 76 65 64 31 3b 0d 0a 20 20 44 57 4f 52 44 20  rved1;..  DWORD 
8ef0: 64 77 53 75 70 70 6f 72 74 3b 0d 0a 7d 0d 0a 61  dwSupport;..}..a
8f00: 6c 69 61 73 20 74 61 67 41 55 58 43 41 50 53 57  lias tagAUXCAPSW
8f10: 20 41 55 58 43 41 50 53 57 3b 0d 0a 61 6c 69 61   AUXCAPSW;..alia
8f20: 73 20 74 61 67 41 55 58 43 41 50 53 57 2a 20 50  s tagAUXCAPSW* P
8f30: 41 55 58 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73  AUXCAPSW;..alias
8f40: 20 74 61 67 41 55 58 43 41 50 53 57 2a 20 4e 50   tagAUXCAPSW* NP
8f50: 41 55 58 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73  AUXCAPSW;..alias
8f60: 20 74 61 67 41 55 58 43 41 50 53 57 2a 20 4c 50   tagAUXCAPSW* LP
8f70: 41 55 58 43 41 50 53 57 3b 0d 0a 0d 0a 2f 2f 20  AUXCAPSW;....// 
8f80: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
8f90: 61 6c 69 61 73 20 41 55 58 43 41 50 53 57 20 41  alias AUXCAPSW A
8fa0: 55 58 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 50  UXCAPS;..alias P
8fb0: 41 55 58 43 41 50 53 57 20 50 41 55 58 43 41 50  AUXCAPSW PAUXCAP
8fc0: 53 3b 0d 0a 61 6c 69 61 73 20 4e 50 41 55 58 43  S;..alias NPAUXC
8fd0: 41 50 53 57 20 4e 50 41 55 58 43 41 50 53 3b 0d  APSW NPAUXCAPS;.
8fe0: 0a 61 6c 69 61 73 20 4c 50 41 55 58 43 41 50 53  .alias LPAUXCAPS
8ff0: 57 20 4c 50 41 55 58 43 41 50 53 3b 0d 0a 2f 2f  W LPAUXCAPS;..//
9000: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
9010: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
9020: 43 4f 44 45 0d 0a 73 74 72 75 63 74 20 74 61 67  CODE..struct tag
9030: 41 55 58 43 41 50 53 32 41 20 7b 0d 0a 20 20 57  AUXCAPS2A {..  W
9040: 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52  ORD wMid;..  WOR
9050: 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52  D wPid;..  MMVER
9060: 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73  SION vDriverVers
9070: 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50  ion;..  CHAR szP
9080: 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e  name[MAXPNAMELEN
9090: 5d 3b 0d 0a 20 20 57 4f 52 44 20 77 54 65 63 68  ];..  WORD wTech
90a0: 6e 6f 6c 6f 67 79 3b 0d 0a 20 20 57 4f 52 44 20  nology;..  WORD 
90b0: 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44  wReserved1;..  D
90c0: 57 4f 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d  WORD dwSupport;.
90d0: 0a 20 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74  .  GUID Manufact
90e0: 75 72 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49  urerGuid;..  GUI
90f0: 44 20 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a  D ProductGuid;..
9100: 20 20 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b    GUID NameGuid;
9110: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41 55  ..}..alias tagAU
9120: 58 43 41 50 53 32 41 20 41 55 58 43 41 50 53 32  XCAPS2A AUXCAPS2
9130: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 41 55 58  A;..alias tagAUX
9140: 43 41 50 53 32 41 2a 20 50 41 55 58 43 41 50 53  CAPS2A* PAUXCAPS
9150: 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 41 55  2A;..alias tagAU
9160: 58 43 41 50 53 32 41 2a 20 4e 50 41 55 58 43 41  XCAPS2A* NPAUXCA
9170: 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2A;..alias tag
9180: 41 55 58 43 41 50 53 32 41 2a 20 4c 50 41 55 58  AUXCAPS2A* LPAUX
9190: 43 41 50 53 32 41 3b 0d 0a 0d 0a 73 74 72 75 63  CAPS2A;....struc
91a0: 74 20 74 61 67 41 55 58 43 41 50 53 32 57 20 7b  t tagAUXCAPS2W {
91b0: 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a  ..  WORD wMid;..
91c0: 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20    WORD wPid;..  
91d0: 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65  MMVERSION vDrive
91e0: 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48  rVersion;..  WCH
91f0: 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e  AR szPname[MAXPN
9200: 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57 4f 52 44  AMELEN];..  WORD
9210: 20 77 54 65 63 68 6e 6f 6c 6f 67 79 3b 0d 0a 20   wTechnology;.. 
9220: 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64 31   WORD wReserved1
9230: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 75 70  ;..  DWORD dwSup
9240: 70 6f 72 74 3b 0d 0a 20 20 47 55 49 44 20 4d 61  port;..  GUID Ma
9250: 6e 75 66 61 63 74 75 72 65 72 47 75 69 64 3b 0d  nufacturerGuid;.
9260: 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63 74 47  .  GUID ProductG
9270: 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e 61 6d  uid;..  GUID Nam
9280: 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eGuid;..}..alias
9290: 20 74 61 67 41 55 58 43 41 50 53 32 57 20 41 55   tagAUXCAPS2W AU
92a0: 58 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20  XCAPS2W;..alias 
92b0: 74 61 67 41 55 58 43 41 50 53 32 57 2a 20 50 41  tagAUXCAPS2W* PA
92c0: 55 58 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73  UXCAPS2W;..alias
92d0: 20 74 61 67 41 55 58 43 41 50 53 32 57 2a 20 4e   tagAUXCAPS2W* N
92e0: 50 41 55 58 43 41 50 53 32 57 3b 0d 0a 61 6c 69  PAUXCAPS2W;..ali
92f0: 61 73 20 74 61 67 41 55 58 43 41 50 53 32 57 2a  as tagAUXCAPS2W*
9300: 20 4c 50 41 55 58 43 41 50 53 32 57 3b 0d 0a 0d   LPAUXCAPS2W;...
9310: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
9320: 44 45 0d 0a 61 6c 69 61 73 20 41 55 58 43 41 50  DE..alias AUXCAP
9330: 53 32 57 20 41 55 58 43 41 50 53 32 3b 0d 0a 61  S2W AUXCAPS2;..a
9340: 6c 69 61 73 20 50 41 55 58 43 41 50 53 32 57 20  lias PAUXCAPS2W 
9350: 50 41 55 58 43 41 50 53 32 3b 0d 0a 61 6c 69 61  PAUXCAPS2;..alia
9360: 73 20 4e 50 41 55 58 43 41 50 53 32 57 20 4e 50  s NPAUXCAPS2W NP
9370: 41 55 58 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73  AUXCAPS2;..alias
9380: 20 4c 50 41 55 58 43 41 50 53 32 57 20 4c 50 41   LPAUXCAPS2W LPA
9390: 55 58 43 41 50 53 32 3b 0d 0a 2f 2f 20 23 65 6c  UXCAPS2;..// #el
93a0: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
93b0: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
93c0: 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
93d0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
93e0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
93f0: 20 41 55 58 43 41 50 53 5f 43 44 41 55 44 49 4f   AUXCAPS_CDAUDIO
9400: 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
9410: 69 6e 74 20 7b 20 41 55 58 43 41 50 53 5f 41 55  int { AUXCAPS_AU
9420: 58 49 4e 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e 75  XIN = 2 }....enu
9430: 6d 20 3a 20 75 69 6e 74 20 7b 20 41 55 58 43 41  m : uint { AUXCA
9440: 50 53 5f 56 4f 4c 55 4d 45 20 3d 20 30 78 30 30  PS_VOLUME = 0x00
9450: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
9460: 74 20 7b 20 41 55 58 43 41 50 53 5f 4c 52 56 4f  t { AUXCAPS_LRVO
9470: 4c 55 4d 45 20 3d 20 30 78 30 30 30 32 20 7d 0d  LUME = 0x0002 }.
9480: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
9490: 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 61  s) export UINT a
94a0: 75 78 47 65 74 4e 75 6d 44 65 76 73 28 29 3b 0d  uxGetNumDevs();.
94b0: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
94c0: 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  2....extern(Wind
94d0: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
94e0: 53 55 4c 54 20 61 75 78 47 65 74 44 65 76 43 61  SULT auxGetDevCa
94f0: 70 73 41 28 55 49 4e 54 5f 50 54 52 20 75 44 65  psA(UINT_PTR uDe
9500: 76 69 63 65 49 44 2c 20 4c 50 41 55 58 43 41 50  viceID, LPAUXCAP
9510: 53 41 20 70 61 63 2c 20 55 49 4e 54 20 63 62 61  SA pac, UINT cba
9520: 63 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  c);..extern(Wind
9530: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
9540: 53 55 4c 54 20 61 75 78 47 65 74 44 65 76 43 61  SULT auxGetDevCa
9550: 70 73 57 28 55 49 4e 54 5f 50 54 52 20 75 44 65  psW(UINT_PTR uDe
9560: 76 69 63 65 49 44 2c 20 4c 50 41 55 58 43 41 50  viceID, LPAUXCAP
9570: 53 57 20 70 61 63 2c 20 55 49 4e 54 20 63 62 61  SW pac, UINT cba
9580: 63 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  c);..// #ifdef U
9590: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 61 75  NICODE..alias au
95a0: 78 47 65 74 44 65 76 43 61 70 73 57 20 61 75 78  xGetDevCapsW aux
95b0: 47 65 74 44 65 76 43 61 70 73 3b 0d 0a 2f 2f 20  GetDevCaps;..// 
95c0: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
95d0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
95e0: 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
95f0: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
9600: 6e 64 69 66 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ndif..extern(Win
9610: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
9620: 45 53 55 4c 54 20 61 75 78 53 65 74 56 6f 6c 75  ESULT auxSetVolu
9630: 6d 65 28 55 49 4e 54 20 75 44 65 76 69 63 65 49  me(UINT uDeviceI
9640: 44 2c 20 44 57 4f 52 44 20 64 77 56 6f 6c 75 6d  D, DWORD dwVolum
9650: 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  e);..extern(Wind
9660: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
9670: 53 55 4c 54 20 61 75 78 47 65 74 56 6f 6c 75 6d  SULT auxGetVolum
9680: 65 28 55 49 4e 54 20 75 44 65 76 69 63 65 49 44  e(UINT uDeviceID
9690: 2c 20 4c 50 44 57 4f 52 44 20 70 64 77 56 6f 6c  , LPDWORD pdwVol
96a0: 75 6d 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20  ume);....// #if 
96b0: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30  (WINVER >= 0x030
96c0: 61 29 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  a)..// #ifdef _W
96d0: 49 4e 33 32 0d 0a 65 78 74 65 72 6e 28 57 69 6e  IN32..extern(Win
96e0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
96f0: 45 53 55 4c 54 20 61 75 78 4f 75 74 4d 65 73 73  ESULT auxOutMess
9700: 61 67 65 28 55 49 4e 54 20 75 44 65 76 69 63 65  age(UINT uDevice
9710: 49 44 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 44  ID, UINT uMsg, D
9720: 57 4f 52 44 5f 50 54 52 20 64 77 31 2c 20 44 57  WORD_PTR dw1, DW
9730: 4f 52 44 5f 50 54 52 20 64 77 32 29 3b 0d 0a 2f  ORD_PTR dw2);../
9740: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
9750: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
9760: 65 6e 64 69 66 20 2f 2a 20 69 66 64 65 66 20 57  endif /* ifdef W
9770: 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61 20  INVER >= 0x030a 
9780: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  */....// #endif 
9790: 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e 4f 41   /* ifndef MMNOA
97a0: 55 58 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e  UX */....// #ifn
97b0: 64 65 66 20 4d 4d 4e 4f 4d 49 58 45 52 0d 0a 0d  def MMNOMIXER...
97c0: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 49  .alias void* HMI
97d0: 58 45 52 4f 42 4a 3b 0d 0a 61 6c 69 61 73 20 48  XEROBJ;..alias H
97e0: 4d 49 58 45 52 4f 42 4a 2a 20 4c 50 48 4d 49 58  MIXEROBJ* LPHMIX
97f0: 45 52 4f 42 4a 3b 0d 0a 0d 0a 61 6c 69 61 73 20  EROBJ;....alias 
9800: 76 6f 69 64 2a 20 48 4d 49 58 45 52 3b 0d 0a 61  void* HMIXER;..a
9810: 6c 69 61 73 20 48 4d 49 58 45 52 2a 20 4c 50 48  lias HMIXER* LPH
9820: 4d 49 58 45 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  MIXER;....enum :
9830: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 53 48   uint { MIXER_SH
9840: 4f 52 54 5f 4e 41 4d 45 5f 43 48 41 52 53 20 3d  ORT_NAME_CHARS =
9850: 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   16 }..enum : ui
9860: 6e 74 20 7b 20 4d 49 58 45 52 5f 4c 4f 4e 47 5f  nt { MIXER_LONG_
9870: 4e 41 4d 45 5f 43 48 41 52 53 20 3d 20 36 34 20  NAME_CHARS = 64 
9880: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
9890: 20 7b 20 4d 49 58 45 52 52 5f 49 4e 56 41 4c 4c   { MIXERR_INVALL
98a0: 49 4e 45 20 3d 20 4d 49 58 45 52 52 5f 42 41 53  INE = MIXERR_BAS
98b0: 45 20 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 0 }..enum : 
98c0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 52 5f 49 4e  uint { MIXERR_IN
98d0: 56 41 4c 43 4f 4e 54 52 4f 4c 20 3d 20 4d 49 58  VALCONTROL = MIX
98e0: 45 52 52 5f 42 41 53 45 20 2b 20 31 20 7d 0d 0a  ERR_BASE + 1 }..
98f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
9900: 58 45 52 52 5f 49 4e 56 41 4c 56 41 4c 55 45 20  XERR_INVALVALUE 
9910: 3d 20 4d 49 58 45 52 52 5f 42 41 53 45 20 2b 20  = MIXERR_BASE + 
9920: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
9930: 20 7b 20 4d 49 58 45 52 52 5f 4c 41 53 54 45 52   { MIXERR_LASTER
9940: 52 4f 52 20 3d 20 4d 49 58 45 52 52 5f 42 41 53  ROR = MIXERR_BAS
9950: 45 20 2b 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  E + 2 }....enum 
9960: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f  : uint { MIXER_O
9970: 42 4a 45 43 54 46 5f 48 41 4e 44 4c 45 20 3d 20  BJECTF_HANDLE = 
9980: 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x80000000 }..en
9990: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
99a0: 52 5f 4f 42 4a 45 43 54 46 5f 4d 49 58 45 52 20  R_OBJECTF_MIXER 
99b0: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
99c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
99d0: 58 45 52 5f 4f 42 4a 45 43 54 46 5f 48 4d 49 58  XER_OBJECTF_HMIX
99e0: 45 52 20 3d 20 4d 49 58 45 52 5f 4f 42 4a 45 43  ER = MIXER_OBJEC
99f0: 54 46 5f 48 41 4e 44 4c 45 7c 4d 49 58 45 52 5f  TF_HANDLE|MIXER_
9a00: 4f 42 4a 45 43 54 46 5f 4d 49 58 45 52 20 7d 0d  OBJECTF_MIXER }.
9a10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
9a20: 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 57 41 56  IXER_OBJECTF_WAV
9a30: 45 4f 55 54 20 3d 20 30 78 31 30 30 30 30 30 30  EOUT = 0x1000000
9a40: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
9a50: 20 7b 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46   { MIXER_OBJECTF
9a60: 5f 48 57 41 56 45 4f 55 54 20 3d 20 4d 49 58 45  _HWAVEOUT = MIXE
9a70: 52 5f 4f 42 4a 45 43 54 46 5f 48 41 4e 44 4c 45  R_OBJECTF_HANDLE
9a80: 7c 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 57  |MIXER_OBJECTF_W
9a90: 41 56 45 4f 55 54 20 7d 0d 0a 65 6e 75 6d 20 3a  AVEOUT }..enum :
9aa0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f 42   uint { MIXER_OB
9ab0: 4a 45 43 54 46 5f 57 41 56 45 49 4e 20 3d 20 30  JECTF_WAVEIN = 0
9ac0: 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x20000000 }..enu
9ad0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
9ae0: 5f 4f 42 4a 45 43 54 46 5f 48 57 41 56 45 49 4e  _OBJECTF_HWAVEIN
9af0: 20 3d 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46   = MIXER_OBJECTF
9b00: 5f 48 41 4e 44 4c 45 7c 4d 49 58 45 52 5f 4f 42  _HANDLE|MIXER_OB
9b10: 4a 45 43 54 46 5f 57 41 56 45 49 4e 20 7d 0d 0a  JECTF_WAVEIN }..
9b20: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
9b30: 58 45 52 5f 4f 42 4a 45 43 54 46 5f 4d 49 44 49  XER_OBJECTF_MIDI
9b40: 4f 55 54 20 3d 20 30 78 33 30 30 30 30 30 30 30  OUT = 0x30000000
9b50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9b60: 7b 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f  { MIXER_OBJECTF_
9b70: 48 4d 49 44 49 4f 55 54 20 3d 20 4d 49 58 45 52  HMIDIOUT = MIXER
9b80: 5f 4f 42 4a 45 43 54 46 5f 48 41 4e 44 4c 45 7c  _OBJECTF_HANDLE|
9b90: 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 4d 49  MIXER_OBJECTF_MI
9ba0: 44 49 4f 55 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20  DIOUT }..enum : 
9bb0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f 42 4a  uint { MIXER_OBJ
9bc0: 45 43 54 46 5f 4d 49 44 49 49 4e 20 3d 20 30 78  ECTF_MIDIIN = 0x
9bd0: 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  40000000 }..enum
9be0: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f   : uint { MIXER_
9bf0: 4f 42 4a 45 43 54 46 5f 48 4d 49 44 49 49 4e 20  OBJECTF_HMIDIIN 
9c00: 3d 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f  = MIXER_OBJECTF_
9c10: 48 41 4e 44 4c 45 7c 4d 49 58 45 52 5f 4f 42 4a  HANDLE|MIXER_OBJ
9c20: 45 43 54 46 5f 4d 49 44 49 49 4e 20 7d 0d 0a 65  ECTF_MIDIIN }..e
9c30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
9c40: 45 52 5f 4f 42 4a 45 43 54 46 5f 41 55 58 20 3d  ER_OBJECTF_AUX =
9c50: 20 30 78 35 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x50000000 }...
9c60: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
9c70: 20 65 78 70 6f 72 74 20 55 49 4e 54 20 6d 69 78   export UINT mix
9c80: 65 72 47 65 74 4e 75 6d 44 65 76 73 28 29 3b 0d  erGetNumDevs();.
9c90: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
9ca0: 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  N32....struct ta
9cb0: 67 4d 49 58 45 52 43 41 50 53 41 20 7b 0d 0a 20  gMIXERCAPSA {.. 
9cc0: 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57   WORD wMid;..  W
9cd0: 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56  ORD wPid;..  MMV
9ce0: 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65  ERSION vDriverVe
9cf0: 72 73 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73  rsion;..  CHAR s
9d00: 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c  zPname[MAXPNAMEL
9d10: 45 4e 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 66 64  EN];..  DWORD fd
9d20: 77 53 75 70 70 6f 72 74 3b 0d 0a 20 20 44 57 4f  wSupport;..  DWO
9d30: 52 44 20 63 44 65 73 74 69 6e 61 74 69 6f 6e 73  RD cDestinations
9d40: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
9d50: 49 58 45 52 43 41 50 53 41 20 4d 49 58 45 52 43  IXERCAPSA MIXERC
9d60: 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  APSA;..alias tag
9d70: 4d 49 58 45 52 43 41 50 53 41 2a 20 50 4d 49 58  MIXERCAPSA* PMIX
9d80: 45 52 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20  ERCAPSA;..alias 
9d90: 74 61 67 4d 49 58 45 52 43 41 50 53 41 2a 20 4c  tagMIXERCAPSA* L
9da0: 50 4d 49 58 45 52 43 41 50 53 41 3b 0d 0a 0d 0a  PMIXERCAPSA;....
9db0: 73 74 72 75 63 74 20 74 61 67 4d 49 58 45 52 43  struct tagMIXERC
9dc0: 41 50 53 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77  APSW {..  WORD w
9dd0: 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69  Mid;..  WORD wPi
9de0: 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20  d;..  MMVERSION 
9df0: 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d  vDriverVersion;.
9e00: 0a 20 20 57 43 48 41 52 20 73 7a 50 6e 61 6d 65  .  WCHAR szPname
9e10: 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a  [MAXPNAMELEN];..
9e20: 20 20 44 57 4f 52 44 20 66 64 77 53 75 70 70 6f    DWORD fdwSuppo
9e30: 72 74 3b 0d 0a 20 20 44 57 4f 52 44 20 63 44 65  rt;..  DWORD cDe
9e40: 73 74 69 6e 61 74 69 6f 6e 73 3b 0d 0a 7d 0d 0a  stinations;..}..
9e50: 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43 41  alias tagMIXERCA
9e60: 50 53 57 20 4d 49 58 45 52 43 41 50 53 57 3b 0d  PSW MIXERCAPSW;.
9e70: 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43  .alias tagMIXERC
9e80: 41 50 53 57 2a 20 50 4d 49 58 45 52 43 41 50 53  APSW* PMIXERCAPS
9e90: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58  W;..alias tagMIX
9ea0: 45 52 43 41 50 53 57 2a 20 4c 50 4d 49 58 45 52  ERCAPSW* LPMIXER
9eb0: 43 41 50 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  CAPSW;....// #if
9ec0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
9ed0: 61 73 20 4d 49 58 45 52 43 41 50 53 57 20 4d 49  as MIXERCAPSW MI
9ee0: 58 45 52 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20  XERCAPS;..alias 
9ef0: 50 4d 49 58 45 52 43 41 50 53 57 20 50 4d 49 58  PMIXERCAPSW PMIX
9f00: 45 52 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4c  ERCAPS;..alias L
9f10: 50 4d 49 58 45 52 43 41 50 53 57 20 4c 50 4d 49  PMIXERCAPSW LPMI
9f20: 58 45 52 43 41 50 53 3b 0d 0a 2f 2f 20 23 65 6c  XERCAPS;..// #el
9f30: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
9f40: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
9f50: 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58 45  ..struct tagMIXE
9f60: 52 43 41 50 53 32 41 20 7b 0d 0a 20 20 57 4f 52  RCAPS2A {..  WOR
9f70: 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20  D wMid;..  WORD 
9f80: 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49  wPid;..  MMVERSI
9f90: 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f  ON vDriverVersio
9fa0: 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61  n;..  CHAR szPna
9fb0: 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b  me[MAXPNAMELEN];
9fc0: 0d 0a 20 20 44 57 4f 52 44 20 66 64 77 53 75 70  ..  DWORD fdwSup
9fd0: 70 6f 72 74 3b 0d 0a 20 20 44 57 4f 52 44 20 63  port;..  DWORD c
9fe0: 44 65 73 74 69 6e 61 74 69 6f 6e 73 3b 0d 0a 20  Destinations;.. 
9ff0: 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72   GUID Manufactur
a000: 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20  erGuid;..  GUID 
a010: 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20  ProductGuid;..  
a020: 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a  GUID NameGuid;..
a030: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45  }..alias tagMIXE
a040: 52 43 41 50 53 32 41 20 4d 49 58 45 52 43 41 50  RCAPS2A MIXERCAP
a050: 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  S2A;..alias tagM
a060: 49 58 45 52 43 41 50 53 32 41 2a 20 50 4d 49 58  IXERCAPS2A* PMIX
a070: 45 52 43 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73  ERCAPS2A;..alias
a080: 20 74 61 67 4d 49 58 45 52 43 41 50 53 32 41 2a   tagMIXERCAPS2A*
a090: 20 4c 50 4d 49 58 45 52 43 41 50 53 32 41 3b 0d   LPMIXERCAPS2A;.
a0a0: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58  ...struct tagMIX
a0b0: 45 52 43 41 50 53 32 57 20 7b 0d 0a 20 20 57 4f  ERCAPS2W {..  WO
a0c0: 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44  RD wMid;..  WORD
a0d0: 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53   wPid;..  MMVERS
a0e0: 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69  ION vDriverVersi
a0f0: 6f 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50  on;..  WCHAR szP
a100: 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e  name[MAXPNAMELEN
a110: 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 66 64 77 53  ];..  DWORD fdwS
a120: 75 70 70 6f 72 74 3b 0d 0a 20 20 44 57 4f 52 44  upport;..  DWORD
a130: 20 63 44 65 73 74 69 6e 61 74 69 6f 6e 73 3b 0d   cDestinations;.
a140: 0a 20 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74  .  GUID Manufact
a150: 75 72 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49  urerGuid;..  GUI
a160: 44 20 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a  D ProductGuid;..
a170: 20 20 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b    GUID NameGuid;
a180: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  ..}..alias tagMI
a190: 58 45 52 43 41 50 53 32 57 20 4d 49 58 45 52 43  XERCAPS2W MIXERC
a1a0: 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61  APS2W;..alias ta
a1b0: 67 4d 49 58 45 52 43 41 50 53 32 57 2a 20 50 4d  gMIXERCAPS2W* PM
a1c0: 49 58 45 52 43 41 50 53 32 57 3b 0d 0a 61 6c 69  IXERCAPS2W;..ali
a1d0: 61 73 20 74 61 67 4d 49 58 45 52 43 41 50 53 32  as tagMIXERCAPS2
a1e0: 57 2a 20 4c 50 4d 49 58 45 52 43 41 50 53 32 57  W* LPMIXERCAPS2W
a1f0: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
a200: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d 49  NICODE..alias MI
a210: 58 45 52 43 41 50 53 32 57 20 4d 49 58 45 52 43  XERCAPS2W MIXERC
a220: 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 50 4d 49  APS2;..alias PMI
a230: 58 45 52 43 41 50 53 32 57 20 50 4d 49 58 45 52  XERCAPS2W PMIXER
a240: 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4c 50  CAPS2;..alias LP
a250: 4d 49 58 45 52 43 41 50 53 32 57 20 4c 50 4d 49  MIXERCAPS2W LPMI
a260: 58 45 52 43 41 50 53 32 3b 0d 0a 2f 2f 20 23 65  XERCAPS2;..// #e
a270: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
a280: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
a290: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
a2a0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
a2b0: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
a2c0: 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  IN32....extern(W
a2d0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
a2e0: 4d 52 45 53 55 4c 54 20 6d 69 78 65 72 47 65 74  MRESULT mixerGet
a2f0: 44 65 76 43 61 70 73 41 28 55 49 4e 54 5f 50 54  DevCapsA(UINT_PT
a300: 52 20 75 4d 78 49 64 2c 20 4c 50 4d 49 58 45 52  R uMxId, LPMIXER
a310: 43 41 50 53 41 20 70 6d 78 63 61 70 73 2c 20 55  CAPSA pmxcaps, U
a320: 49 4e 54 20 63 62 6d 78 63 61 70 73 29 3b 0d 0a  INT cbmxcaps);..
a330: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
a340: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
a350: 6d 69 78 65 72 47 65 74 44 65 76 43 61 70 73 57  mixerGetDevCapsW
a360: 28 55 49 4e 54 5f 50 54 52 20 75 4d 78 49 64 2c  (UINT_PTR uMxId,
a370: 20 4c 50 4d 49 58 45 52 43 41 50 53 57 20 70 6d   LPMIXERCAPSW pm
a380: 78 63 61 70 73 2c 20 55 49 4e 54 20 63 62 6d 78  xcaps, UINT cbmx
a390: 63 61 70 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  caps);..// #ifde
a3a0: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
a3b0: 20 6d 69 78 65 72 47 65 74 44 65 76 43 61 70 73   mixerGetDevCaps
a3c0: 57 20 6d 69 78 65 72 47 65 74 44 65 76 43 61 70  W mixerGetDevCap
a3d0: 73 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  s;..// #else..//
a3e0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
a3f0: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
a400: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
a410: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
a420: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
a430: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
a440: 69 78 65 72 4f 70 65 6e 28 4c 50 48 4d 49 58 45  ixerOpen(LPHMIXE
a450: 52 20 70 68 6d 78 2c 20 55 49 4e 54 20 75 4d 78  R phmx, UINT uMx
a460: 49 64 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77  Id, DWORD_PTR dw
a470: 43 61 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f  Callback, DWORD_
a480: 50 54 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20  PTR dwInstance, 
a490: 44 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d  DWORD fdwOpen);.
a4a0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
a4b0: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
a4c0: 4c 54 20 6d 69 78 65 72 43 6c 6f 73 65 28 48 4d  LT mixerClose(HM
a4d0: 49 58 45 52 20 68 6d 78 29 3b 0d 0a 0d 0a 65 78  IXER hmx);....ex
a4e0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
a4f0: 70 6f 72 74 20 44 57 4f 52 44 20 6d 69 78 65 72  port DWORD mixer
a500: 4d 65 73 73 61 67 65 28 48 4d 49 58 45 52 20 68  Message(HMIXER h
a510: 6d 78 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 44  mx, UINT uMsg, D
a520: 57 4f 52 44 5f 50 54 52 20 64 77 50 61 72 61 6d  WORD_PTR dwParam
a530: 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 50  1, DWORD_PTR dwP
a540: 61 72 61 6d 32 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  aram2);....// #i
a550: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73  fdef _WIN32....s
a560: 74 72 75 63 74 20 74 61 67 4d 49 58 45 52 4c 49  truct tagMIXERLI
a570: 4e 45 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63  NEA {..  DWORD c
a580: 62 53 74 72 75 63 74 3b 0d 0a 20 20 44 57 4f 52  bStruct;..  DWOR
a590: 44 20 64 77 44 65 73 74 69 6e 61 74 69 6f 6e 3b  D dwDestination;
a5a0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 6f 75 72  ..  DWORD dwSour
a5b0: 63 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c  ce;..  DWORD dwL
a5c0: 69 6e 65 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20  ineID;..  DWORD 
a5d0: 66 64 77 4c 69 6e 65 3b 0d 0a 20 20 44 57 4f 52  fdwLine;..  DWOR
a5e0: 44 5f 50 54 52 20 64 77 55 73 65 72 3b 0d 0a 20  D_PTR dwUser;.. 
a5f0: 20 44 57 4f 52 44 20 64 77 43 6f 6d 70 6f 6e 65   DWORD dwCompone
a600: 6e 74 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44  ntType;..  DWORD
a610: 20 63 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 44   cChannels;..  D
a620: 57 4f 52 44 20 63 43 6f 6e 6e 65 63 74 69 6f 6e  WORD cConnection
a630: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63 43 6f 6e  s;..  DWORD cCon
a640: 74 72 6f 6c 73 3b 0d 0a 20 20 43 48 41 52 20 73  trols;..  CHAR s
a650: 7a 53 68 6f 72 74 4e 61 6d 65 5b 4d 49 58 45 52  zShortName[MIXER
a660: 5f 53 48 4f 52 54 5f 4e 41 4d 45 5f 43 48 41 52  _SHORT_NAME_CHAR
a670: 53 5d 3b 0d 0a 20 20 43 48 41 52 20 73 7a 4e 61  S];..  CHAR szNa
a680: 6d 65 5b 4d 49 58 45 52 5f 4c 4f 4e 47 5f 4e 41  me[MIXER_LONG_NA
a690: 4d 45 5f 43 48 41 52 53 5d 3b 0d 0a 73 74 72 75  ME_CHARS];..stru
a6a0: 63 74 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ct {..  DWORD dw
a6b0: 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Type;..  DWORD d
a6c0: 77 44 65 76 69 63 65 49 44 3b 0d 0a 20 20 57 4f  wDeviceID;..  WO
a6d0: 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44  RD wMid;..  WORD
a6e0: 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53   wPid;..  MMVERS
a6f0: 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69  ION vDriverVersi
a700: 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e  on;..  CHAR szPn
a710: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
a720: 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73  ;..}....}..alias
a730: 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 41 20 4d   tagMIXERLINEA M
a740: 49 58 45 52 4c 49 4e 45 41 3b 0d 0a 61 6c 69 61  IXERLINEA;..alia
a750: 73 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 41 2a  s tagMIXERLINEA*
a760: 20 50 4d 49 58 45 52 4c 49 4e 45 41 3b 0d 0a 61   PMIXERLINEA;..a
a770: 6c 69 61 73 20 74 61 67 4d 49 58 45 52 4c 49 4e  lias tagMIXERLIN
a780: 45 41 2a 20 4c 50 4d 49 58 45 52 4c 49 4e 45 41  EA* LPMIXERLINEA
a790: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
a7a0: 49 58 45 52 4c 49 4e 45 57 20 7b 0d 0a 20 20 44  IXERLINEW {..  D
a7b0: 57 4f 52 44 20 63 62 53 74 72 75 63 74 3b 0d 0a  WORD cbStruct;..
a7c0: 20 20 44 57 4f 52 44 20 64 77 44 65 73 74 69 6e    DWORD dwDestin
a7d0: 61 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  ation;..  DWORD 
a7e0: 64 77 53 6f 75 72 63 65 3b 0d 0a 20 20 44 57 4f  dwSource;..  DWO
a7f0: 52 44 20 64 77 4c 69 6e 65 49 44 3b 0d 0a 20 20  RD dwLineID;..  
a800: 44 57 4f 52 44 20 66 64 77 4c 69 6e 65 3b 0d 0a  DWORD fdwLine;..
a810: 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 55 73    DWORD_PTR dwUs
a820: 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43  er;..  DWORD dwC
a830: 6f 6d 70 6f 6e 65 6e 74 54 79 70 65 3b 0d 0a 20  omponentType;.. 
a840: 20 44 57 4f 52 44 20 63 43 68 61 6e 6e 65 6c 73   DWORD cChannels
a850: 3b 0d 0a 20 20 44 57 4f 52 44 20 63 43 6f 6e 6e  ;..  DWORD cConn
a860: 65 63 74 69 6f 6e 73 3b 0d 0a 20 20 44 57 4f 52  ections;..  DWOR
a870: 44 20 63 43 6f 6e 74 72 6f 6c 73 3b 0d 0a 20 20  D cControls;..  
a880: 57 43 48 41 52 20 73 7a 53 68 6f 72 74 4e 61 6d  WCHAR szShortNam
a890: 65 5b 4d 49 58 45 52 5f 53 48 4f 52 54 5f 4e 41  e[MIXER_SHORT_NA
a8a0: 4d 45 5f 43 48 41 52 53 5d 3b 0d 0a 20 20 57 43  ME_CHARS];..  WC
a8b0: 48 41 52 20 73 7a 4e 61 6d 65 5b 4d 49 58 45 52  HAR szName[MIXER
a8c0: 5f 4c 4f 4e 47 5f 4e 41 4d 45 5f 43 48 41 52 53  _LONG_NAME_CHARS
a8d0: 5d 3b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20  ];..struct {..  
a8e0: 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0d 0a 20  DWORD dwType;.. 
a8f0: 20 44 57 4f 52 44 20 64 77 44 65 76 69 63 65 49   DWORD dwDeviceI
a900: 44 3b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b  D;..  WORD wMid;
a910: 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a  ..  WORD wPid;..
a920: 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69    MMVERSION vDri
a930: 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57  verVersion;..  W
a940: 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58  CHAR szPname[MAX
a950: 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 7d 0d 0a 0d  PNAMELEN];..}...
a960: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58  .}..alias tagMIX
a970: 45 52 4c 49 4e 45 57 20 4d 49 58 45 52 4c 49 4e  ERLINEW MIXERLIN
a980: 45 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  EW;..alias tagMI
a990: 58 45 52 4c 49 4e 45 57 2a 20 50 4d 49 58 45 52  XERLINEW* PMIXER
a9a0: 4c 49 4e 45 57 3b 0d 0a 61 6c 69 61 73 20 74 61  LINEW;..alias ta
a9b0: 67 4d 49 58 45 52 4c 49 4e 45 57 2a 20 4c 50 4d  gMIXERLINEW* LPM
a9c0: 49 58 45 52 4c 49 4e 45 57 3b 0d 0a 0d 0a 2f 2f  IXERLINEW;....//
a9d0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
a9e0: 0a 61 6c 69 61 73 20 4d 49 58 45 52 4c 49 4e 45  .alias MIXERLINE
a9f0: 57 20 4d 49 58 45 52 4c 49 4e 45 3b 0d 0a 61 6c  W MIXERLINE;..al
aa00: 69 61 73 20 50 4d 49 58 45 52 4c 49 4e 45 57 20  ias PMIXERLINEW 
aa10: 50 4d 49 58 45 52 4c 49 4e 45 3b 0d 0a 61 6c 69  PMIXERLINE;..ali
aa20: 61 73 20 4c 50 4d 49 58 45 52 4c 49 4e 45 57 20  as LPMIXERLINEW 
aa30: 4c 50 4d 49 58 45 52 4c 49 4e 45 3b 0d 0a 2f 2f  LPMIXERLINE;..//
aa40: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
aa50: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
aa60: 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  CODE....// #else
aa70: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
aa80: 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
aa90: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 4c  nt { MIXERLINE_L
aaa0: 49 4e 45 46 5f 41 43 54 49 56 45 20 3d 20 30 78  INEF_ACTIVE = 0x
aab0: 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
aac0: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c   : uint { MIXERL
aad0: 49 4e 45 5f 4c 49 4e 45 46 5f 44 49 53 43 4f 4e  INE_LINEF_DISCON
aae0: 4e 45 43 54 45 44 20 3d 20 30 78 30 30 30 30 38  NECTED = 0x00008
aaf0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
ab00: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 4c  nt { MIXERLINE_L
ab10: 49 4e 45 46 5f 53 4f 55 52 43 45 20 3d 20 30 78  INEF_SOURCE = 0x
ab20: 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  80000000 }....en
ab30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
ab40: 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54  RLINE_COMPONENTT
ab50: 59 50 45 5f 44 53 54 5f 46 49 52 53 54 20 3d 20  YPE_DST_FIRST = 
ab60: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
ab70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
ab80: 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54  RLINE_COMPONENTT
ab90: 59 50 45 5f 44 53 54 5f 55 4e 44 45 46 49 4e 45  YPE_DST_UNDEFINE
aba0: 44 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f  D = MIXERLINE_CO
abb0: 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f  MPONENTTYPE_DST_
abc0: 46 49 52 53 54 20 2b 20 30 20 7d 0d 0a 65 6e 75  FIRST + 0 }..enu
abd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
abe0: 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59  LINE_COMPONENTTY
abf0: 50 45 5f 44 53 54 5f 44 49 47 49 54 41 4c 20 3d  PE_DST_DIGITAL =
ac00: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
ac10: 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f 46 49 52  NENTTYPE_DST_FIR
ac20: 53 54 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 1 }..enum :
ac30: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e   uint { MIXERLIN
ac40: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
ac50: 44 53 54 5f 4c 49 4e 45 20 3d 20 4d 49 58 45 52  DST_LINE = MIXER
ac60: 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59  LINE_COMPONENTTY
ac70: 50 45 5f 44 53 54 5f 46 49 52 53 54 20 2b 20 32  PE_DST_FIRST + 2
ac80: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ac90: 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50  { MIXERLINE_COMP
aca0: 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f 4d 4f  ONENTTYPE_DST_MO
acb0: 4e 49 54 4f 52 20 3d 20 4d 49 58 45 52 4c 49 4e  NITOR = MIXERLIN
acc0: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
acd0: 44 53 54 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d  DST_FIRST + 3 }.
ace0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
acf0: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
ad00: 4e 54 54 59 50 45 5f 44 53 54 5f 53 50 45 41 4b  NTTYPE_DST_SPEAK
ad10: 45 52 53 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f  ERS = MIXERLINE_
ad20: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53  COMPONENTTYPE_DS
ad30: 54 5f 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 65  T_FIRST + 4 }..e
ad40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
ad50: 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54  ERLINE_COMPONENT
ad60: 54 59 50 45 5f 44 53 54 5f 48 45 41 44 50 48 4f  TYPE_DST_HEADPHO
ad70: 4e 45 53 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f  NES = MIXERLINE_
ad80: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53  COMPONENTTYPE_DS
ad90: 54 5f 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 65  T_FIRST + 5 }..e
ada0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
adb0: 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54  ERLINE_COMPONENT
adc0: 54 59 50 45 5f 44 53 54 5f 54 45 4c 45 50 48 4f  TYPE_DST_TELEPHO
add0: 4e 45 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43  NE = MIXERLINE_C
ade0: 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54  OMPONENTTYPE_DST
adf0: 5f 46 49 52 53 54 20 2b 20 36 20 7d 0d 0a 65 6e  _FIRST + 6 }..en
ae00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
ae10: 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54  RLINE_COMPONENTT
ae20: 59 50 45 5f 44 53 54 5f 57 41 56 45 49 4e 20 3d  YPE_DST_WAVEIN =
ae30: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
ae40: 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f 46 49 52  NENTTYPE_DST_FIR
ae50: 53 54 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 7 }..enum :
ae60: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e   uint { MIXERLIN
ae70: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
ae80: 44 53 54 5f 56 4f 49 43 45 49 4e 20 3d 20 4d 49  DST_VOICEIN = MI
ae90: 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e  XERLINE_COMPONEN
aea0: 54 54 59 50 45 5f 44 53 54 5f 46 49 52 53 54 20  TTYPE_DST_FIRST 
aeb0: 2b 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 8 }..enum : ui
aec0: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43  nt { MIXERLINE_C
aed0: 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54  OMPONENTTYPE_DST
aee0: 5f 4c 41 53 54 20 3d 20 4d 49 58 45 52 4c 49 4e  _LAST = MIXERLIN
aef0: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
af00: 44 53 54 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d  DST_FIRST + 8 }.
af10: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
af20: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
af30: 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52  NENTTYPE_SRC_FIR
af40: 53 54 20 3d 20 30 78 30 30 30 30 31 30 30 30 20  ST = 0x00001000 
af50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
af60: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
af70: 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 55 4e 44  NENTTYPE_SRC_UND
af80: 45 46 49 4e 45 44 20 3d 20 4d 49 58 45 52 4c 49  EFINED = MIXERLI
af90: 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45  NE_COMPONENTTYPE
afa0: 5f 53 52 43 5f 46 49 52 53 54 20 2b 20 30 20 7d  _SRC_FIRST + 0 }
afb0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
afc0: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
afd0: 45 4e 54 54 59 50 45 5f 53 52 43 5f 44 49 47 49  ENTTYPE_SRC_DIGI
afe0: 54 41 4c 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f  TAL = MIXERLINE_
aff0: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52  COMPONENTTYPE_SR
b000: 43 5f 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 65  C_FIRST + 1 }..e
b010: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
b020: 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54  ERLINE_COMPONENT
b030: 54 59 50 45 5f 53 52 43 5f 4c 49 4e 45 20 3d 20  TYPE_SRC_LINE = 
b040: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
b050: 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53  ENTTYPE_SRC_FIRS
b060: 54 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 2 }..enum : 
b070: 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45  uint { MIXERLINE
b080: 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53  _COMPONENTTYPE_S
b090: 52 43 5f 4d 49 43 52 4f 50 48 4f 4e 45 20 3d 20  RC_MICROPHONE = 
b0a0: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
b0b0: 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53  ENTTYPE_SRC_FIRS
b0c0: 54 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 3 }..enum : 
b0d0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45  uint { MIXERLINE
b0e0: 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53  _COMPONENTTYPE_S
b0f0: 52 43 5f 53 59 4e 54 48 45 53 49 5a 45 52 20 3d  RC_SYNTHESIZER =
b100: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
b110: 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52  NENTTYPE_SRC_FIR
b120: 53 54 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 4 }..enum :
b130: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e   uint { MIXERLIN
b140: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
b150: 53 52 43 5f 43 4f 4d 50 41 43 54 44 49 53 43 20  SRC_COMPACTDISC 
b160: 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50  = MIXERLINE_COMP
b170: 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49  ONENTTYPE_SRC_FI
b180: 52 53 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20  RST + 5 }..enum 
b190: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49  : uint { MIXERLI
b1a0: 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45  NE_COMPONENTTYPE
b1b0: 5f 53 52 43 5f 54 45 4c 45 50 48 4f 4e 45 20 3d  _SRC_TELEPHONE =
b1c0: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
b1d0: 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52  NENTTYPE_SRC_FIR
b1e0: 53 54 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  ST + 6 }..enum :
b1f0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e   uint { MIXERLIN
b200: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
b210: 53 52 43 5f 50 43 53 50 45 41 4b 45 52 20 3d 20  SRC_PCSPEAKER = 
b220: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
b230: 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53  ENTTYPE_SRC_FIRS
b240: 54 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 7 }..enum : 
b250: 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45  uint { MIXERLINE
b260: 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53  _COMPONENTTYPE_S
b270: 52 43 5f 57 41 56 45 4f 55 54 20 3d 20 4d 49 58  RC_WAVEOUT = MIX
b280: 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54  ERLINE_COMPONENT
b290: 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54 20 2b  TYPE_SRC_FIRST +
b2a0: 20 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   8 }..enum : uin
b2b0: 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f  t { MIXERLINE_CO
b2c0: 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f  MPONENTTYPE_SRC_
b2d0: 41 55 58 49 4c 49 41 52 59 20 3d 20 4d 49 58 45  AUXILIARY = MIXE
b2e0: 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54  RLINE_COMPONENTT
b2f0: 59 50 45 5f 53 52 43 5f 46 49 52 53 54 20 2b 20  YPE_SRC_FIRST + 
b300: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
b310: 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d   { MIXERLINE_COM
b320: 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 41  PONENTTYPE_SRC_A
b330: 4e 41 4c 4f 47 20 3d 20 4d 49 58 45 52 4c 49 4e  NALOG = MIXERLIN
b340: 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f  E_COMPONENTTYPE_
b350: 53 52 43 5f 46 49 52 53 54 20 2b 20 31 30 20 7d  SRC_FIRST + 10 }
b360: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b370: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
b380: 45 4e 54 54 59 50 45 5f 53 52 43 5f 4c 41 53 54  ENTTYPE_SRC_LAST
b390: 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d   = MIXERLINE_COM
b3a0: 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 46  PONENTTYPE_SRC_F
b3b0: 49 52 53 54 20 2b 20 31 30 20 7d 0d 0a 0d 0a 65  IRST + 10 }....e
b3c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
b3d0: 45 52 4c 49 4e 45 5f 54 41 52 47 45 54 54 59 50  ERLINE_TARGETTYP
b3e0: 45 5f 55 4e 44 45 46 49 4e 45 44 20 3d 20 30 20  E_UNDEFINED = 0 
b3f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b400: 20 4d 49 58 45 52 4c 49 4e 45 5f 54 41 52 47 45   MIXERLINE_TARGE
b410: 54 54 59 50 45 5f 57 41 56 45 4f 55 54 20 3d 20  TTYPE_WAVEOUT = 
b420: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
b430: 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 54 41 52   { MIXERLINE_TAR
b440: 47 45 54 54 59 50 45 5f 57 41 56 45 49 4e 20 3d  GETTYPE_WAVEIN =
b450: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   2 }..enum : uin
b460: 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 54 41  t { MIXERLINE_TA
b470: 52 47 45 54 54 59 50 45 5f 4d 49 44 49 4f 55 54  RGETTYPE_MIDIOUT
b480: 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
b490: 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f  int { MIXERLINE_
b4a0: 54 41 52 47 45 54 54 59 50 45 5f 4d 49 44 49 49  TARGETTYPE_MIDII
b4b0: 4e 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  N = 4 }..enum : 
b4c0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45  uint { MIXERLINE
b4d0: 5f 54 41 52 47 45 54 54 59 50 45 5f 41 55 58 20  _TARGETTYPE_AUX 
b4e0: 3d 20 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64  = 5 }....// #ifd
b4f0: 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74  ef _WIN32....ext
b500: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
b510: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78  ort MMRESULT mix
b520: 65 72 47 65 74 4c 69 6e 65 49 6e 66 6f 41 28 48  erGetLineInfoA(H
b530: 4d 49 58 45 52 4f 42 4a 20 68 6d 78 6f 62 6a 2c  MIXEROBJ hmxobj,
b540: 20 4c 50 4d 49 58 45 52 4c 49 4e 45 41 20 70 6d   LPMIXERLINEA pm
b550: 78 6c 2c 20 44 57 4f 52 44 20 66 64 77 49 6e 66  xl, DWORD fdwInf
b560: 6f 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  o);..extern(Wind
b570: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
b580: 53 55 4c 54 20 6d 69 78 65 72 47 65 74 4c 69 6e  SULT mixerGetLin
b590: 65 49 6e 66 6f 57 28 48 4d 49 58 45 52 4f 42 4a  eInfoW(HMIXEROBJ
b5a0: 20 68 6d 78 6f 62 6a 2c 20 4c 50 4d 49 58 45 52   hmxobj, LPMIXER
b5b0: 4c 49 4e 45 57 20 70 6d 78 6c 2c 20 44 57 4f 52  LINEW pmxl, DWOR
b5c0: 44 20 66 64 77 49 6e 66 6f 29 3b 0d 0a 2f 2f 20  D fdwInfo);..// 
b5d0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
b5e0: 61 6c 69 61 73 20 6d 69 78 65 72 47 65 74 4c 69  alias mixerGetLi
b5f0: 6e 65 49 6e 66 6f 57 20 6d 69 78 65 72 47 65 74  neInfoW mixerGet
b600: 4c 69 6e 65 49 6e 66 6f 3b 0d 0a 2f 2f 20 23 65  LineInfo;..// #e
b610: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
b620: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
b630: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
b640: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
b650: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
b660: 74 20 7b 20 4d 49 58 45 52 5f 47 45 54 4c 49 4e  t { MIXER_GETLIN
b670: 45 49 4e 46 4f 46 5f 44 45 53 54 49 4e 41 54 49  EINFOF_DESTINATI
b680: 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 30 20  ON = 0x00000000 
b690: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b6a0: 20 4d 49 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e   MIXER_GETLINEIN
b6b0: 46 4f 46 5f 53 4f 55 52 43 45 20 3d 20 30 78 30  FOF_SOURCE = 0x0
b6c0: 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
b6d0: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 47  : uint { MIXER_G
b6e0: 45 54 4c 49 4e 45 49 4e 46 4f 46 5f 4c 49 4e 45  ETLINEINFOF_LINE
b6f0: 49 44 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  ID = 0x00000002 
b700: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b710: 20 4d 49 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e   MIXER_GETLINEIN
b720: 46 4f 46 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50  FOF_COMPONENTTYP
b730: 45 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d  E = 0x00000003 }
b740: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b750: 4d 49 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e 46  MIXER_GETLINEINF
b760: 4f 46 5f 54 41 52 47 45 54 54 59 50 45 20 3d 20  OF_TARGETTYPE = 
b770: 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a  0x00000004 }....
b780: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
b790: 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e 46 4f 46  XER_GETLINEINFOF
b7a0: 5f 51 55 45 52 59 4d 41 53 4b 20 3d 20 30 78 30  _QUERYMASK = 0x0
b7b0: 30 30 30 30 30 30 46 20 7d 0d 0a 0d 0a 65 78 74  000000F }....ext
b7c0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
b7d0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78  ort MMRESULT mix
b7e0: 65 72 47 65 74 49 44 28 48 4d 49 58 45 52 4f 42  erGetID(HMIXEROB
b7f0: 4a 20 68 6d 78 6f 62 6a 2c 20 55 49 4e 54 20 2a  J hmxobj, UINT *
b800: 70 75 4d 78 49 64 2c 20 44 57 4f 52 44 20 66 64  puMxId, DWORD fd
b810: 77 49 64 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  wId);....// #ifd
b820: 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72  ef _WIN32....str
b830: 75 63 74 20 74 61 67 4d 49 58 45 52 43 4f 4e 54  uct tagMIXERCONT
b840: 52 4f 4c 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20  ROLA {..  DWORD 
b850: 63 62 53 74 72 75 63 74 3b 0d 0a 20 20 44 57 4f  cbStruct;..  DWO
b860: 52 44 20 64 77 43 6f 6e 74 72 6f 6c 49 44 3b 0d  RD dwControlID;.
b870: 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6e 74 72  .  DWORD dwContr
b880: 6f 6c 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44  olType;..  DWORD
b890: 20 66 64 77 43 6f 6e 74 72 6f 6c 3b 0d 0a 20 20   fdwControl;..  
b8a0: 44 57 4f 52 44 20 63 4d 75 6c 74 69 70 6c 65 49  DWORD cMultipleI
b8b0: 74 65 6d 73 3b 0d 0a 20 20 43 48 41 52 20 73 7a  tems;..  CHAR sz
b8c0: 53 68 6f 72 74 4e 61 6d 65 5b 4d 49 58 45 52 5f  ShortName[MIXER_
b8d0: 53 48 4f 52 54 5f 4e 41 4d 45 5f 43 48 41 52 53  SHORT_NAME_CHARS
b8e0: 5d 3b 0d 0a 20 20 43 48 41 52 20 73 7a 4e 61 6d  ];..  CHAR szNam
b8f0: 65 5b 4d 49 58 45 52 5f 4c 4f 4e 47 5f 4e 41 4d  e[MIXER_LONG_NAM
b900: 45 5f 43 48 41 52 53 5d 3b 0d 0a 75 6e 69 6f 6e  E_CHARS];..union
b910: 20 5f 30 20 7b 0d 0a 73 74 72 75 63 74 20 7b 0d   _0 {..struct {.
b920: 0a 20 20 4c 4f 4e 47 20 6c 4d 69 6e 69 6d 75 6d  .  LONG lMinimum
b930: 3b 0d 0a 20 20 4c 4f 4e 47 20 6c 4d 61 78 69 6d  ;..  LONG lMaxim
b940: 75 6d 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74  um;..}....struct
b950: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 69   {..  DWORD dwMi
b960: 6e 69 6d 75 6d 3b 0d 0a 20 20 44 57 4f 52 44 20  nimum;..  DWORD 
b970: 64 77 4d 61 78 69 6d 75 6d 3b 0d 0a 7d 0d 0a 0d  dwMaximum;..}...
b980: 0a 20 20 44 57 4f 52 44 20 64 77 52 65 73 65 72  .  DWORD dwReser
b990: 76 65 64 5b 36 5d 3b 0d 0a 7d 0d 0a 5f 30 20 42  ved[6];..}.._0 B
b9a0: 6f 75 6e 64 73 3b 0d 0a 0d 0a 75 6e 69 6f 6e 20  ounds;....union 
b9b0: 5f 31 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 53  _1 {..  DWORD cS
b9c0: 74 65 70 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63  teps;..  DWORD c
b9d0: 62 43 75 73 74 6f 6d 44 61 74 61 3b 0d 0a 20 20  bCustomData;..  
b9e0: 44 57 4f 52 44 20 64 77 52 65 73 65 72 76 65 64  DWORD dwReserved
b9f0: 5b 36 5d 3b 0d 0a 7d 0d 0a 5f 31 20 4d 65 74 72  [6];..}.._1 Metr
ba00: 69 63 73 3b 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73  ics;....}..alias
ba10: 20 74 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c   tagMIXERCONTROL
ba20: 41 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 41 3b  A MIXERCONTROLA;
ba30: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52  ..alias tagMIXER
ba40: 43 4f 4e 54 52 4f 4c 41 2a 20 50 4d 49 58 45 52  CONTROLA* PMIXER
ba50: 43 4f 4e 54 52 4f 4c 41 3b 0d 0a 61 6c 69 61 73  CONTROLA;..alias
ba60: 20 74 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c   tagMIXERCONTROL
ba70: 41 2a 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f  A* LPMIXERCONTRO
ba80: 4c 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  LA;....struct ta
ba90: 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 57 20 7b  gMIXERCONTROLW {
baa0: 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 74 72 75  ..  DWORD cbStru
bab0: 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43  ct;..  DWORD dwC
bac0: 6f 6e 74 72 6f 6c 49 44 3b 0d 0a 20 20 44 57 4f  ontrolID;..  DWO
bad0: 52 44 20 64 77 43 6f 6e 74 72 6f 6c 54 79 70 65  RD dwControlType
bae0: 3b 0d 0a 20 20 44 57 4f 52 44 20 66 64 77 43 6f  ;..  DWORD fdwCo
baf0: 6e 74 72 6f 6c 3b 0d 0a 20 20 44 57 4f 52 44 20  ntrol;..  DWORD 
bb00: 63 4d 75 6c 74 69 70 6c 65 49 74 65 6d 73 3b 0d  cMultipleItems;.
bb10: 0a 20 20 57 43 48 41 52 20 73 7a 53 68 6f 72 74  .  WCHAR szShort
bb20: 4e 61 6d 65 5b 4d 49 58 45 52 5f 53 48 4f 52 54  Name[MIXER_SHORT
bb30: 5f 4e 41 4d 45 5f 43 48 41 52 53 5d 3b 0d 0a 20  _NAME_CHARS];.. 
bb40: 20 57 43 48 41 52 20 73 7a 4e 61 6d 65 5b 4d 49   WCHAR szName[MI
bb50: 58 45 52 5f 4c 4f 4e 47 5f 4e 41 4d 45 5f 43 48  XER_LONG_NAME_CH
bb60: 41 52 53 5d 3b 0d 0a 75 6e 69 6f 6e 20 5f 32 20  ARS];..union _2 
bb70: 7b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 4c  {..struct {..  L
bb80: 4f 4e 47 20 6c 4d 69 6e 69 6d 75 6d 3b 0d 0a 20  ONG lMinimum;.. 
bb90: 20 4c 4f 4e 47 20 6c 4d 61 78 69 6d 75 6d 3b 0d   LONG lMaximum;.
bba0: 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 7b 0d 0a  .}....struct {..
bbb0: 20 20 44 57 4f 52 44 20 64 77 4d 69 6e 69 6d 75    DWORD dwMinimu
bbc0: 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61  m;..  DWORD dwMa
bbd0: 78 69 6d 75 6d 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44  ximum;..}....  D
bbe0: 57 4f 52 44 20 64 77 52 65 73 65 72 76 65 64 5b  WORD dwReserved[
bbf0: 36 5d 3b 0d 0a 7d 0d 0a 5f 32 20 42 6f 75 6e 64  6];..}.._2 Bound
bc00: 73 3b 0d 0a 0d 0a 75 6e 69 6f 6e 20 5f 33 20 7b  s;....union _3 {
bc10: 0d 0a 20 20 44 57 4f 52 44 20 63 53 74 65 70 73  ..  DWORD cSteps
bc20: 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62 43 75 73  ;..  DWORD cbCus
bc30: 74 6f 6d 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52  tomData;..  DWOR
bc40: 44 20 64 77 52 65 73 65 72 76 65 64 5b 36 5d 3b  D dwReserved[6];
bc50: 0d 0a 7d 0d 0a 5f 33 20 4d 65 74 72 69 63 73 3b  ..}.._3 Metrics;
bc60: 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  ....}..alias tag
bc70: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 57 20 4d 49  MIXERCONTROLW MI
bc80: 58 45 52 43 4f 4e 54 52 4f 4c 57 3b 0d 0a 61 6c  XERCONTROLW;..al
bc90: 69 61 73 20 74 61 67 4d 49 58 45 52 43 4f 4e 54  ias tagMIXERCONT
bca0: 52 4f 4c 57 2a 20 50 4d 49 58 45 52 43 4f 4e 54  ROLW* PMIXERCONT
bcb0: 52 4f 4c 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ROLW;..alias tag
bcc0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 57 2a 20 4c  MIXERCONTROLW* L
bcd0: 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 57 3b 0d  PMIXERCONTROLW;.
bce0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
bcf0: 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d 49 58 45  CODE..alias MIXE
bd00: 52 43 4f 4e 54 52 4f 4c 57 20 4d 49 58 45 52 43  RCONTROLW MIXERC
bd10: 4f 4e 54 52 4f 4c 3b 0d 0a 61 6c 69 61 73 20 50  ONTROL;..alias P
bd20: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 57 20 50 4d  MIXERCONTROLW PM
bd30: 49 58 45 52 43 4f 4e 54 52 4f 4c 3b 0d 0a 61 6c  IXERCONTROL;..al
bd40: 69 61 73 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52  ias LPMIXERCONTR
bd50: 4f 4c 57 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52  OLW LPMIXERCONTR
bd60: 4f 4c 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  OL;..// #else../
bd70: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
bd80: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f   // UNICODE..../
bd90: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
bda0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
bdb0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
bdc0: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
bdd0: 46 5f 55 4e 49 46 4f 52 4d 20 3d 20 30 78 30 30  F_UNIFORM = 0x00
bde0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
bdf0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
be00: 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 46 5f 4d 55  TROL_CONTROLF_MU
be10: 4c 54 49 50 4c 45 20 3d 20 30 78 30 30 30 30 30  LTIPLE = 0x00000
be20: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
be30: 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f  nt { MIXERCONTRO
be40: 4c 5f 43 4f 4e 54 52 4f 4c 46 5f 44 49 53 41 42  L_CONTROLF_DISAB
be50: 4c 45 44 20 3d 20 30 78 38 30 30 30 30 30 30 30  LED = 0x80000000
be60: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
be70: 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  t { MIXERCONTROL
be80: 5f 43 54 5f 43 4c 41 53 53 5f 4d 41 53 4b 20 3d  _CT_CLASS_MASK =
be90: 20 30 78 46 30 30 30 30 30 30 30 20 7d 0d 0a 65   0xF0000000 }..e
bea0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
beb0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41  ERCONTROL_CT_CLA
bec0: 53 53 5f 43 55 53 54 4f 4d 20 3d 20 30 78 30 30  SS_CUSTOM = 0x00
bed0: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
bee0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
bef0: 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 4d 45  TROL_CT_CLASS_ME
bf00: 54 45 52 20 3d 20 30 78 31 30 30 30 30 30 30 30  TER = 0x10000000
bf10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bf20: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
bf30: 54 5f 43 4c 41 53 53 5f 53 57 49 54 43 48 20 3d  T_CLASS_SWITCH =
bf40: 20 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x20000000 }..e
bf50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
bf60: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41  ERCONTROL_CT_CLA
bf70: 53 53 5f 4e 55 4d 42 45 52 20 3d 20 30 78 33 30  SS_NUMBER = 0x30
bf80: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
bf90: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
bfa0: 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 53 4c  TROL_CT_CLASS_SL
bfb0: 49 44 45 52 20 3d 20 30 78 34 30 30 30 30 30 30  IDER = 0x4000000
bfc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
bfd0: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
bfe0: 43 54 5f 43 4c 41 53 53 5f 46 41 44 45 52 20 3d  CT_CLASS_FADER =
bff0: 20 30 78 35 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x50000000 }..e
c000: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
c010: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41  ERCONTROL_CT_CLA
c020: 53 53 5f 54 49 4d 45 20 3d 20 30 78 36 30 30 30  SS_TIME = 0x6000
c030: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
c040: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
c050: 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 4c 49 53 54  OL_CT_CLASS_LIST
c060: 20 3d 20 30 78 37 30 30 30 30 30 30 30 20 7d 0d   = 0x70000000 }.
c070: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
c080: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54   MIXERCONTROL_CT
c090: 5f 53 55 42 43 4c 41 53 53 5f 4d 41 53 4b 20 3d  _SUBCLASS_MASK =
c0a0: 20 30 78 30 46 30 30 30 30 30 30 20 7d 0d 0a 0d   0x0F000000 }...
c0b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
c0c0: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53  IXERCONTROL_CT_S
c0d0: 43 5f 53 57 49 54 43 48 5f 42 4f 4f 4c 45 41 4e  C_SWITCH_BOOLEAN
c0e0: 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
c0f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
c100: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53  IXERCONTROL_CT_S
c110: 43 5f 53 57 49 54 43 48 5f 42 55 54 54 4f 4e 20  C_SWITCH_BUTTON 
c120: 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a  = 0x01000000 }..
c130: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c140: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c150: 53 43 5f 4d 45 54 45 52 5f 50 4f 4c 4c 45 44 20  SC_METER_POLLED 
c160: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
c170: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c180: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c190: 53 43 5f 54 49 4d 45 5f 4d 49 43 52 4f 53 45 43  SC_TIME_MICROSEC
c1a0: 53 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  S = 0x00000000 }
c1b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c1c0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c1d0: 53 43 5f 54 49 4d 45 5f 4d 49 4c 4c 49 53 45 43  SC_TIME_MILLISEC
c1e0: 53 20 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d  S = 0x01000000 }
c1f0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
c200: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
c210: 54 5f 53 43 5f 4c 49 53 54 5f 53 49 4e 47 4c 45  T_SC_LIST_SINGLE
c220: 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
c230: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
c240: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53  IXERCONTROL_CT_S
c250: 43 5f 4c 49 53 54 5f 4d 55 4c 54 49 50 4c 45 20  C_LIST_MULTIPLE 
c260: 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a  = 0x01000000 }..
c270: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c280: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c290: 55 4e 49 54 53 5f 4d 41 53 4b 20 3d 20 30 78 30  UNITS_MASK = 0x0
c2a0: 30 46 46 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0FF0000 }..enum 
c2b0: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f  : uint { MIXERCO
c2c0: 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 43  NTROL_CT_UNITS_C
c2d0: 55 53 54 4f 4d 20 3d 20 30 78 30 30 30 30 30 30  USTOM = 0x000000
c2e0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
c2f0: 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  t { MIXERCONTROL
c300: 5f 43 54 5f 55 4e 49 54 53 5f 42 4f 4f 4c 45 41  _CT_UNITS_BOOLEA
c310: 4e 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d  N = 0x00010000 }
c320: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c330: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c340: 55 4e 49 54 53 5f 53 49 47 4e 45 44 20 3d 20 30  UNITS_SIGNED = 0
c350: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
c360: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
c370: 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53  CONTROL_CT_UNITS
c380: 5f 55 4e 53 49 47 4e 45 44 20 3d 20 30 78 30 30  _UNSIGNED = 0x00
c390: 30 33 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  030000 }..enum :
c3a0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
c3b0: 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 44 45  TROL_CT_UNITS_DE
c3c0: 43 49 42 45 4c 53 20 3d 20 30 78 30 30 30 34 30  CIBELS = 0x00040
c3d0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
c3e0: 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f  nt { MIXERCONTRO
c3f0: 4c 5f 43 54 5f 55 4e 49 54 53 5f 50 45 52 43 45  L_CT_UNITS_PERCE
c400: 4e 54 20 3d 20 30 78 30 30 30 35 30 30 30 30 20  NT = 0x00050000 
c410: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
c420: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
c430: 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 43 55 53 54  CONTROLTYPE_CUST
c440: 4f 4d 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f  OM = MIXERCONTRO
c450: 4c 5f 43 54 5f 43 4c 41 53 53 5f 43 55 53 54 4f  L_CT_CLASS_CUSTO
c460: 4d 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  M | MIXERCONTROL
c470: 5f 43 54 5f 55 4e 49 54 53 5f 43 55 53 54 4f 4d  _CT_UNITS_CUSTOM
c480: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c490: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
c4a0: 4f 4e 54 52 4f 4c 54 59 50 45 5f 42 4f 4f 4c 45  ONTROLTYPE_BOOLE
c4b0: 41 4e 4d 45 54 45 52 20 3d 20 4d 49 58 45 52 43  ANMETER = MIXERC
c4c0: 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f  ONTROL_CT_CLASS_
c4d0: 4d 45 54 45 52 20 7c 20 4d 49 58 45 52 43 4f 4e  METER | MIXERCON
c4e0: 54 52 4f 4c 5f 43 54 5f 53 43 5f 4d 45 54 45 52  TROL_CT_SC_METER
c4f0: 5f 50 4f 4c 4c 45 44 20 7c 20 4d 49 58 45 52 43  _POLLED | MIXERC
c500: 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f  ONTROL_CT_UNITS_
c510: 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75 6d 20  BOOLEAN }..enum 
c520: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f  : uint { MIXERCO
c530: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
c540: 45 5f 53 49 47 4e 45 44 4d 45 54 45 52 20 3d 20  E_SIGNEDMETER = 
c550: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c560: 43 4c 41 53 53 5f 4d 45 54 45 52 20 7c 20 4d 49  CLASS_METER | MI
c570: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43  XERCONTROL_CT_SC
c580: 5f 4d 45 54 45 52 5f 50 4f 4c 4c 45 44 20 7c 20  _METER_POLLED | 
c590: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c5a0: 55 4e 49 54 53 5f 53 49 47 4e 45 44 20 7d 0d 0a  UNITS_SIGNED }..
c5b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c5c0: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
c5d0: 4f 4c 54 59 50 45 5f 50 45 41 4b 4d 45 54 45 52  OLTYPE_PEAKMETER
c5e0: 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   = MIXERCONTROL_
c5f0: 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 53 49 47 4e  CONTROLTYPE_SIGN
c600: 45 44 4d 45 54 45 52 20 2b 20 31 20 7d 0d 0a 65  EDMETER + 1 }..e
c610: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
c620: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
c630: 4c 54 59 50 45 5f 55 4e 53 49 47 4e 45 44 4d 45  LTYPE_UNSIGNEDME
c640: 54 45 52 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52  TER = MIXERCONTR
c650: 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 4d 45 54 45  OL_CT_CLASS_METE
c660: 52 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  R | MIXERCONTROL
c670: 5f 43 54 5f 53 43 5f 4d 45 54 45 52 5f 50 4f 4c  _CT_SC_METER_POL
c680: 4c 45 44 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52  LED | MIXERCONTR
c690: 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 55 4e 53 49  OL_CT_UNITS_UNSI
c6a0: 47 4e 45 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  GNED }..enum : u
c6b0: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
c6c0: 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 42  OL_CONTROLTYPE_B
c6d0: 4f 4f 4c 45 41 4e 20 3d 20 4d 49 58 45 52 43 4f  OOLEAN = MIXERCO
c6e0: 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 53  NTROL_CT_CLASS_S
c6f0: 57 49 54 43 48 20 7c 20 4d 49 58 45 52 43 4f 4e  WITCH | MIXERCON
c700: 54 52 4f 4c 5f 43 54 5f 53 43 5f 53 57 49 54 43  TROL_CT_SC_SWITC
c710: 48 5f 42 4f 4f 4c 45 41 4e 20 7c 20 4d 49 58 45  H_BOOLEAN | MIXE
c720: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54  RCONTROL_CT_UNIT
c730: 53 5f 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75  S_BOOLEAN }..enu
c740: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
c750: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
c760: 59 50 45 5f 4f 4e 4f 46 46 20 3d 20 4d 49 58 45  YPE_ONOFF = MIXE
c770: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
c780: 54 59 50 45 5f 42 4f 4f 4c 45 41 4e 20 2b 20 31  TYPE_BOOLEAN + 1
c790: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c7a0: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
c7b0: 4f 4e 54 52 4f 4c 54 59 50 45 5f 4d 55 54 45 20  ONTROLTYPE_MUTE 
c7c0: 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  = MIXERCONTROL_C
c7d0: 4f 4e 54 52 4f 4c 54 59 50 45 5f 42 4f 4f 4c 45  ONTROLTYPE_BOOLE
c7e0: 41 4e 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  AN + 2 }..enum :
c7f0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
c800: 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45  TROL_CONTROLTYPE
c810: 5f 4d 4f 4e 4f 20 3d 20 4d 49 58 45 52 43 4f 4e  _MONO = MIXERCON
c820: 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45  TROL_CONTROLTYPE
c830: 5f 42 4f 4f 4c 45 41 4e 20 2b 20 33 20 7d 0d 0a  _BOOLEAN + 3 }..
c840: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c850: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
c860: 4f 4c 54 59 50 45 5f 4c 4f 55 44 4e 45 53 53 20  OLTYPE_LOUDNESS 
c870: 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  = MIXERCONTROL_C
c880: 4f 4e 54 52 4f 4c 54 59 50 45 5f 42 4f 4f 4c 45  ONTROLTYPE_BOOLE
c890: 41 4e 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  AN + 4 }..enum :
c8a0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
c8b0: 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45  TROL_CONTROLTYPE
c8c0: 5f 53 54 45 52 45 4f 45 4e 48 20 3d 20 4d 49 58  _STEREOENH = MIX
c8d0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
c8e0: 4c 54 59 50 45 5f 42 4f 4f 4c 45 41 4e 20 2b 20  LTYPE_BOOLEAN + 
c8f0: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
c900: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
c910: 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 42 41 53 53  CONTROLTYPE_BASS
c920: 5f 42 4f 4f 53 54 20 3d 20 4d 49 58 45 52 43 4f  _BOOST = MIXERCO
c930: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
c940: 45 5f 42 4f 4f 4c 45 41 4e 20 2b 20 30 78 30 30  E_BOOLEAN + 0x00
c950: 30 30 32 32 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a  002277 }..enum :
c960: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e   uint { MIXERCON
c970: 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45  TROL_CONTROLTYPE
c980: 5f 42 55 54 54 4f 4e 20 3d 20 4d 49 58 45 52 43  _BUTTON = MIXERC
c990: 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f  ONTROL_CT_CLASS_
c9a0: 53 57 49 54 43 48 20 7c 20 4d 49 58 45 52 43 4f  SWITCH | MIXERCO
c9b0: 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 53 57 49 54  NTROL_CT_SC_SWIT
c9c0: 43 48 5f 42 55 54 54 4f 4e 20 7c 20 4d 49 58 45  CH_BUTTON | MIXE
c9d0: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54  RCONTROL_CT_UNIT
c9e0: 53 5f 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75  S_BOOLEAN }..enu
c9f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
ca00: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
ca10: 59 50 45 5f 44 45 43 49 42 45 4c 53 20 3d 20 4d  YPE_DECIBELS = M
ca20: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43  IXERCONTROL_CT_C
ca30: 4c 41 53 53 5f 4e 55 4d 42 45 52 20 7c 20 4d 49  LASS_NUMBER | MI
ca40: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e  XERCONTROL_CT_UN
ca50: 49 54 53 5f 44 45 43 49 42 45 4c 53 20 7d 0d 0a  ITS_DECIBELS }..
ca60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
ca70: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
ca80: 4f 4c 54 59 50 45 5f 53 49 47 4e 45 44 20 3d 20  OLTYPE_SIGNED = 
ca90: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
caa0: 43 4c 41 53 53 5f 4e 55 4d 42 45 52 20 7c 20 4d  CLASS_NUMBER | M
cab0: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55  IXERCONTROL_CT_U
cac0: 4e 49 54 53 5f 53 49 47 4e 45 44 20 7d 0d 0a 65  NITS_SIGNED }..e
cad0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
cae0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
caf0: 4c 54 59 50 45 5f 55 4e 53 49 47 4e 45 44 20 3d  LTYPE_UNSIGNED =
cb00: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54   MIXERCONTROL_CT
cb10: 5f 43 4c 41 53 53 5f 4e 55 4d 42 45 52 20 7c 20  _CLASS_NUMBER | 
cb20: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
cb30: 55 4e 49 54 53 5f 55 4e 53 49 47 4e 45 44 20 7d  UNITS_UNSIGNED }
cb40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
cb50: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
cb60: 54 52 4f 4c 54 59 50 45 5f 50 45 52 43 45 4e 54  TROLTYPE_PERCENT
cb70: 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   = MIXERCONTROL_
cb80: 43 54 5f 43 4c 41 53 53 5f 4e 55 4d 42 45 52 20  CT_CLASS_NUMBER 
cb90: 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  | MIXERCONTROL_C
cba0: 54 5f 55 4e 49 54 53 5f 50 45 52 43 45 4e 54 20  T_UNITS_PERCENT 
cbb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
cbc0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f   MIXERCONTROL_CO
cbd0: 4e 54 52 4f 4c 54 59 50 45 5f 53 4c 49 44 45 52  NTROLTYPE_SLIDER
cbe0: 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   = MIXERCONTROL_
cbf0: 43 54 5f 43 4c 41 53 53 5f 53 4c 49 44 45 52 20  CT_CLASS_SLIDER 
cc00: 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  | MIXERCONTROL_C
cc10: 54 5f 55 4e 49 54 53 5f 53 49 47 4e 45 44 20 7d  T_UNITS_SIGNED }
cc20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
cc30: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
cc40: 54 52 4f 4c 54 59 50 45 5f 50 41 4e 20 3d 20 4d  TROLTYPE_PAN = M
cc50: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54  IXERCONTROL_CONT
cc60: 52 4f 4c 54 59 50 45 5f 53 4c 49 44 45 52 20 2b  ROLTYPE_SLIDER +
cc70: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
cc80: 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  t { MIXERCONTROL
cc90: 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 51 53 4f  _CONTROLTYPE_QSO
cca0: 55 4e 44 50 41 4e 20 3d 20 4d 49 58 45 52 43 4f  UNDPAN = MIXERCO
ccb0: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
ccc0: 45 5f 53 4c 49 44 45 52 20 2b 20 32 20 7d 0d 0a  E_SLIDER + 2 }..
ccd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
cce0: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
ccf0: 4f 4c 54 59 50 45 5f 46 41 44 45 52 20 3d 20 4d  OLTYPE_FADER = M
cd00: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43  IXERCONTROL_CT_C
cd10: 4c 41 53 53 5f 46 41 44 45 52 20 7c 20 4d 49 58  LASS_FADER | MIX
cd20: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49  ERCONTROL_CT_UNI
cd30: 54 53 5f 55 4e 53 49 47 4e 45 44 20 7d 0d 0a 65  TS_UNSIGNED }..e
cd40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
cd50: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
cd60: 4c 54 59 50 45 5f 56 4f 4c 55 4d 45 20 3d 20 4d  LTYPE_VOLUME = M
cd70: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54  IXERCONTROL_CONT
cd80: 52 4f 4c 54 59 50 45 5f 46 41 44 45 52 20 2b 20  ROLTYPE_FADER + 
cd90: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
cda0: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
cdb0: 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 42 41 53 53  CONTROLTYPE_BASS
cdc0: 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   = MIXERCONTROL_
cdd0: 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 46 41 44 45  CONTROLTYPE_FADE
cde0: 52 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R + 2 }..enum : 
cdf0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54  uint { MIXERCONT
ce00: 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f  ROL_CONTROLTYPE_
ce10: 54 52 45 42 4c 45 20 3d 20 4d 49 58 45 52 43 4f  TREBLE = MIXERCO
ce20: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
ce30: 45 5f 46 41 44 45 52 20 2b 20 33 20 7d 0d 0a 65  E_FADER + 3 }..e
ce40: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
ce50: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
ce60: 4c 54 59 50 45 5f 45 51 55 41 4c 49 5a 45 52 20  LTYPE_EQUALIZER 
ce70: 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  = MIXERCONTROL_C
ce80: 4f 4e 54 52 4f 4c 54 59 50 45 5f 46 41 44 45 52  ONTROLTYPE_FADER
ce90: 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 4 }..enum : u
cea0: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
ceb0: 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 53  OL_CONTROLTYPE_S
cec0: 49 4e 47 4c 45 53 45 4c 45 43 54 20 3d 20 4d 49  INGLESELECT = MI
ced0: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c  XERCONTROL_CT_CL
cee0: 41 53 53 5f 4c 49 53 54 20 7c 20 4d 49 58 45 52  ASS_LIST | MIXER
cef0: 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 4c 49  CONTROL_CT_SC_LI
cf00: 53 54 5f 53 49 4e 47 4c 45 20 7c 20 4d 49 58 45  ST_SINGLE | MIXE
cf10: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54  RCONTROL_CT_UNIT
cf20: 53 5f 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75  S_BOOLEAN }..enu
cf30: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
cf40: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
cf50: 59 50 45 5f 4d 55 58 20 3d 20 4d 49 58 45 52 43  YPE_MUX = MIXERC
cf60: 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59  ONTROL_CONTROLTY
cf70: 50 45 5f 53 49 4e 47 4c 45 53 45 4c 45 43 54 20  PE_SINGLESELECT 
cf80: 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 1 }..enum : ui
cf90: 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f  nt { MIXERCONTRO
cfa0: 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 4d 55  L_CONTROLTYPE_MU
cfb0: 4c 54 49 50 4c 45 53 45 4c 45 43 54 20 3d 20 4d  LTIPLESELECT = M
cfc0: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43  IXERCONTROL_CT_C
cfd0: 4c 41 53 53 5f 4c 49 53 54 20 7c 20 4d 49 58 45  LASS_LIST | MIXE
cfe0: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 4c  RCONTROL_CT_SC_L
cff0: 49 53 54 5f 4d 55 4c 54 49 50 4c 45 20 7c 20 4d  IST_MULTIPLE | M
d000: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55  IXERCONTROL_CT_U
d010: 4e 49 54 53 5f 42 4f 4f 4c 45 41 4e 20 7d 0d 0a  NITS_BOOLEAN }..
d020: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
d030: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
d040: 4f 4c 54 59 50 45 5f 4d 49 58 45 52 20 3d 20 4d  OLTYPE_MIXER = M
d050: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54  IXERCONTROL_CONT
d060: 52 4f 4c 54 59 50 45 5f 4d 55 4c 54 49 50 4c 45  ROLTYPE_MULTIPLE
d070: 53 45 4c 45 43 54 20 2b 20 31 20 7d 0d 0a 65 6e  SELECT + 1 }..en
d080: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
d090: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
d0a0: 54 59 50 45 5f 4d 49 43 52 4f 54 49 4d 45 20 3d  TYPE_MICROTIME =
d0b0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54   MIXERCONTROL_CT
d0c0: 5f 43 4c 41 53 53 5f 54 49 4d 45 20 7c 20 4d 49  _CLASS_TIME | MI
d0d0: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43  XERCONTROL_CT_SC
d0e0: 5f 54 49 4d 45 5f 4d 49 43 52 4f 53 45 43 53 20  _TIME_MICROSECS 
d0f0: 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  | MIXERCONTROL_C
d100: 54 5f 55 4e 49 54 53 5f 55 4e 53 49 47 4e 45 44  T_UNITS_UNSIGNED
d110: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d120: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
d130: 4f 4e 54 52 4f 4c 54 59 50 45 5f 4d 49 4c 4c 49  ONTROLTYPE_MILLI
d140: 54 49 4d 45 20 3d 20 4d 49 58 45 52 43 4f 4e 54  TIME = MIXERCONT
d150: 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 54 49 4d  ROL_CT_CLASS_TIM
d160: 45 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  E | MIXERCONTROL
d170: 5f 43 54 5f 53 43 5f 54 49 4d 45 5f 4d 49 4c 4c  _CT_SC_TIME_MILL
d180: 49 53 45 43 53 20 7c 20 4d 49 58 45 52 43 4f 4e  ISECS | MIXERCON
d190: 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 55 4e  TROL_CT_UNITS_UN
d1a0: 53 49 47 4e 45 44 20 7d 0d 0a 0d 0a 2f 2f 20 23  SIGNED }....// #
d1b0: 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a  ifdef _WIN32....
d1c0: 73 74 72 75 63 74 20 74 61 67 4d 49 58 45 52 4c  struct tagMIXERL
d1d0: 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 20 7b 0d 0a  INECONTROLSA {..
d1e0: 20 20 44 57 4f 52 44 20 63 62 53 74 72 75 63 74    DWORD cbStruct
d1f0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c 69 6e  ;..  DWORD dwLin
d200: 65 49 44 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20  eID;..union {.. 
d210: 20 44 57 4f 52 44 20 64 77 43 6f 6e 74 72 6f 6c   DWORD dwControl
d220: 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43  ID;..  DWORD dwC
d230: 6f 6e 74 72 6f 6c 54 79 70 65 3b 0d 0a 7d 0d 0a  ontrolType;..}..
d240: 0d 0a 20 20 44 57 4f 52 44 20 63 43 6f 6e 74 72  ..  DWORD cContr
d250: 6f 6c 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62  ols;..  DWORD cb
d260: 6d 78 63 74 72 6c 3b 0d 0a 20 20 4c 50 4d 49 58  mxctrl;..  LPMIX
d270: 45 52 43 4f 4e 54 52 4f 4c 41 20 70 61 6d 78 63  ERCONTROLA pamxc
d280: 74 72 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  trl;..}..alias t
d290: 61 67 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52  agMIXERLINECONTR
d2a0: 4f 4c 53 41 20 4d 49 58 45 52 4c 49 4e 45 43 4f  OLSA MIXERLINECO
d2b0: 4e 54 52 4f 4c 53 41 3b 0d 0a 61 6c 69 61 73 20  NTROLSA;..alias 
d2c0: 74 61 67 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54  tagMIXERLINECONT
d2d0: 52 4f 4c 53 41 2a 20 50 4d 49 58 45 52 4c 49 4e  ROLSA* PMIXERLIN
d2e0: 45 43 4f 4e 54 52 4f 4c 53 41 3b 0d 0a 61 6c 69  ECONTROLSA;..ali
d2f0: 61 73 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 43  as tagMIXERLINEC
d300: 4f 4e 54 52 4f 4c 53 41 2a 20 4c 50 4d 49 58 45  ONTROLSA* LPMIXE
d310: 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 3b 0d  RLINECONTROLSA;.
d320: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58  ...struct tagMIX
d330: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 57 20  ERLINECONTROLSW 
d340: 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 74 72  {..  DWORD cbStr
d350: 75 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  uct;..  DWORD dw
d360: 4c 69 6e 65 49 44 3b 0d 0a 75 6e 69 6f 6e 20 7b  LineID;..union {
d370: 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6e 74  ..  DWORD dwCont
d380: 72 6f 6c 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20  rolID;..  DWORD 
d390: 64 77 43 6f 6e 74 72 6f 6c 54 79 70 65 3b 0d 0a  dwControlType;..
d3a0: 7d 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 63 43 6f  }....  DWORD cCo
d3b0: 6e 74 72 6f 6c 73 3b 0d 0a 20 20 44 57 4f 52 44  ntrols;..  DWORD
d3c0: 20 63 62 6d 78 63 74 72 6c 3b 0d 0a 20 20 4c 50   cbmxctrl;..  LP
d3d0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 57 20 70 61  MIXERCONTROLW pa
d3e0: 6d 78 63 74 72 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61  mxctrl;..}..alia
d3f0: 73 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 43 4f  s tagMIXERLINECO
d400: 4e 54 52 4f 4c 53 57 20 4d 49 58 45 52 4c 49 4e  NTROLSW MIXERLIN
d410: 45 43 4f 4e 54 52 4f 4c 53 57 3b 0d 0a 61 6c 69  ECONTROLSW;..ali
d420: 61 73 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 43  as tagMIXERLINEC
d430: 4f 4e 54 52 4f 4c 53 57 2a 20 50 4d 49 58 45 52  ONTROLSW* PMIXER
d440: 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 57 3b 0d 0a  LINECONTROLSW;..
d450: 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 4c 49  alias tagMIXERLI
d460: 4e 45 43 4f 4e 54 52 4f 4c 53 57 2a 20 4c 50 4d  NECONTROLSW* LPM
d470: 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53  IXERLINECONTROLS
d480: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
d490: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d  UNICODE..alias M
d4a0: 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53  IXERLINECONTROLS
d4b0: 57 20 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52  W MIXERLINECONTR
d4c0: 4f 4c 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 58  OLS;..alias PMIX
d4d0: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 57 20  ERLINECONTROLSW 
d4e0: 50 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f  PMIXERLINECONTRO
d4f0: 4c 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 49 58  LS;..alias LPMIX
d500: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 57 20  ERLINECONTROLSW 
d510: 4c 50 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52  LPMIXERLINECONTR
d520: 4f 4c 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  OLS;..// #else..
d530: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
d540: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
d550: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
d560: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
d570: 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
d580: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
d590: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
d5a0: 4c 54 20 6d 69 78 65 72 47 65 74 4c 69 6e 65 43  LT mixerGetLineC
d5b0: 6f 6e 74 72 6f 6c 73 41 28 48 4d 49 58 45 52 4f  ontrolsA(HMIXERO
d5c0: 42 4a 20 68 6d 78 6f 62 6a 2c 20 4c 50 4d 49 58  BJ hmxobj, LPMIX
d5d0: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 20  ERLINECONTROLSA 
d5e0: 70 6d 78 6c 63 2c 20 44 57 4f 52 44 20 66 64 77  pmxlc, DWORD fdw
d5f0: 43 6f 6e 74 72 6f 6c 73 29 3b 0d 0a 65 78 74 65  Controls);..exte
d600: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
d610: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78 65  rt MMRESULT mixe
d620: 72 47 65 74 4c 69 6e 65 43 6f 6e 74 72 6f 6c 73  rGetLineControls
d630: 57 28 48 4d 49 58 45 52 4f 42 4a 20 68 6d 78 6f  W(HMIXEROBJ hmxo
d640: 62 6a 2c 20 4c 50 4d 49 58 45 52 4c 49 4e 45 43  bj, LPMIXERLINEC
d650: 4f 4e 54 52 4f 4c 53 57 20 70 6d 78 6c 63 2c 20  ONTROLSW pmxlc, 
d660: 44 57 4f 52 44 20 66 64 77 43 6f 6e 74 72 6f 6c  DWORD fdwControl
d670: 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  s);..// #ifdef U
d680: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 6d 69  NICODE..alias mi
d690: 78 65 72 47 65 74 4c 69 6e 65 43 6f 6e 74 72 6f  xerGetLineContro
d6a0: 6c 73 57 20 6d 69 78 65 72 47 65 74 4c 69 6e 65  lsW mixerGetLine
d6b0: 43 6f 6e 74 72 6f 6c 73 3b 0d 0a 2f 2f 20 23 65  Controls;..// #e
d6c0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
d6d0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
d6e0: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
d6f0: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
d700: 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  if....enum : uin
d710: 74 20 7b 20 4d 49 58 45 52 5f 47 45 54 4c 49 4e  t { MIXER_GETLIN
d720: 45 43 4f 4e 54 52 4f 4c 53 46 5f 41 4c 4c 20 3d  ECONTROLSF_ALL =
d730: 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
d740: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
d750: 45 52 5f 47 45 54 4c 49 4e 45 43 4f 4e 54 52 4f  ER_GETLINECONTRO
d760: 4c 53 46 5f 4f 4e 45 42 59 49 44 20 3d 20 30 78  LSF_ONEBYID = 0x
d770: 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
d780: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f   : uint { MIXER_
d790: 47 45 54 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 46  GETLINECONTROLSF
d7a0: 5f 4f 4e 45 42 59 54 59 50 45 20 3d 20 30 78 30  _ONEBYTYPE = 0x0
d7b0: 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75  0000002 }....enu
d7c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
d7d0: 5f 47 45 54 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53  _GETLINECONTROLS
d7e0: 46 5f 51 55 45 52 59 4d 41 53 4b 20 3d 20 30 78  F_QUERYMASK = 0x
d7f0: 30 30 30 30 30 30 30 46 20 7d 0d 0a 0d 0a 73 74  0000000F }....st
d800: 72 75 63 74 20 74 4d 49 58 45 52 43 4f 4e 54 52  ruct tMIXERCONTR
d810: 4f 4c 44 45 54 41 49 4c 53 20 7b 0d 0a 20 20 44  OLDETAILS {..  D
d820: 57 4f 52 44 20 63 62 53 74 72 75 63 74 3b 0d 0a  WORD cbStruct;..
d830: 20 20 44 57 4f 52 44 20 64 77 43 6f 6e 74 72 6f    DWORD dwContro
d840: 6c 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20 63 43  lID;..  DWORD cC
d850: 68 61 6e 6e 65 6c 73 3b 0d 0a 75 6e 69 6f 6e 20  hannels;..union 
d860: 7b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4f 77  {..  HWND hwndOw
d870: 6e 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 63 4d  ner;..  DWORD cM
d880: 75 6c 74 69 70 6c 65 49 74 65 6d 73 3b 0d 0a 7d  ultipleItems;..}
d890: 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 63 62 44 65  ....  DWORD cbDe
d8a0: 74 61 69 6c 73 3b 0d 0a 20 20 4c 50 56 4f 49 44  tails;..  LPVOID
d8b0: 20 70 61 44 65 74 61 69 6c 73 3b 0d 0a 7d 0d 0a   paDetails;..}..
d8c0: 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f 4e 54  alias tMIXERCONT
d8d0: 52 4f 4c 44 45 54 41 49 4c 53 20 4d 49 58 45 52  ROLDETAILS MIXER
d8e0: 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 3b 0d  CONTROLDETAILS;.
d8f0: 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f 4e  .alias tMIXERCON
d900: 54 52 4f 4c 44 45 54 41 49 4c 53 2a 20 50 4d 49  TROLDETAILS* PMI
d910: 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c  XERCONTROLDETAIL
d920: 53 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52  S;..alias tMIXER
d930: 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 2a 20  CONTROLDETAILS* 
d940: 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45  LPMIXERCONTROLDE
d950: 54 41 49 4c 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  TAILS;....// #if
d960: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74  def _WIN32....st
d970: 72 75 63 74 20 74 61 67 4d 49 58 45 52 43 4f 4e  ruct tagMIXERCON
d980: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54  TROLDETAILS_LIST
d990: 54 45 58 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44  TEXTA {..  DWORD
d9a0: 20 64 77 50 61 72 61 6d 31 3b 0d 0a 20 20 44 57   dwParam1;..  DW
d9b0: 4f 52 44 20 64 77 50 61 72 61 6d 32 3b 0d 0a 20  ORD dwParam2;.. 
d9c0: 20 43 48 41 52 20 73 7a 4e 61 6d 65 5b 4d 49 58   CHAR szName[MIX
d9d0: 45 52 5f 4c 4f 4e 47 5f 4e 41 4d 45 5f 43 48 41  ER_LONG_NAME_CHA
d9e0: 52 53 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  RS];..}..alias t
d9f0: 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45  agMIXERCONTROLDE
da00: 54 41 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 20  TAILS_LISTTEXTA 
da10: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
da20: 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 3b 0d 0a  ILS_LISTTEXTA;..
da30: 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43 4f  alias tagMIXERCO
da40: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53  NTROLDETAILS_LIS
da50: 54 54 45 58 54 41 2a 20 50 4d 49 58 45 52 43 4f  TTEXTA* PMIXERCO
da60: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53  NTROLDETAILS_LIS
da70: 54 54 45 58 54 41 3b 0d 0a 61 6c 69 61 73 20 74  TTEXTA;..alias t
da80: 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45  agMIXERCONTROLDE
da90: 54 41 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 2a  TAILS_LISTTEXTA*
daa0: 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44   LPMIXERCONTROLD
dab0: 45 54 41 49 4c 53 5f 4c 49 53 54 54 45 58 54 41  ETAILS_LISTTEXTA
dac0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
dad0: 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49  IXERCONTROLDETAI
dae0: 4c 53 5f 4c 49 53 54 54 45 58 54 57 20 7b 0d 0a  LS_LISTTEXTW {..
daf0: 20 20 44 57 4f 52 44 20 64 77 50 61 72 61 6d 31    DWORD dwParam1
db00: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 61 72  ;..  DWORD dwPar
db10: 61 6d 32 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a  am2;..  WCHAR sz
db20: 4e 61 6d 65 5b 4d 49 58 45 52 5f 4c 4f 4e 47 5f  Name[MIXER_LONG_
db30: 4e 41 4d 45 5f 43 48 41 52 53 5d 3b 0d 0a 7d 0d  NAME_CHARS];..}.
db40: 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43  .alias tagMIXERC
db50: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49  ONTROLDETAILS_LI
db60: 53 54 54 45 58 54 57 20 4d 49 58 45 52 43 4f 4e  STTEXTW MIXERCON
db70: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54  TROLDETAILS_LIST
db80: 54 45 58 54 57 3b 0d 0a 61 6c 69 61 73 20 74 61  TEXTW;..alias ta
db90: 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54  gMIXERCONTROLDET
dba0: 41 49 4c 53 5f 4c 49 53 54 54 45 58 54 57 2a 20  AILS_LISTTEXTW* 
dbb0: 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54  PMIXERCONTROLDET
dbc0: 41 49 4c 53 5f 4c 49 53 54 54 45 58 54 57 3b 0d  AILS_LISTTEXTW;.
dbd0: 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43  .alias tagMIXERC
dbe0: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49  ONTROLDETAILS_LI
dbf0: 53 54 54 45 58 54 57 2a 20 4c 50 4d 49 58 45 52  STTEXTW* LPMIXER
dc00: 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c  CONTROLDETAILS_L
dc10: 49 53 54 54 45 58 54 57 3b 0d 0a 0d 0a 2f 2f 20  ISTTEXTW;....// 
dc20: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
dc30: 61 6c 69 61 73 20 4d 49 58 45 52 43 4f 4e 54 52  alias MIXERCONTR
dc40: 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54 54 45  OLDETAILS_LISTTE
dc50: 58 54 57 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  XTW MIXERCONTROL
dc60: 44 45 54 41 49 4c 53 5f 4c 49 53 54 54 45 58 54  DETAILS_LISTTEXT
dc70: 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 58 45 52 43  ;..alias PMIXERC
dc80: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49  ONTROLDETAILS_LI
dc90: 53 54 54 45 58 54 57 20 50 4d 49 58 45 52 43 4f  STTEXTW PMIXERCO
dca0: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53  NTROLDETAILS_LIS
dcb0: 54 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20 4c 50  TTEXT;..alias LP
dcc0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
dcd0: 49 4c 53 5f 4c 49 53 54 54 45 58 54 57 20 4c 50  ILS_LISTTEXTW LP
dce0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
dcf0: 49 4c 53 5f 4c 49 53 54 54 45 58 54 3b 0d 0a 2f  ILS_LISTTEXT;../
dd00: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
dd10: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
dd20: 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
dd30: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
dd40: 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ndif....struct t
dd50: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
dd60: 49 4c 53 5f 42 4f 4f 4c 45 41 4e 20 7b 0d 0a 20  ILS_BOOLEAN {.. 
dd70: 20 4c 4f 4e 47 20 66 56 61 6c 75 65 3b 0d 0a 7d   LONG fValue;..}
dd80: 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f  ..alias tMIXERCO
dd90: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 42 4f 4f  NTROLDETAILS_BOO
dda0: 4c 45 41 4e 20 4d 49 58 45 52 43 4f 4e 54 52 4f  LEAN MIXERCONTRO
ddb0: 4c 44 45 54 41 49 4c 53 5f 42 4f 4f 4c 45 41 4e  LDETAILS_BOOLEAN
ddc0: 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43  ;..alias tMIXERC
ddd0: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 42 4f  ONTROLDETAILS_BO
dde0: 4f 4c 45 41 4e 2a 20 50 4d 49 58 45 52 43 4f 4e  OLEAN* PMIXERCON
ddf0: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 42 4f 4f 4c  TROLDETAILS_BOOL
de00: 45 41 4e 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58  EAN;..alias tMIX
de10: 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53  ERCONTROLDETAILS
de20: 5f 42 4f 4f 4c 45 41 4e 2a 20 4c 50 4d 49 58 45  _BOOLEAN* LPMIXE
de30: 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f  RCONTROLDETAILS_
de40: 42 4f 4f 4c 45 41 4e 3b 0d 0a 0d 0a 73 74 72 75  BOOLEAN;....stru
de50: 63 74 20 74 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  ct tMIXERCONTROL
de60: 44 45 54 41 49 4c 53 5f 53 49 47 4e 45 44 20 7b  DETAILS_SIGNED {
de70: 0d 0a 20 20 4c 4f 4e 47 20 6c 56 61 6c 75 65 3b  ..  LONG lValue;
de80: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45  ..}..alias tMIXE
de90: 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f  RCONTROLDETAILS_
dea0: 53 49 47 4e 45 44 20 4d 49 58 45 52 43 4f 4e 54  SIGNED MIXERCONT
deb0: 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49 47 4e 45  ROLDETAILS_SIGNE
dec0: 44 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52  D;..alias tMIXER
ded0: 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53  CONTROLDETAILS_S
dee0: 49 47 4e 45 44 2a 20 50 4d 49 58 45 52 43 4f 4e  IGNED* PMIXERCON
def0: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49 47 4e  TROLDETAILS_SIGN
df00: 45 44 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45  ED;..alias tMIXE
df10: 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f  RCONTROLDETAILS_
df20: 53 49 47 4e 45 44 2a 20 4c 50 4d 49 58 45 52 43  SIGNED* LPMIXERC
df30: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49  ONTROLDETAILS_SI
df40: 47 4e 45 44 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  GNED;....struct 
df50: 74 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54  tMIXERCONTROLDET
df60: 41 49 4c 53 5f 55 4e 53 49 47 4e 45 44 20 7b 0d  AILS_UNSIGNED {.
df70: 0a 20 20 44 57 4f 52 44 20 64 77 56 61 6c 75 65  .  DWORD dwValue
df80: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 4d 49 58  ;..}..alias tMIX
df90: 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53  ERCONTROLDETAILS
dfa0: 5f 55 4e 53 49 47 4e 45 44 20 4d 49 58 45 52 43  _UNSIGNED MIXERC
dfb0: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 55 4e  ONTROLDETAILS_UN
dfc0: 53 49 47 4e 45 44 3b 0d 0a 61 6c 69 61 73 20 74  SIGNED;..alias t
dfd0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
dfe0: 49 4c 53 5f 55 4e 53 49 47 4e 45 44 2a 20 50 4d  ILS_UNSIGNED* PM
dff0: 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49  IXERCONTROLDETAI
e000: 4c 53 5f 55 4e 53 49 47 4e 45 44 3b 0d 0a 61 6c  LS_UNSIGNED;..al
e010: 69 61 73 20 74 4d 49 58 45 52 43 4f 4e 54 52 4f  ias tMIXERCONTRO
e020: 4c 44 45 54 41 49 4c 53 5f 55 4e 53 49 47 4e 45  LDETAILS_UNSIGNE
e030: 44 2a 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f  D* LPMIXERCONTRO
e040: 4c 44 45 54 41 49 4c 53 5f 55 4e 53 49 47 4e 45  LDETAILS_UNSIGNE
e050: 44 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  D;....// #ifdef 
e060: 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e  _WIN32....extern
e070: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
e080: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78 65 72 47   MMRESULT mixerG
e090: 65 74 43 6f 6e 74 72 6f 6c 44 65 74 61 69 6c 73  etControlDetails
e0a0: 41 28 48 4d 49 58 45 52 4f 42 4a 20 68 6d 78 6f  A(HMIXEROBJ hmxo
e0b0: 62 6a 2c 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52  bj, LPMIXERCONTR
e0c0: 4f 4c 44 45 54 41 49 4c 53 20 70 6d 78 63 64 2c  OLDETAILS pmxcd,
e0d0: 20 44 57 4f 52 44 20 66 64 77 44 65 74 61 69 6c   DWORD fdwDetail
e0e0: 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  s);..extern(Wind
e0f0: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
e100: 53 55 4c 54 20 6d 69 78 65 72 47 65 74 43 6f 6e  SULT mixerGetCon
e110: 74 72 6f 6c 44 65 74 61 69 6c 73 57 28 48 4d 49  trolDetailsW(HMI
e120: 58 45 52 4f 42 4a 20 68 6d 78 6f 62 6a 2c 20 4c  XEROBJ hmxobj, L
e130: 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54  PMIXERCONTROLDET
e140: 41 49 4c 53 20 70 6d 78 63 64 2c 20 44 57 4f 52  AILS pmxcd, DWOR
e150: 44 20 66 64 77 44 65 74 61 69 6c 73 29 3b 0d 0a  D fdwDetails);..
e160: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
e170: 45 0d 0a 61 6c 69 61 73 20 6d 69 78 65 72 47 65  E..alias mixerGe
e180: 74 43 6f 6e 74 72 6f 6c 44 65 74 61 69 6c 73 57  tControlDetailsW
e190: 20 6d 69 78 65 72 47 65 74 43 6f 6e 74 72 6f 6c   mixerGetControl
e1a0: 44 65 74 61 69 6c 73 3b 0d 0a 2f 2f 20 23 65 6c  Details;..// #el
e1b0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
e1c0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
e1d0: 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  DE....// #else..
e1e0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
e1f0: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
e200: 20 7b 20 4d 49 58 45 52 5f 47 45 54 43 4f 4e 54   { MIXER_GETCONT
e210: 52 4f 4c 44 45 54 41 49 4c 53 46 5f 56 41 4c 55  ROLDETAILSF_VALU
e220: 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  E = 0x00000000 }
e230: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e240: 4d 49 58 45 52 5f 47 45 54 43 4f 4e 54 52 4f 4c  MIXER_GETCONTROL
e250: 44 45 54 41 49 4c 53 46 5f 4c 49 53 54 54 45 58  DETAILSF_LISTTEX
e260: 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  T = 0x00000001 }
e270: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
e280: 7b 20 4d 49 58 45 52 5f 47 45 54 43 4f 4e 54 52  { MIXER_GETCONTR
e290: 4f 4c 44 45 54 41 49 4c 53 46 5f 51 55 45 52 59  OLDETAILSF_QUERY
e2a0: 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30  MASK = 0x0000000
e2b0: 46 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  F }....extern(Wi
e2c0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
e2d0: 52 45 53 55 4c 54 20 6d 69 78 65 72 53 65 74 43  RESULT mixerSetC
e2e0: 6f 6e 74 72 6f 6c 44 65 74 61 69 6c 73 28 48 4d  ontrolDetails(HM
e2f0: 49 58 45 52 4f 42 4a 20 68 6d 78 6f 62 6a 2c 20  IXEROBJ hmxobj, 
e300: 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45  LPMIXERCONTROLDE
e310: 54 41 49 4c 53 20 70 6d 78 63 64 2c 20 44 57 4f  TAILS pmxcd, DWO
e320: 52 44 20 66 64 77 44 65 74 61 69 6c 73 29 3b 0d  RD fdwDetails);.
e330: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
e340: 20 4d 49 58 45 52 5f 53 45 54 43 4f 4e 54 52 4f   MIXER_SETCONTRO
e350: 4c 44 45 54 41 49 4c 53 46 5f 56 41 4c 55 45 20  LDETAILSF_VALUE 
e360: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
e370: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
e380: 58 45 52 5f 53 45 54 43 4f 4e 54 52 4f 4c 44 45  XER_SETCONTROLDE
e390: 54 41 49 4c 53 46 5f 43 55 53 54 4f 4d 20 3d 20  TAILSF_CUSTOM = 
e3a0: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0a  0x00000001 }....
e3b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
e3c0: 58 45 52 5f 53 45 54 43 4f 4e 54 52 4f 4c 44 45  XER_SETCONTROLDE
e3d0: 54 41 49 4c 53 46 5f 51 55 45 52 59 4d 41 53 4b  TAILSF_QUERYMASK
e3e0: 20 3d 20 30 78 30 30 30 30 30 30 30 46 20 7d 0d   = 0x0000000F }.
e3f0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
e400: 69 66 6e 64 65 66 20 4d 4d 4e 4f 4d 49 58 45 52  ifndef MMNOMIXER
e410: 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
e420: 66 20 4d 4d 4e 4f 54 49 4d 45 52 0d 0a 0d 0a 65  f MMNOTIMER....e
e430: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d  num : uint { TIM
e440: 45 52 52 5f 4e 4f 45 52 52 4f 52 20 3d 20 30 20  ERR_NOERROR = 0 
e450: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e460: 20 54 49 4d 45 52 52 5f 4e 4f 43 41 4e 44 4f 20   TIMERR_NOCANDO 
e470: 3d 20 54 49 4d 45 52 52 5f 42 41 53 45 2b 31 20  = TIMERR_BASE+1 
e480: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e490: 20 54 49 4d 45 52 52 5f 53 54 52 55 43 54 20 3d   TIMERR_STRUCT =
e4a0: 20 54 49 4d 45 52 52 5f 42 41 53 45 2b 33 33 20   TIMERR_BASE+33 
e4b0: 7d 0d 0a 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20  }....// typedef 
e4c0: 76 6f 69 64 20 28 43 41 4c 4c 42 41 43 4b 20 54  void (CALLBACK T
e4d0: 49 4d 45 43 41 4c 4c 42 41 43 4b 29 28 55 49 4e  IMECALLBACK)(UIN
e4e0: 54 20 75 54 69 6d 65 72 49 44 2c 20 55 49 4e 54  T uTimerID, UINT
e4f0: 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50 54 52   uMsg, DWORD_PTR
e500: 20 64 77 55 73 65 72 2c 20 44 57 4f 52 44 5f 50   dwUser, DWORD_P
e510: 54 52 20 64 77 31 2c 20 44 57 4f 52 44 5f 50 54  TR dw1, DWORD_PT
e520: 52 20 64 77 32 29 3b 0d 0a 0d 0a 65 78 74 65 72  R dw2);....exter
e530: 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
e540: 20 76 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 55   void function(U
e550: 49 4e 54 20 75 54 69 6d 65 72 49 44 2c 20 55 49  INT uTimerID, UI
e560: 4e 54 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50  NT uMsg, DWORD_P
e570: 54 52 20 64 77 55 73 65 72 2c 20 44 57 4f 52 44  TR dwUser, DWORD
e580: 5f 50 54 52 20 64 77 31 2c 20 44 57 4f 52 44 5f  _PTR dw1, DWORD_
e590: 50 54 52 20 64 77 32 29 20 4c 50 54 49 4d 45 43  PTR dw2) LPTIMEC
e5a0: 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a 65 6e 75 6d  ALLBACK;....enum
e5b0: 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f 4f   : uint { TIME_O
e5c0: 4e 45 53 48 4f 54 20 3d 20 30 78 30 30 30 30 20  NESHOT = 0x0000 
e5d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
e5e0: 20 54 49 4d 45 5f 50 45 52 49 4f 44 49 43 20 3d   TIME_PERIODIC =
e5f0: 20 30 78 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20   0x0001 }....// 
e600: 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65  #ifdef _WIN32..e
e610: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d  num : uint { TIM
e620: 45 5f 43 41 4c 4c 42 41 43 4b 5f 46 55 4e 43 54  E_CALLBACK_FUNCT
e630: 49 4f 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a  ION = 0x0000 }..
e640: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49  enum : uint { TI
e650: 4d 45 5f 43 41 4c 4c 42 41 43 4b 5f 45 56 45 4e  ME_CALLBACK_EVEN
e660: 54 5f 53 45 54 20 3d 20 30 78 30 30 31 30 20 7d  T_SET = 0x0010 }
e670: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e680: 54 49 4d 45 5f 43 41 4c 4c 42 41 43 4b 5f 45 56  TIME_CALLBACK_EV
e690: 45 4e 54 5f 50 55 4c 53 45 20 3d 20 30 78 30 30  ENT_PULSE = 0x00
e6a0: 32 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d  20 }..// #endif.
e6b0: 0a 0d 0a 2f 2f 20 23 69 66 20 57 49 4e 56 45 52  ...// #if WINVER
e6c0: 20 3e 3d 20 30 78 30 35 30 31 0d 0a 65 6e 75 6d   >= 0x0501..enum
e6d0: 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f 4b   : uint { TIME_K
e6e0: 49 4c 4c 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 20  ILL_SYNCHRONOUS 
e6f0: 3d 20 30 78 30 31 30 30 20 7d 0d 0a 0d 0a 2f 2f  = 0x0100 }....//
e700: 20 23 65 6e 64 69 66 20 2f 2f 20 57 49 4e 56 45   #endif // WINVE
e710: 52 20 3e 3d 20 30 78 30 35 30 31 0d 0a 0d 0a 73  R >= 0x0501....s
e720: 74 72 75 63 74 20 74 69 6d 65 63 61 70 73 5f 74  truct timecaps_t
e730: 61 67 20 7b 0d 0a 20 20 55 49 4e 54 20 77 50 65  ag {..  UINT wPe
e740: 72 69 6f 64 4d 69 6e 3b 0d 0a 20 20 55 49 4e 54  riodMin;..  UINT
e750: 20 77 50 65 72 69 6f 64 4d 61 78 3b 0d 0a 7d 0d   wPeriodMax;..}.
e760: 0a 61 6c 69 61 73 20 74 69 6d 65 63 61 70 73 5f  .alias timecaps_
e770: 74 61 67 20 54 49 4d 45 43 41 50 53 3b 0d 0a 61  tag TIMECAPS;..a
e780: 6c 69 61 73 20 74 69 6d 65 63 61 70 73 5f 74 61  lias timecaps_ta
e790: 67 2a 20 50 54 49 4d 45 43 41 50 53 3b 0d 0a 61  g* PTIMECAPS;..a
e7a0: 6c 69 61 73 20 74 69 6d 65 63 61 70 73 5f 74 61  lias timecaps_ta
e7b0: 67 2a 20 4e 50 54 49 4d 45 43 41 50 53 3b 0d 0a  g* NPTIMECAPS;..
e7c0: 61 6c 69 61 73 20 74 69 6d 65 63 61 70 73 5f 74  alias timecaps_t
e7d0: 61 67 2a 20 4c 50 54 49 4d 45 43 41 50 53 3b 0d  ag* LPTIMECAPS;.
e7e0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
e7f0: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
e800: 4c 54 20 74 69 6d 65 47 65 74 53 79 73 74 65 6d  LT timeGetSystem
e810: 54 69 6d 65 28 4c 50 4d 4d 54 49 4d 45 20 70 6d  Time(LPMMTIME pm
e820: 6d 74 2c 20 55 49 4e 54 20 63 62 6d 6d 74 29 3b  mt, UINT cbmmt);
e830: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
e840: 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 74  ) export DWORD t
e850: 69 6d 65 47 65 74 54 69 6d 65 28 29 3b 0d 0a 65  imeGetTime();..e
e860: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
e870: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 74  xport MMRESULT t
e880: 69 6d 65 53 65 74 45 76 65 6e 74 28 55 49 4e 54  imeSetEvent(UINT
e890: 20 75 44 65 6c 61 79 2c 20 55 49 4e 54 20 75 52   uDelay, UINT uR
e8a0: 65 73 6f 6c 75 74 69 6f 6e 2c 0d 0a 20 20 4c 50  esolution,..  LP
e8b0: 54 49 4d 45 43 41 4c 4c 42 41 43 4b 20 66 70 74  TIMECALLBACK fpt
e8c0: 63 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 55  c, DWORD_PTR dwU
e8d0: 73 65 72 2c 20 55 49 4e 54 20 66 75 45 76 65 6e  ser, UINT fuEven
e8e0: 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  t);..extern(Wind
e8f0: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
e900: 53 55 4c 54 20 74 69 6d 65 4b 69 6c 6c 45 76 65  SULT timeKillEve
e910: 6e 74 28 55 49 4e 54 20 75 54 69 6d 65 72 49 44  nt(UINT uTimerID
e920: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
e930: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
e940: 55 4c 54 20 74 69 6d 65 47 65 74 44 65 76 43 61  ULT timeGetDevCa
e950: 70 73 28 4c 50 54 49 4d 45 43 41 50 53 20 70 74  ps(LPTIMECAPS pt
e960: 63 2c 20 55 49 4e 54 20 63 62 74 63 29 3b 0d 0a  c, UINT cbtc);..
e970: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
e980: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
e990: 74 69 6d 65 42 65 67 69 6e 50 65 72 69 6f 64 28  timeBeginPeriod(
e9a0: 55 49 4e 54 20 75 50 65 72 69 6f 64 29 3b 0d 0a  UINT uPeriod);..
e9b0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
e9c0: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
e9d0: 74 69 6d 65 45 6e 64 50 65 72 69 6f 64 28 55 49  timeEndPeriod(UI
e9e0: 4e 54 20 75 50 65 72 69 6f 64 29 3b 0d 0a 0d 0a  NT uPeriod);....
e9f0: 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69 66  // #endif  /* if
ea00: 6e 64 65 66 20 4d 4d 4e 4f 54 49 4d 45 52 20 2a  ndef MMNOTIMER *
ea10: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
ea20: 4d 4d 4e 4f 4a 4f 59 0d 0a 0d 0a 65 6e 75 6d 20  MMNOJOY....enum 
ea30: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52 52 5f  : uint { JOYERR_
ea40: 4e 4f 45 52 52 4f 52 20 3d 20 30 20 7d 0d 0a 65  NOERROR = 0 }..e
ea50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
ea60: 45 52 52 5f 50 41 52 4d 53 20 3d 20 4a 4f 59 45  ERR_PARMS = JOYE
ea70: 52 52 5f 42 41 53 45 2b 35 20 7d 0d 0a 65 6e 75  RR_BASE+5 }..enu
ea80: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52  m : uint { JOYER
ea90: 52 5f 4e 4f 43 41 4e 44 4f 20 3d 20 4a 4f 59 45  R_NOCANDO = JOYE
eaa0: 52 52 5f 42 41 53 45 2b 36 20 7d 0d 0a 65 6e 75  RR_BASE+6 }..enu
eab0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52  m : uint { JOYER
eac0: 52 5f 55 4e 50 4c 55 47 47 45 44 20 3d 20 4a 4f  R_UNPLUGGED = JO
ead0: 59 45 52 52 5f 42 41 53 45 2b 37 20 7d 0d 0a 0d  YERR_BASE+7 }...
eae0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
eaf0: 4f 59 5f 42 55 54 54 4f 4e 31 20 3d 20 30 78 30  OY_BUTTON1 = 0x0
eb00: 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
eb10: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32  nt { JOY_BUTTON2
eb20: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
eb30: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42  m : uint { JOY_B
eb40: 55 54 54 4f 4e 33 20 3d 20 30 78 30 30 30 34 20  UTTON3 = 0x0004 
eb50: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
eb60: 20 4a 4f 59 5f 42 55 54 54 4f 4e 34 20 3d 20 30   JOY_BUTTON4 = 0
eb70: 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0008 }..enum : 
eb80: 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f  uint { JOY_BUTTO
eb90: 4e 31 43 48 47 20 3d 20 30 78 30 31 30 30 20 7d  N1CHG = 0x0100 }
eba0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ebb0: 4a 4f 59 5f 42 55 54 54 4f 4e 32 43 48 47 20 3d  JOY_BUTTON2CHG =
ebc0: 20 30 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0200 }..enum 
ebd0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54  : uint { JOY_BUT
ebe0: 54 4f 4e 33 43 48 47 20 3d 20 30 78 30 34 30 30  TON3CHG = 0x0400
ebf0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ec00: 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 34 43 48 47  { JOY_BUTTON4CHG
ec10: 20 3d 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65   = 0x0800 }....e
ec20: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
ec30: 5f 42 55 54 54 4f 4e 35 20 3d 20 30 78 30 30 30  _BUTTON5 = 0x000
ec40: 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
ec50: 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f  uint { JOY_BUTTO
ec60: 4e 36 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  N6 = 0x00000020 
ec70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ec80: 20 4a 4f 59 5f 42 55 54 54 4f 4e 37 20 3d 20 30   JOY_BUTTON7 = 0
ec90: 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75  x00000040 }..enu
eca0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42  m : uint { JOY_B
ecb0: 55 54 54 4f 4e 38 20 3d 20 30 78 30 30 30 30 30  UTTON8 = 0x00000
ecc0: 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
ecd0: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 39  nt { JOY_BUTTON9
ece0: 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
ecf0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
ed00: 4f 59 5f 42 55 54 54 4f 4e 31 30 20 3d 20 30 78  OY_BUTTON10 = 0x
ed10: 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
ed20: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55   : uint { JOY_BU
ed30: 54 54 4f 4e 31 31 20 3d 20 30 78 30 30 30 30 30  TTON11 = 0x00000
ed40: 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  400 }..enum : ui
ed50: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 31  nt { JOY_BUTTON1
ed60: 32 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d  2 = 0x00000800 }
ed70: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ed80: 4a 4f 59 5f 42 55 54 54 4f 4e 31 33 20 3d 20 30  JOY_BUTTON13 = 0
ed90: 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75  x00001000 }..enu
eda0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42  m : uint { JOY_B
edb0: 55 54 54 4f 4e 31 34 20 3d 20 30 78 30 30 30 30  UTTON14 = 0x0000
edc0: 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2000 }..enum : u
edd0: 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e  int { JOY_BUTTON
ede0: 31 35 20 3d 20 30 78 30 30 30 30 34 30 30 30 20  15 = 0x00004000 
edf0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ee00: 20 4a 4f 59 5f 42 55 54 54 4f 4e 31 36 20 3d 20   JOY_BUTTON16 = 
ee10: 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e  0x00008000 }..en
ee20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
ee30: 42 55 54 54 4f 4e 31 37 20 3d 20 30 78 30 30 30  BUTTON17 = 0x000
ee40: 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  10000 }..enum : 
ee50: 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f  uint { JOY_BUTTO
ee60: 4e 31 38 20 3d 20 30 78 30 30 30 32 30 30 30 30  N18 = 0x00020000
ee70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ee80: 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 31 39 20 3d  { JOY_BUTTON19 =
ee90: 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65   0x00040000 }..e
eea0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
eeb0: 5f 42 55 54 54 4f 4e 32 30 20 3d 20 30 78 30 30  _BUTTON20 = 0x00
eec0: 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  080000 }..enum :
eed0: 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54   uint { JOY_BUTT
eee0: 4f 4e 32 31 20 3d 20 30 78 30 30 31 30 30 30 30  ON21 = 0x0010000
eef0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
ef00: 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32 32 20   { JOY_BUTTON22 
ef10: 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
ef20: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
ef30: 59 5f 42 55 54 54 4f 4e 32 33 20 3d 20 30 78 30  Y_BUTTON23 = 0x0
ef40: 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0400000 }..enum 
ef50: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54  : uint { JOY_BUT
ef60: 54 4f 4e 32 34 20 3d 20 30 78 30 30 38 30 30 30  TON24 = 0x008000
ef70: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
ef80: 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32 35  t { JOY_BUTTON25
ef90: 20 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d   = 0x01000000 }.
efa0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
efb0: 4f 59 5f 42 55 54 54 4f 4e 32 36 20 3d 20 30 78  OY_BUTTON26 = 0x
efc0: 30 32 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  02000000 }..enum
efd0: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55   : uint { JOY_BU
efe0: 54 54 4f 4e 32 37 20 3d 20 30 78 30 34 30 30 30  TTON27 = 0x04000
eff0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
f000: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32  nt { JOY_BUTTON2
f010: 38 20 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d  8 = 0x08000000 }
f020: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f030: 4a 4f 59 5f 42 55 54 54 4f 4e 32 39 20 3d 20 30  JOY_BUTTON29 = 0
f040: 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x10000000 }..enu
f050: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42  m : uint { JOY_B
f060: 55 54 54 4f 4e 33 30 20 3d 20 30 78 32 30 30 30  UTTON30 = 0x2000
f070: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
f080: 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e  int { JOY_BUTTON
f090: 33 31 20 3d 20 30 78 34 30 30 30 30 30 30 30 20  31 = 0x40000000 
f0a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f0b0: 20 4a 4f 59 5f 42 55 54 54 4f 4e 33 32 20 3d 20   JOY_BUTTON32 = 
f0c0: 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x80000000 }....
f0d0: 65 6e 75 6d 20 3a 20 57 4f 52 44 20 7b 20 4a 4f  enum : WORD { JO
f0e0: 59 5f 50 4f 56 43 45 4e 54 45 52 45 44 20 3d 20  Y_POVCENTERED = 
f0f0: 63 61 73 74 28 57 4f 52 44 29 2d 31 20 7d 0d 0a  cast(WORD)-1 }..
f100: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f110: 59 5f 50 4f 56 46 4f 52 57 41 52 44 20 3d 20 30  Y_POVFORWARD = 0
f120: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f130: 7b 20 4a 4f 59 5f 50 4f 56 52 49 47 48 54 20 3d  { JOY_POVRIGHT =
f140: 20 39 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   9000 }..enum : 
f150: 75 69 6e 74 20 7b 20 4a 4f 59 5f 50 4f 56 42 41  uint { JOY_POVBA
f160: 43 4b 57 41 52 44 20 3d 20 31 38 30 30 30 20 7d  CKWARD = 18000 }
f170: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f180: 4a 4f 59 5f 50 4f 56 4c 45 46 54 20 3d 20 32 37  JOY_POVLEFT = 27
f190: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
f1a0: 75 69 6e 74 20 7b 20 4a 4f 59 5f 52 45 54 55 52  uint { JOY_RETUR
f1b0: 4e 58 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  NX = 0x00000001 
f1c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f1d0: 20 4a 4f 59 5f 52 45 54 55 52 4e 59 20 3d 20 30   JOY_RETURNY = 0
f1e0: 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75  x00000002 }..enu
f1f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 52  m : uint { JOY_R
f200: 45 54 55 52 4e 5a 20 3d 20 30 78 30 30 30 30 30  ETURNZ = 0x00000
f210: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
f220: 6e 74 20 7b 20 4a 4f 59 5f 52 45 54 55 52 4e 52  nt { JOY_RETURNR
f230: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
f240: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f250: 4f 59 5f 52 45 54 55 52 4e 55 20 3d 20 30 78 30  OY_RETURNU = 0x0
f260: 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20  0000010 }..enum 
f270: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 52 45 54  : uint { JOY_RET
f280: 55 52 4e 56 20 3d 20 30 78 30 30 30 30 30 30 32  URNV = 0x0000002
f290: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
f2a0: 20 7b 20 4a 4f 59 5f 52 45 54 55 52 4e 50 4f 56   { JOY_RETURNPOV
f2b0: 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d   = 0x00000040 }.
f2c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f2d0: 4f 59 5f 52 45 54 55 52 4e 42 55 54 54 4f 4e 53  OY_RETURNBUTTONS
f2e0: 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d   = 0x00000080 }.
f2f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f300: 4f 59 5f 52 45 54 55 52 4e 52 41 57 44 41 54 41  OY_RETURNRAWDATA
f310: 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
f320: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f330: 4f 59 5f 52 45 54 55 52 4e 50 4f 56 43 54 53 20  OY_RETURNPOVCTS 
f340: 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
f350: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f360: 59 5f 52 45 54 55 52 4e 43 45 4e 54 45 52 45 44  Y_RETURNCENTERED
f370: 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d   = 0x00000400 }.
f380: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f390: 4f 59 5f 55 53 45 44 45 41 44 5a 4f 4e 45 20 3d  OY_USEDEADZONE =
f3a0: 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65   0x00000800 }..e
f3b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
f3c0: 5f 52 45 54 55 52 4e 41 4c 4c 20 3d 20 4a 4f 59  _RETURNALL = JOY
f3d0: 5f 52 45 54 55 52 4e 58 20 7c 20 4a 4f 59 5f 52  _RETURNX | JOY_R
f3e0: 45 54 55 52 4e 59 20 7c 20 4a 4f 59 5f 52 45 54  ETURNY | JOY_RET
f3f0: 55 52 4e 5a 20 7c 20 4a 4f 59 5f 52 45 54 55 52  URNZ | JOY_RETUR
f400: 4e 52 20 7c 20 4a 4f 59 5f 52 45 54 55 52 4e 55  NR | JOY_RETURNU
f410: 20 7c 20 4a 4f 59 5f 52 45 54 55 52 4e 56 20 7c   | JOY_RETURNV |
f420: 20 4a 4f 59 5f 52 45 54 55 52 4e 50 4f 56 20 7c   JOY_RETURNPOV |
f430: 20 4a 4f 59 5f 52 45 54 55 52 4e 42 55 54 54 4f   JOY_RETURNBUTTO
f440: 4e 53 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  NS }..enum : uin
f450: 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44  t { JOY_CAL_READ
f460: 41 4c 57 41 59 53 20 3d 20 30 78 30 30 30 31 30  ALWAYS = 0x00010
f470: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
f480: 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41  nt { JOY_CAL_REA
f490: 44 58 59 4f 4e 4c 59 20 3d 20 30 78 30 30 30 32  DXYONLY = 0x0002
f4a0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
f4b0: 69 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45  int { JOY_CAL_RE
f4c0: 41 44 33 20 3d 20 30 78 30 30 30 34 30 30 30 30  AD3 = 0x00040000
f4d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f4e0: 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44 34 20  { JOY_CAL_READ4 
f4f0: 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a  = 0x00080000 }..
f500: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f510: 59 5f 43 41 4c 5f 52 45 41 44 58 4f 4e 4c 59 20  Y_CAL_READXONLY 
f520: 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a  = 0x00100000 }..
f530: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f540: 59 5f 43 41 4c 5f 52 45 41 44 59 4f 4e 4c 59 20  Y_CAL_READYONLY 
f550: 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
f560: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f570: 59 5f 43 41 4c 5f 52 45 41 44 35 20 3d 20 30 78  Y_CAL_READ5 = 0x
f580: 30 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00400000 }..enum
f590: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 43 41   : uint { JOY_CA
f5a0: 4c 5f 52 45 41 44 36 20 3d 20 30 78 30 30 38 30  L_READ6 = 0x0080
f5b0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
f5c0: 69 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45  int { JOY_CAL_RE
f5d0: 41 44 5a 4f 4e 4c 59 20 3d 20 30 78 30 31 30 30  ADZONLY = 0x0100
f5e0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
f5f0: 69 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45  int { JOY_CAL_RE
f600: 41 44 52 4f 4e 4c 59 20 3d 20 30 78 30 32 30 30  ADRONLY = 0x0200
f610: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
f620: 69 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45  int { JOY_CAL_RE
f630: 41 44 55 4f 4e 4c 59 20 3d 20 30 78 30 34 30 30  ADUONLY = 0x0400
f640: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
f650: 69 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45  int { JOY_CAL_RE
f660: 41 44 56 4f 4e 4c 59 20 3d 20 30 78 30 38 30 30  ADVONLY = 0x0800
f670: 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
f680: 20 75 69 6e 74 20 7b 20 4a 4f 59 53 54 49 43 4b   uint { JOYSTICK
f690: 49 44 31 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  ID1 = 0 }..enum 
f6a0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 53 54 49 43  : uint { JOYSTIC
f6b0: 4b 49 44 32 20 3d 20 31 20 7d 0d 0a 0d 0a 65 6e  KID2 = 1 }....en
f6c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 43  um : uint { JOYC
f6d0: 41 50 53 5f 48 41 53 5a 20 3d 20 30 78 30 30 30  APS_HASZ = 0x000
f6e0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
f6f0: 20 7b 20 4a 4f 59 43 41 50 53 5f 48 41 53 52 20   { JOYCAPS_HASR 
f700: 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d  = 0x0002 }..enum
f710: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 43 41 50   : uint { JOYCAP
f720: 53 5f 48 41 53 55 20 3d 20 30 78 30 30 30 34 20  S_HASU = 0x0004 
f730: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f740: 20 4a 4f 59 43 41 50 53 5f 48 41 53 56 20 3d 20   JOYCAPS_HASV = 
f750: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
f760: 20 75 69 6e 74 20 7b 20 4a 4f 59 43 41 50 53 5f   uint { JOYCAPS_
f770: 48 41 53 50 4f 56 20 3d 20 30 78 30 30 31 30 20  HASPOV = 0x0010 
f780: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f790: 20 4a 4f 59 43 41 50 53 5f 50 4f 56 34 44 49 52   JOYCAPS_POV4DIR
f7a0: 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75   = 0x0020 }..enu
f7b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 43 41  m : uint { JOYCA
f7c0: 50 53 5f 50 4f 56 43 54 53 20 3d 20 30 78 30 30  PS_POVCTS = 0x00
f7d0: 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  40 }....// #ifde
f7e0: 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
f7f0: 63 74 20 74 61 67 4a 4f 59 43 41 50 53 41 20 7b  ct tagJOYCAPSA {
f800: 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a  ..  WORD wMid;..
f810: 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20    WORD wPid;..  
f820: 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58  CHAR szPname[MAX
f830: 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 55 49  PNAMELEN];..  UI
f840: 4e 54 20 77 58 6d 69 6e 3b 0d 0a 20 20 55 49 4e  NT wXmin;..  UIN
f850: 54 20 77 58 6d 61 78 3b 0d 0a 20 20 55 49 4e 54  T wXmax;..  UINT
f860: 20 77 59 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20   wYmin;..  UINT 
f870: 77 59 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77  wYmax;..  UINT w
f880: 5a 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 5a  Zmin;..  UINT wZ
f890: 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 4e 75  max;..  UINT wNu
f8a0: 6d 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 55 49 4e  mButtons;..  UIN
f8b0: 54 20 77 50 65 72 69 6f 64 4d 69 6e 3b 0d 0a 20  T wPeriodMin;.. 
f8c0: 20 55 49 4e 54 20 77 50 65 72 69 6f 64 4d 61 78   UINT wPeriodMax
f8d0: 3b 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45  ;..// #if (WINVE
f8e0: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 20 20  R >= 0x0400)..  
f8f0: 55 49 4e 54 20 77 52 6d 69 6e 3b 0d 0a 20 20 55  UINT wRmin;..  U
f900: 49 4e 54 20 77 52 6d 61 78 3b 0d 0a 20 20 55 49  INT wRmax;..  UI
f910: 4e 54 20 77 55 6d 69 6e 3b 0d 0a 20 20 55 49 4e  NT wUmin;..  UIN
f920: 54 20 77 55 6d 61 78 3b 0d 0a 20 20 55 49 4e 54  T wUmax;..  UINT
f930: 20 77 56 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20   wVmin;..  UINT 
f940: 77 56 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77  wVmax;..  UINT w
f950: 43 61 70 73 3b 0d 0a 20 20 55 49 4e 54 20 77 4d  Caps;..  UINT wM
f960: 61 78 41 78 65 73 3b 0d 0a 20 20 55 49 4e 54 20  axAxes;..  UINT 
f970: 77 4e 75 6d 41 78 65 73 3b 0d 0a 20 20 55 49 4e  wNumAxes;..  UIN
f980: 54 20 77 4d 61 78 42 75 74 74 6f 6e 73 3b 0d 0a  T wMaxButtons;..
f990: 20 20 43 48 41 52 20 73 7a 52 65 67 4b 65 79 5b    CHAR szRegKey[
f9a0: 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20  MAXPNAMELEN];.. 
f9b0: 20 43 48 41 52 20 73 7a 4f 45 4d 56 78 44 5b 4d   CHAR szOEMVxD[M
f9c0: 41 58 5f 4a 4f 59 53 54 49 43 4b 4f 45 4d 56 58  AX_JOYSTICKOEMVX
f9d0: 44 4e 41 4d 45 5d 3b 0d 0a 2f 2f 20 23 65 6e 64  DNAME];..// #end
f9e0: 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  if..}..alias tag
f9f0: 4a 4f 59 43 41 50 53 41 20 4a 4f 59 43 41 50 53  JOYCAPSA JOYCAPS
fa00: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59  A;..alias tagJOY
fa10: 43 41 50 53 41 2a 20 50 4a 4f 59 43 41 50 53 41  CAPSA* PJOYCAPSA
fa20: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43  ;..alias tagJOYC
fa30: 41 50 53 41 2a 20 4e 50 4a 4f 59 43 41 50 53 41  APSA* NPJOYCAPSA
fa40: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43  ;..alias tagJOYC
fa50: 41 50 53 41 2a 20 4c 50 4a 4f 59 43 41 50 53 41  APSA* LPJOYCAPSA
fa60: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4a  ;....struct tagJ
fa70: 4f 59 43 41 50 53 57 20 7b 0d 0a 20 20 57 4f 52  OYCAPSW {..  WOR
fa80: 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20  D wMid;..  WORD 
fa90: 77 50 69 64 3b 0d 0a 20 20 57 43 48 41 52 20 73  wPid;..  WCHAR s
faa0: 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c  zPname[MAXPNAMEL
fab0: 45 4e 5d 3b 0d 0a 20 20 55 49 4e 54 20 77 58 6d  EN];..  UINT wXm
fac0: 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 58 6d 61  in;..  UINT wXma
fad0: 78 3b 0d 0a 20 20 55 49 4e 54 20 77 59 6d 69 6e  x;..  UINT wYmin
fae0: 3b 0d 0a 20 20 55 49 4e 54 20 77 59 6d 61 78 3b  ;..  UINT wYmax;
faf0: 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 69 6e 3b 0d  ..  UINT wZmin;.
fb00: 0a 20 20 55 49 4e 54 20 77 5a 6d 61 78 3b 0d 0a  .  UINT wZmax;..
fb10: 20 20 55 49 4e 54 20 77 4e 75 6d 42 75 74 74 6f    UINT wNumButto
fb20: 6e 73 3b 0d 0a 20 20 55 49 4e 54 20 77 50 65 72  ns;..  UINT wPer
fb30: 69 6f 64 4d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20  iodMin;..  UINT 
fb40: 77 50 65 72 69 6f 64 4d 61 78 3b 0d 0a 2f 2f 20  wPeriodMax;..// 
fb50: 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  #if (WINVER >= 0
fb60: 78 30 34 30 30 29 0d 0a 20 20 55 49 4e 54 20 77  x0400)..  UINT w
fb70: 52 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 52  Rmin;..  UINT wR
fb80: 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 55 6d  max;..  UINT wUm
fb90: 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 55 6d 61  in;..  UINT wUma
fba0: 78 3b 0d 0a 20 20 55 49 4e 54 20 77 56 6d 69 6e  x;..  UINT wVmin
fbb0: 3b 0d 0a 20 20 55 49 4e 54 20 77 56 6d 61 78 3b  ;..  UINT wVmax;
fbc0: 0d 0a 20 20 55 49 4e 54 20 77 43 61 70 73 3b 0d  ..  UINT wCaps;.
fbd0: 0a 20 20 55 49 4e 54 20 77 4d 61 78 41 78 65 73  .  UINT wMaxAxes
fbe0: 3b 0d 0a 20 20 55 49 4e 54 20 77 4e 75 6d 41 78  ;..  UINT wNumAx
fbf0: 65 73 3b 0d 0a 20 20 55 49 4e 54 20 77 4d 61 78  es;..  UINT wMax
fc00: 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 57 43 48 41  Buttons;..  WCHA
fc10: 52 20 73 7a 52 65 67 4b 65 79 5b 4d 41 58 50 4e  R szRegKey[MAXPN
fc20: 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57 43 48 41  AMELEN];..  WCHA
fc30: 52 20 73 7a 4f 45 4d 56 78 44 5b 4d 41 58 5f 4a  R szOEMVxD[MAX_J
fc40: 4f 59 53 54 49 43 4b 4f 45 4d 56 58 44 4e 41 4d  OYSTICKOEMVXDNAM
fc50: 45 5d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  E];..// #endif..
fc60: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43  }..alias tagJOYC
fc70: 41 50 53 57 20 4a 4f 59 43 41 50 53 57 3b 0d 0a  APSW JOYCAPSW;..
fc80: 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53  alias tagJOYCAPS
fc90: 57 2a 20 50 4a 4f 59 43 41 50 53 57 3b 0d 0a 61  W* PJOYCAPSW;..a
fca0: 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 57  lias tagJOYCAPSW
fcb0: 2a 20 4e 50 4a 4f 59 43 41 50 53 57 3b 0d 0a 61  * NPJOYCAPSW;..a
fcc0: 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 57  lias tagJOYCAPSW
fcd0: 2a 20 4c 50 4a 4f 59 43 41 50 53 57 3b 0d 0a 0d  * LPJOYCAPSW;...
fce0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
fcf0: 44 45 0d 0a 61 6c 69 61 73 20 4a 4f 59 43 41 50  DE..alias JOYCAP
fd00: 53 57 20 4a 4f 59 43 41 50 53 3b 0d 0a 61 6c 69  SW JOYCAPS;..ali
fd10: 61 73 20 50 4a 4f 59 43 41 50 53 57 20 50 4a 4f  as PJOYCAPSW PJO
fd20: 59 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4e 50  YCAPS;..alias NP
fd30: 4a 4f 59 43 41 50 53 57 20 4e 50 4a 4f 59 43 41  JOYCAPSW NPJOYCA
fd40: 50 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4a 4f 59  PS;..alias LPJOY
fd50: 43 41 50 53 57 20 4c 50 4a 4f 59 43 41 50 53 3b  CAPSW LPJOYCAPS;
fd60: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
fd70: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
fd80: 20 55 4e 49 43 4f 44 45 0d 0a 73 74 72 75 63 74   UNICODE..struct
fd90: 20 74 61 67 4a 4f 59 43 41 50 53 32 41 20 7b 0d   tagJOYCAPS2A {.
fda0: 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20  .  WORD wMid;.. 
fdb0: 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 43   WORD wPid;..  C
fdc0: 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50  HAR szPname[MAXP
fdd0: 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 55 49 4e  NAMELEN];..  UIN
fde0: 54 20 77 58 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54  T wXmin;..  UINT
fdf0: 20 77 58 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20   wXmax;..  UINT 
fe00: 77 59 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77  wYmin;..  UINT w
fe10: 59 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 5a  Ymax;..  UINT wZ
fe20: 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d  min;..  UINT wZm
fe30: 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 4e 75 6d  ax;..  UINT wNum
fe40: 42 75 74 74 6f 6e 73 3b 0d 0a 20 20 55 49 4e 54  Buttons;..  UINT
fe50: 20 77 50 65 72 69 6f 64 4d 69 6e 3b 0d 0a 20 20   wPeriodMin;..  
fe60: 55 49 4e 54 20 77 50 65 72 69 6f 64 4d 61 78 3b  UINT wPeriodMax;
fe70: 0d 0a 20 20 55 49 4e 54 20 77 52 6d 69 6e 3b 0d  ..  UINT wRmin;.
fe80: 0a 20 20 55 49 4e 54 20 77 52 6d 61 78 3b 0d 0a  .  UINT wRmax;..
fe90: 20 20 55 49 4e 54 20 77 55 6d 69 6e 3b 0d 0a 20    UINT wUmin;.. 
fea0: 20 55 49 4e 54 20 77 55 6d 61 78 3b 0d 0a 20 20   UINT wUmax;..  
feb0: 55 49 4e 54 20 77 56 6d 69 6e 3b 0d 0a 20 20 55  UINT wVmin;..  U
fec0: 49 4e 54 20 77 56 6d 61 78 3b 0d 0a 20 20 55 49  INT wVmax;..  UI
fed0: 4e 54 20 77 43 61 70 73 3b 0d 0a 20 20 55 49 4e  NT wCaps;..  UIN
fee0: 54 20 77 4d 61 78 41 78 65 73 3b 0d 0a 20 20 55  T wMaxAxes;..  U
fef0: 49 4e 54 20 77 4e 75 6d 41 78 65 73 3b 0d 0a 20  INT wNumAxes;.. 
ff00: 20 55 49 4e 54 20 77 4d 61 78 42 75 74 74 6f 6e   UINT wMaxButton
ff10: 73 3b 0d 0a 20 20 43 48 41 52 20 73 7a 52 65 67  s;..  CHAR szReg
ff20: 4b 65 79 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  Key[MAXPNAMELEN]
ff30: 3b 0d 0a 20 20 43 48 41 52 20 73 7a 4f 45 4d 56  ;..  CHAR szOEMV
ff40: 78 44 5b 4d 41 58 5f 4a 4f 59 53 54 49 43 4b 4f  xD[MAX_JOYSTICKO
ff50: 45 4d 56 58 44 4e 41 4d 45 5d 3b 0d 0a 20 20 47  EMVXDNAME];..  G
ff60: 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72  UID Manufacturer
ff70: 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72  Guid;..  GUID Pr
ff80: 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55  oductGuid;..  GU
ff90: 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d  ID NameGuid;..}.
ffa0: 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
ffb0: 53 32 41 20 4a 4f 59 43 41 50 53 32 41 3b 0d 0a  S2A JOYCAPS2A;..
ffc0: 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53  alias tagJOYCAPS
ffd0: 32 41 2a 20 50 4a 4f 59 43 41 50 53 32 41 3b 0d  2A* PJOYCAPS2A;.
ffe0: 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
fff0: 53 32 41 2a 20 4e 50 4a 4f 59 43 41 50 53 32 41  S2A* NPJOYCAPS2A
10000 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43  ;..alias tagJOYC
10010 41 50 53 32 41 2a 20 4c 50 4a 4f 59 43 41 50 53  APS2A* LPJOYCAPS
10020 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  2A;....struct ta
10030 67 4a 4f 59 43 41 50 53 32 57 20 7b 0d 0a 20 20  gJOYCAPS2W {..  
10040 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f  WORD wMid;..  WO
10050 52 44 20 77 50 69 64 3b 0d 0a 20 20 57 43 48 41  RD wPid;..  WCHA
10060 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41  R szPname[MAXPNA
10070 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 55 49 4e 54 20  MELEN];..  UINT 
10080 77 58 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77  wXmin;..  UINT w
10090 58 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 59  Xmax;..  UINT wY
100a0 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 59 6d  min;..  UINT wYm
100b0 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 69  ax;..  UINT wZmi
100c0 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 61 78  n;..  UINT wZmax
100d0 3b 0d 0a 20 20 55 49 4e 54 20 77 4e 75 6d 42 75  ;..  UINT wNumBu
100e0 74 74 6f 6e 73 3b 0d 0a 20 20 55 49 4e 54 20 77  ttons;..  UINT w
100f0 50 65 72 69 6f 64 4d 69 6e 3b 0d 0a 20 20 55 49  PeriodMin;..  UI
10100 4e 54 20 77 50 65 72 69 6f 64 4d 61 78 3b 0d 0a  NT wPeriodMax;..
10110 20 20 55 49 4e 54 20 77 52 6d 69 6e 3b 0d 0a 20    UINT wRmin;.. 
10120 20 55 49 4e 54 20 77 52 6d 61 78 3b 0d 0a 20 20   UINT wRmax;..  
10130 55 49 4e 54 20 77 55 6d 69 6e 3b 0d 0a 20 20 55  UINT wUmin;..  U
10140 49 4e 54 20 77 55 6d 61 78 3b 0d 0a 20 20 55 49  INT wUmax;..  UI
10150 4e 54 20 77 56 6d 69 6e 3b 0d 0a 20 20 55 49 4e  NT wVmin;..  UIN
10160 54 20 77 56 6d 61 78 3b 0d 0a 20 20 55 49 4e 54  T wVmax;..  UINT
10170 20 77 43 61 70 73 3b 0d 0a 20 20 55 49 4e 54 20   wCaps;..  UINT 
10180 77 4d 61 78 41 78 65 73 3b 0d 0a 20 20 55 49 4e  wMaxAxes;..  UIN
10190 54 20 77 4e 75 6d 41 78 65 73 3b 0d 0a 20 20 55  T wNumAxes;..  U
101a0 49 4e 54 20 77 4d 61 78 42 75 74 74 6f 6e 73 3b  INT wMaxButtons;
101b0 0d 0a 20 20 57 43 48 41 52 20 73 7a 52 65 67 4b  ..  WCHAR szRegK
101c0 65 79 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b  ey[MAXPNAMELEN];
101d0 0d 0a 20 20 57 43 48 41 52 20 73 7a 4f 45 4d 56  ..  WCHAR szOEMV
101e0 78 44 5b 4d 41 58 5f 4a 4f 59 53 54 49 43 4b 4f  xD[MAX_JOYSTICKO
101f0 45 4d 56 58 44 4e 41 4d 45 5d 3b 0d 0a 20 20 47  EMVXDNAME];..  G
10200 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72  UID Manufacturer
10210 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72  Guid;..  GUID Pr
10220 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55  oductGuid;..  GU
10230 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d  ID NameGuid;..}.
10240 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
10250 53 32 57 20 4a 4f 59 43 41 50 53 32 57 3b 0d 0a  S2W JOYCAPS2W;..
10260 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53  alias tagJOYCAPS
10270 32 57 2a 20 50 4a 4f 59 43 41 50 53 32 57 3b 0d  2W* PJOYCAPS2W;.
10280 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
10290 53 32 57 2a 20 4e 50 4a 4f 59 43 41 50 53 32 57  S2W* NPJOYCAPS2W
102a0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43  ;..alias tagJOYC
102b0 41 50 53 32 57 2a 20 4c 50 4a 4f 59 43 41 50 53  APS2W* LPJOYCAPS
102c0 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  2W;....// #ifdef
102d0 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
102e0 4a 4f 59 43 41 50 53 32 57 20 4a 4f 59 43 41 50  JOYCAPS2W JOYCAP
102f0 53 32 3b 0d 0a 61 6c 69 61 73 20 50 4a 4f 59 43  S2;..alias PJOYC
10300 41 50 53 32 57 20 50 4a 4f 59 43 41 50 53 32 3b  APS2W PJOYCAPS2;
10310 0d 0a 61 6c 69 61 73 20 4e 50 4a 4f 59 43 41 50  ..alias NPJOYCAP
10320 53 32 57 20 4e 50 4a 4f 59 43 41 50 53 32 3b 0d  S2W NPJOYCAPS2;.
10330 0a 61 6c 69 61 73 20 4c 50 4a 4f 59 43 41 50 53  .alias LPJOYCAPS
10340 32 57 20 4c 50 4a 4f 59 43 41 50 53 32 3b 0d 0a  2W LPJOYCAPS2;..
10350 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
10360 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
10370 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c  NICODE....// #el
10380 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
10390 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
103a0 30 34 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  0400)..// ...../
103b0 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 2e 2e 2e  / #endif..// ...
103c0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73  ..// #endif....s
103d0 74 72 75 63 74 20 6a 6f 79 69 6e 66 6f 5f 74 61  truct joyinfo_ta
103e0 67 20 7b 0d 0a 20 20 55 49 4e 54 20 77 58 70 6f  g {..  UINT wXpo
103f0 73 3b 0d 0a 20 20 55 49 4e 54 20 77 59 70 6f 73  s;..  UINT wYpos
10400 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 70 6f 73 3b  ;..  UINT wZpos;
10410 0d 0a 20 20 55 49 4e 54 20 77 42 75 74 74 6f 6e  ..  UINT wButton
10420 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6a 6f 79  s;..}..alias joy
10430 69 6e 66 6f 5f 74 61 67 20 4a 4f 59 49 4e 46 4f  info_tag JOYINFO
10440 3b 0d 0a 61 6c 69 61 73 20 6a 6f 79 69 6e 66 6f  ;..alias joyinfo
10450 5f 74 61 67 2a 20 50 4a 4f 59 49 4e 46 4f 3b 0d  _tag* PJOYINFO;.
10460 0a 61 6c 69 61 73 20 6a 6f 79 69 6e 66 6f 5f 74  .alias joyinfo_t
10470 61 67 2a 20 4e 50 4a 4f 59 49 4e 46 4f 3b 0d 0a  ag* NPJOYINFO;..
10480 61 6c 69 61 73 20 6a 6f 79 69 6e 66 6f 5f 74 61  alias joyinfo_ta
10490 67 2a 20 4c 50 4a 4f 59 49 4e 46 4f 3b 0d 0a 0d  g* LPJOYINFO;...
104a0 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e  .// #if(WINVER >
104b0 3d 20 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63  = 0x0400)..struc
104c0 74 20 6a 6f 79 69 6e 66 6f 65 78 5f 74 61 67 20  t joyinfoex_tag 
104d0 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a  {..  DWORD dwSiz
104e0 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  e;..  DWORD dwFl
104f0 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ags;..  DWORD dw
10500 58 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Xpos;..  DWORD d
10510 77 59 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20  wYpos;..  DWORD 
10520 64 77 5a 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44  dwZpos;..  DWORD
10530 20 64 77 52 70 6f 73 3b 0d 0a 20 20 44 57 4f 52   dwRpos;..  DWOR
10540 44 20 64 77 55 70 6f 73 3b 0d 0a 20 20 44 57 4f  D dwUpos;..  DWO
10550 52 44 20 64 77 56 70 6f 73 3b 0d 0a 20 20 44 57  RD dwVpos;..  DW
10560 4f 52 44 20 64 77 42 75 74 74 6f 6e 73 3b 0d 0a  ORD dwButtons;..
10570 20 20 44 57 4f 52 44 20 64 77 42 75 74 74 6f 6e    DWORD dwButton
10580 4e 75 6d 62 65 72 3b 0d 0a 20 20 44 57 4f 52 44  Number;..  DWORD
10590 20 64 77 50 4f 56 3b 0d 0a 20 20 44 57 4f 52 44   dwPOV;..  DWORD
105a0 20 64 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20   dwReserved1;.. 
105b0 20 44 57 4f 52 44 20 64 77 52 65 73 65 72 76 65   DWORD dwReserve
105c0 64 32 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6a 6f  d2;..}..alias jo
105d0 79 69 6e 66 6f 65 78 5f 74 61 67 20 4a 4f 59 49  yinfoex_tag JOYI
105e0 4e 46 4f 45 58 3b 0d 0a 61 6c 69 61 73 20 6a 6f  NFOEX;..alias jo
105f0 79 69 6e 66 6f 65 78 5f 74 61 67 2a 20 50 4a 4f  yinfoex_tag* PJO
10600 59 49 4e 46 4f 45 58 3b 0d 0a 61 6c 69 61 73 20  YINFOEX;..alias 
10610 6a 6f 79 69 6e 66 6f 65 78 5f 74 61 67 2a 20 4e  joyinfoex_tag* N
10620 50 4a 4f 59 49 4e 46 4f 45 58 3b 0d 0a 61 6c 69  PJOYINFOEX;..ali
10630 61 73 20 6a 6f 79 69 6e 66 6f 65 78 5f 74 61 67  as joyinfoex_tag
10640 2a 20 4c 50 4a 4f 59 49 4e 46 4f 45 58 3b 0d 0a  * LPJOYINFOEX;..
10650 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
10660 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20  INVER >= 0x0400 
10670 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  */....extern(Win
10680 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
10690 54 20 6a 6f 79 47 65 74 4e 75 6d 44 65 76 73 28  T joyGetNumDevs(
106a0 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  );..// #ifdef _W
106b0 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  IN32....extern(W
106c0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
106d0 4d 52 45 53 55 4c 54 20 6a 6f 79 47 65 74 44 65  MRESULT joyGetDe
106e0 76 43 61 70 73 41 28 55 49 4e 54 5f 50 54 52 20  vCapsA(UINT_PTR 
106f0 75 4a 6f 79 49 44 2c 20 4c 50 4a 4f 59 43 41 50  uJoyID, LPJOYCAP
10700 53 41 20 70 6a 63 2c 20 55 49 4e 54 20 63 62 6a  SA pjc, UINT cbj
10710 63 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  c);..extern(Wind
10720 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
10730 53 55 4c 54 20 6a 6f 79 47 65 74 44 65 76 43 61  SULT joyGetDevCa
10740 70 73 57 28 55 49 4e 54 5f 50 54 52 20 75 4a 6f  psW(UINT_PTR uJo
10750 79 49 44 2c 20 4c 50 4a 4f 59 43 41 50 53 57 20  yID, LPJOYCAPSW 
10760 70 6a 63 2c 20 55 49 4e 54 20 63 62 6a 63 29 3b  pjc, UINT cbjc);
10770 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
10780 4f 44 45 0d 0a 61 6c 69 61 73 20 6a 6f 79 47 65  ODE..alias joyGe
10790 74 44 65 76 43 61 70 73 57 20 6a 6f 79 47 65 74  tDevCapsW joyGet
107a0 44 65 76 43 61 70 73 3b 0d 0a 2f 2f 20 23 65 6c  DevCaps;..// #el
107b0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
107c0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
107d0 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  DE....// #else..
107e0 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
107f0 66 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  f..extern(Window
10800 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
10810 4c 54 20 6a 6f 79 47 65 74 50 6f 73 28 55 49 4e  LT joyGetPos(UIN
10820 54 20 75 4a 6f 79 49 44 2c 20 4c 50 4a 4f 59 49  T uJoyID, LPJOYI
10830 4e 46 4f 20 70 6a 69 29 3b 0d 0a 0d 0a 2f 2f 20  NFO pji);....// 
10840 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
10850 30 34 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69  0400)..extern(Wi
10860 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
10870 52 45 53 55 4c 54 20 6a 6f 79 47 65 74 50 6f 73  RESULT joyGetPos
10880 45 78 28 55 49 4e 54 20 75 4a 6f 79 49 44 2c 20  Ex(UINT uJoyID, 
10890 4c 50 4a 4f 59 49 4e 46 4f 45 58 20 70 6a 69 29  LPJOYINFOEX pji)
108a0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ;..// #endif /* 
108b0 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30  WINVER >= 0x0400
108c0 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69   */....extern(Wi
108d0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
108e0 52 45 53 55 4c 54 20 6a 6f 79 47 65 74 54 68 72  RESULT joyGetThr
108f0 65 73 68 6f 6c 64 28 55 49 4e 54 20 75 4a 6f 79  eshold(UINT uJoy
10900 49 44 2c 20 4c 50 55 49 4e 54 20 70 75 54 68 72  ID, LPUINT puThr
10910 65 73 68 6f 6c 64 29 3b 0d 0a 65 78 74 65 72 6e  eshold);..extern
10920 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
10930 20 4d 4d 52 45 53 55 4c 54 20 6a 6f 79 52 65 6c   MMRESULT joyRel
10940 65 61 73 65 43 61 70 74 75 72 65 28 55 49 4e 54  easeCapture(UINT
10950 20 75 4a 6f 79 49 44 29 3b 0d 0a 65 78 74 65 72   uJoyID);..exter
10960 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
10970 74 20 4d 4d 52 45 53 55 4c 54 20 6a 6f 79 53 65  t MMRESULT joySe
10980 74 43 61 70 74 75 72 65 28 48 57 4e 44 20 68 77  tCapture(HWND hw
10990 6e 64 2c 20 55 49 4e 54 20 75 4a 6f 79 49 44 2c  nd, UINT uJoyID,
109a0 20 55 49 4e 54 20 75 50 65 72 69 6f 64 2c 0d 0a   UINT uPeriod,..
109b0 20 20 42 4f 4f 4c 20 66 43 68 61 6e 67 65 64 29    BOOL fChanged)
109c0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
109d0 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
109e0 4c 54 20 6a 6f 79 53 65 74 54 68 72 65 73 68 6f  LT joySetThresho
109f0 6c 64 28 55 49 4e 54 20 75 4a 6f 79 49 44 2c 20  ld(UINT uJoyID, 
10a00 55 49 4e 54 20 75 54 68 72 65 73 68 6f 6c 64 29  UINT uThreshold)
10a10 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  ;....// #endif  
10a20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e 4f 4a 4f  /* ifndef MMNOJO
10a30 59 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  Y */....// #ifnd
10a40 65 66 20 4d 4d 4e 4f 4d 4d 49 4f 0d 0a 0d 0a 65  ef MMNOMMIO....e
10a50 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
10a60 4f 45 52 52 5f 42 41 53 45 20 3d 20 32 35 36 20  OERR_BASE = 256 
10a70 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10a80 20 4d 4d 49 4f 45 52 52 5f 46 49 4c 45 4e 4f 54   MMIOERR_FILENOT
10a90 46 4f 55 4e 44 20 3d 20 4d 4d 49 4f 45 52 52 5f  FOUND = MMIOERR_
10aa0 42 41 53 45 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d  BASE + 1 }..enum
10ab0 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52   : uint { MMIOER
10ac0 52 5f 4f 55 54 4f 46 4d 45 4d 4f 52 59 20 3d 20  R_OUTOFMEMORY = 
10ad0 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 32  MMIOERR_BASE + 2
10ae0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10af0 7b 20 4d 4d 49 4f 45 52 52 5f 43 41 4e 4e 4f 54  { MMIOERR_CANNOT
10b00 4f 50 45 4e 20 3d 20 4d 4d 49 4f 45 52 52 5f 42  OPEN = MMIOERR_B
10b10 41 53 45 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20  ASE + 3 }..enum 
10b20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52  : uint { MMIOERR
10b30 5f 43 41 4e 4e 4f 54 43 4c 4f 53 45 20 3d 20 4d  _CANNOTCLOSE = M
10b40 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 34 20  MIOERR_BASE + 4 
10b50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10b60 20 4d 4d 49 4f 45 52 52 5f 43 41 4e 4e 4f 54 52   MMIOERR_CANNOTR
10b70 45 41 44 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41  EAD = MMIOERR_BA
10b80 53 45 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 5 }..enum :
10b90 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f   uint { MMIOERR_
10ba0 43 41 4e 4e 4f 54 57 52 49 54 45 20 3d 20 4d 4d  CANNOTWRITE = MM
10bb0 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 36 20 7d  IOERR_BASE + 6 }
10bc0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10bd0 4d 4d 49 4f 45 52 52 5f 43 41 4e 4e 4f 54 53 45  MMIOERR_CANNOTSE
10be0 45 4b 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41 53  EK = MMIOERR_BAS
10bf0 45 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 7 }..enum : 
10c00 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 43  uint { MMIOERR_C
10c10 41 4e 4e 4f 54 45 58 50 41 4e 44 20 3d 20 4d 4d  ANNOTEXPAND = MM
10c20 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 38 20 7d  IOERR_BASE + 8 }
10c30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10c40 4d 4d 49 4f 45 52 52 5f 43 48 55 4e 4b 4e 4f 54  MMIOERR_CHUNKNOT
10c50 46 4f 55 4e 44 20 3d 20 4d 4d 49 4f 45 52 52 5f  FOUND = MMIOERR_
10c60 42 41 53 45 20 2b 20 39 20 7d 0d 0a 65 6e 75 6d  BASE + 9 }..enum
10c70 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52   : uint { MMIOER
10c80 52 5f 55 4e 42 55 46 46 45 52 45 44 20 3d 20 4d  R_UNBUFFERED = M
10c90 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 31 30  MIOERR_BASE + 10
10ca0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10cb0 7b 20 4d 4d 49 4f 45 52 52 5f 50 41 54 48 4e 4f  { MMIOERR_PATHNO
10cc0 54 46 4f 55 4e 44 20 3d 20 4d 4d 49 4f 45 52 52  TFOUND = MMIOERR
10cd0 5f 42 41 53 45 20 2b 20 31 31 20 7d 0d 0a 65 6e  _BASE + 11 }..en
10ce0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f  um : uint { MMIO
10cf0 45 52 52 5f 41 43 43 45 53 53 44 45 4e 49 45 44  ERR_ACCESSDENIED
10d00 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20   = MMIOERR_BASE 
10d10 2b 20 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 12 }..enum : u
10d20 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 53 48  int { MMIOERR_SH
10d30 41 52 49 4e 47 56 49 4f 4c 41 54 49 4f 4e 20 3d  ARINGVIOLATION =
10d40 20 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20   MMIOERR_BASE + 
10d50 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
10d60 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 4e 45 54 57  t { MMIOERR_NETW
10d70 4f 52 4b 45 52 52 4f 52 20 3d 20 4d 4d 49 4f 45  ORKERROR = MMIOE
10d80 52 52 5f 42 41 53 45 20 2b 20 31 34 20 7d 0d 0a  RR_BASE + 14 }..
10d90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
10da0 49 4f 45 52 52 5f 54 4f 4f 4d 41 4e 59 4f 50 45  IOERR_TOOMANYOPE
10db0 4e 46 49 4c 45 53 20 3d 20 4d 4d 49 4f 45 52 52  NFILES = MMIOERR
10dc0 5f 42 41 53 45 20 2b 20 31 35 20 7d 0d 0a 65 6e  _BASE + 15 }..en
10dd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f  um : uint { MMIO
10de0 45 52 52 5f 49 4e 56 41 4c 49 44 46 49 4c 45 20  ERR_INVALIDFILE 
10df0 3d 20 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b  = MMIOERR_BASE +
10e00 20 31 36 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 63   16 }....const c
10e10 68 61 72 20 43 46 53 45 50 43 48 41 52 20 3d 20  har CFSEPCHAR = 
10e20 27 2b 27 3b 0d 0a 0d 0a 61 6c 69 61 73 20 44 57  '+';....alias DW
10e30 4f 52 44 20 46 4f 55 52 43 43 3b 0d 0a 61 6c 69  ORD FOURCC;..ali
10e40 61 73 20 63 68 61 72 2a 20 48 50 53 54 52 3b 0d  as char* HPSTR;.
10e50 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 4d  .alias void* HMM
10e60 49 4f 3b 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20  IO;..// typedef 
10e70 4c 52 45 53 55 4c 54 20 28 43 41 4c 4c 42 41 43  LRESULT (CALLBAC
10e80 4b 20 4d 4d 49 4f 50 52 4f 43 29 28 4c 50 53 54  K MMIOPROC)(LPST
10e90 52 20 6c 70 6d 6d 69 6f 69 6e 66 6f 2c 20 55 49  R lpmmioinfo, UI
10ea0 4e 54 20 75 4d 73 67 2c 20 4c 50 41 52 41 4d 20  NT uMsg, LPARAM 
10eb0 6c 50 61 72 61 6d 31 2c 20 4c 50 41 52 41 4d 20  lParam1, LPARAM 
10ec0 6c 50 61 72 61 6d 32 29 3b 0d 0a 65 78 74 65 72  lParam2);..exter
10ed0 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73  n(Windows) alias
10ee0 20 4c 52 45 53 55 4c 54 20 66 75 6e 63 74 69 6f   LRESULT functio
10ef0 6e 28 4c 50 53 54 52 20 6c 70 6d 6d 69 6f 69 6e  n(LPSTR lpmmioin
10f00 66 6f 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 4c  fo, UINT uMsg, L
10f10 50 41 52 41 4d 20 6c 50 61 72 61 6d 31 2c 20 4c  PARAM lParam1, L
10f20 50 41 52 41 4d 20 6c 50 61 72 61 6d 32 29 20 4c  PARAM lParam2) L
10f30 50 4d 4d 49 4f 50 52 4f 43 3b 0d 0a 0d 0a 73 74  PMMIOPROC;....st
10f40 72 75 63 74 20 5f 4d 4d 49 4f 49 4e 46 4f 20 7b  ruct _MMIOINFO {
10f50 0d 0a 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  ....  DWORD dwFl
10f60 61 67 73 3b 0d 0a 20 20 46 4f 55 52 43 43 20 66  ags;..  FOURCC f
10f70 63 63 49 4f 50 72 6f 63 3b 0d 0a 20 20 4c 50 4d  ccIOProc;..  LPM
10f80 4d 49 4f 50 52 4f 43 20 70 49 4f 50 72 6f 63 3b  MIOPROC pIOProc;
10f90 0d 0a 20 20 55 49 4e 54 20 77 45 72 72 6f 72 52  ..  UINT wErrorR
10fa0 65 74 3b 0d 0a 20 20 48 54 41 53 4b 20 68 74 61  et;..  HTASK hta
10fb0 73 6b 3b 0d 0a 0d 0a 20 20 4c 4f 4e 47 20 63 63  sk;....  LONG cc
10fc0 68 42 75 66 66 65 72 3b 0d 0a 20 20 48 50 53 54  hBuffer;..  HPST
10fd0 52 20 70 63 68 42 75 66 66 65 72 3b 0d 0a 20 20  R pchBuffer;..  
10fe0 48 50 53 54 52 20 70 63 68 4e 65 78 74 3b 0d 0a  HPSTR pchNext;..
10ff0 20 20 48 50 53 54 52 20 70 63 68 45 6e 64 52 65    HPSTR pchEndRe
11000 61 64 3b 0d 0a 20 20 48 50 53 54 52 20 70 63 68  ad;..  HPSTR pch
11010 45 6e 64 57 72 69 74 65 3b 0d 0a 20 20 4c 4f 4e  EndWrite;..  LON
11020 47 20 6c 42 75 66 4f 66 66 73 65 74 3b 0d 0a 0d  G lBufOffset;...
11030 0a 20 20 4c 4f 4e 47 20 6c 44 69 73 6b 4f 66 66  .  LONG lDiskOff
11040 73 65 74 3b 0d 0a 20 20 44 57 4f 52 44 20 61 64  set;..  DWORD ad
11050 77 49 6e 66 6f 5b 33 5d 3b 0d 0a 0d 0a 20 20 44  wInfo[3];....  D
11060 57 4f 52 44 20 64 77 52 65 73 65 72 76 65 64 31  WORD dwReserved1
11070 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52 65 73  ;..  DWORD dwRes
11080 65 72 76 65 64 32 3b 0d 0a 20 20 48 4d 4d 49 4f  erved2;..  HMMIO
11090 20 68 6d 6d 69 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61   hmmio;..}..alia
110a0 73 20 5f 4d 4d 49 4f 49 4e 46 4f 20 4d 4d 49 4f  s _MMIOINFO MMIO
110b0 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4d  INFO;..alias _MM
110c0 49 4f 49 4e 46 4f 2a 20 50 4d 4d 49 4f 49 4e 46  IOINFO* PMMIOINF
110d0 4f 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4d 49 4f 49  O;..alias _MMIOI
110e0 4e 46 4f 2a 20 4e 50 4d 4d 49 4f 49 4e 46 4f 3b  NFO* NPMMIOINFO;
110f0 0d 0a 61 6c 69 61 73 20 5f 4d 4d 49 4f 49 4e 46  ..alias _MMIOINF
11100 4f 2a 20 4c 50 4d 4d 49 4f 49 4e 46 4f 3b 0d 0a  O* LPMMIOINFO;..
11110 0d 0a 61 6c 69 61 73 20 4d 4d 49 4f 49 4e 46 4f  ..alias MMIOINFO
11120 2a 20 4c 50 43 4d 4d 49 4f 49 4e 46 4f 3b 0d 0a  * LPCMMIOINFO;..
11130 0d 0a 73 74 72 75 63 74 20 5f 4d 4d 43 4b 49 4e  ..struct _MMCKIN
11140 46 4f 20 7b 0d 0a 20 20 46 4f 55 52 43 43 20 63  FO {..  FOURCC c
11150 6b 69 64 3b 0d 0a 20 20 44 57 4f 52 44 20 63 6b  kid;..  DWORD ck
11160 73 69 7a 65 3b 0d 0a 20 20 46 4f 55 52 43 43 20  size;..  FOURCC 
11170 66 63 63 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52  fccType;..  DWOR
11180 44 20 64 77 44 61 74 61 4f 66 66 73 65 74 3b 0d  D dwDataOffset;.
11190 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73  .  DWORD dwFlags
111a0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 4d 43  ;..}..alias _MMC
111b0 4b 49 4e 46 4f 20 4d 4d 43 4b 49 4e 46 4f 3b 0d  KINFO MMCKINFO;.
111c0 0a 61 6c 69 61 73 20 5f 4d 4d 43 4b 49 4e 46 4f  .alias _MMCKINFO
111d0 2a 20 50 4d 4d 43 4b 49 4e 46 4f 3b 0d 0a 61 6c  * PMMCKINFO;..al
111e0 69 61 73 20 5f 4d 4d 43 4b 49 4e 46 4f 2a 20 4e  ias _MMCKINFO* N
111f0 50 4d 4d 43 4b 49 4e 46 4f 3b 0d 0a 61 6c 69 61  PMMCKINFO;..alia
11200 73 20 5f 4d 4d 43 4b 49 4e 46 4f 2a 20 4c 50 4d  s _MMCKINFO* LPM
11210 4d 43 4b 49 4e 46 4f 3b 0d 0a 0d 0a 61 6c 69 61  MCKINFO;....alia
11220 73 20 4d 4d 43 4b 49 4e 46 4f 2a 20 4c 50 43 4d  s MMCKINFO* LPCM
11230 4d 43 4b 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d  MCKINFO;....enum
11240 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 52   : uint { MMIO_R
11250 57 4d 4f 44 45 20 3d 20 30 78 30 30 30 30 30 30  WMODE = 0x000000
11260 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
11270 74 20 7b 20 4d 4d 49 4f 5f 53 48 41 52 45 4d 4f  t { MMIO_SHAREMO
11280 44 45 20 3d 20 30 78 30 30 30 30 30 30 37 30 20  DE = 0x00000070 
11290 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
112a0 20 7b 20 4d 4d 49 4f 5f 43 52 45 41 54 45 20 3d   { MMIO_CREATE =
112b0 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65   0x00001000 }..e
112c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
112d0 4f 5f 50 41 52 53 45 20 3d 20 30 78 30 30 30 30  O_PARSE = 0x0000
112e0 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
112f0 69 6e 74 20 7b 20 4d 4d 49 4f 5f 44 45 4c 45 54  int { MMIO_DELET
11300 45 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d  E = 0x00000200 }
11310 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11320 4d 4d 49 4f 5f 45 58 49 53 54 20 3d 20 30 78 30  MMIO_EXIST = 0x0
11330 30 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0004000 }..enum 
11340 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 41 4c  : uint { MMIO_AL
11350 4c 4f 43 42 55 46 20 3d 20 30 78 30 30 30 31 30  LOCBUF = 0x00010
11360 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
11370 6e 74 20 7b 20 4d 4d 49 4f 5f 47 45 54 54 45 4d  nt { MMIO_GETTEM
11380 50 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  P = 0x00020000 }
11390 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
113a0 7b 20 4d 4d 49 4f 5f 44 49 52 54 59 20 3d 20 30  { MMIO_DIRTY = 0
113b0 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65  x10000000 }....e
113c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
113d0 4f 5f 52 45 41 44 20 3d 20 30 78 30 30 30 30 30  O_READ = 0x00000
113e0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
113f0 6e 74 20 7b 20 4d 4d 49 4f 5f 57 52 49 54 45 20  nt { MMIO_WRITE 
11400 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
11410 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
11420 49 4f 5f 52 45 41 44 57 52 49 54 45 20 3d 20 30  IO_READWRITE = 0
11430 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65  x00000002 }....e
11440 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
11450 4f 5f 43 4f 4d 50 41 54 20 3d 20 30 78 30 30 30  O_COMPAT = 0x000
11460 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
11470 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 45 58 43 4c  uint { MMIO_EXCL
11480 55 53 49 56 45 20 3d 20 30 78 30 30 30 30 30 30  USIVE = 0x000000
11490 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
114a0 74 20 7b 20 4d 4d 49 4f 5f 44 45 4e 59 57 52 49  t { MMIO_DENYWRI
114b0 54 45 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  TE = 0x00000020 
114c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
114d0 20 4d 4d 49 4f 5f 44 45 4e 59 52 45 41 44 20 3d   MMIO_DENYREAD =
114e0 20 30 78 30 30 30 30 30 30 33 30 20 7d 0d 0a 65   0x00000030 }..e
114f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
11500 4f 5f 44 45 4e 59 4e 4f 4e 45 20 3d 20 30 78 30  O_DENYNONE = 0x0
11510 30 30 30 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75  0000040 }....enu
11520 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
11530 46 48 4f 50 45 4e 20 3d 20 30 78 30 30 31 30 20  FHOPEN = 0x0010 
11540 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
11550 20 4d 4d 49 4f 5f 45 4d 50 54 59 42 55 46 20 3d   MMIO_EMPTYBUF =
11560 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
11570 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 54 4f  : uint { MMIO_TO
11580 55 50 50 45 52 20 3d 20 30 78 30 30 31 30 20 7d  UPPER = 0x0010 }
11590 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
115a0 4d 4d 49 4f 5f 49 4e 53 54 41 4c 4c 50 52 4f 43  MMIO_INSTALLPROC
115b0 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d   = 0x00010000 }.
115c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
115d0 4d 49 4f 5f 47 4c 4f 42 41 4c 50 52 4f 43 20 3d  MIO_GLOBALPROC =
115e0 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x10000000 }..e
115f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
11600 4f 5f 52 45 4d 4f 56 45 50 52 4f 43 20 3d 20 30  O_REMOVEPROC = 0
11610 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
11620 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
11630 55 4e 49 43 4f 44 45 50 52 4f 43 20 3d 20 30 78  UNICODEPROC = 0x
11640 30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  01000000 }..enum
11650 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 46   : uint { MMIO_F
11660 49 4e 44 50 52 4f 43 20 3d 20 30 78 30 30 30 34  INDPROC = 0x0004
11670 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
11680 69 6e 74 20 7b 20 4d 4d 49 4f 5f 46 49 4e 44 43  int { MMIO_FINDC
11690 48 55 4e 4b 20 3d 20 30 78 30 30 31 30 20 7d 0d  HUNK = 0x0010 }.
116a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
116b0 4d 49 4f 5f 46 49 4e 44 52 49 46 46 20 3d 20 30  MIO_FINDRIFF = 0
116c0 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
116d0 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 46 49 4e 44  uint { MMIO_FIND
116e0 4c 49 53 54 20 3d 20 30 78 30 30 34 30 20 7d 0d  LIST = 0x0040 }.
116f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
11700 4d 49 4f 5f 43 52 45 41 54 45 52 49 46 46 20 3d  MIO_CREATERIFF =
11710 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20   0x0020 }..enum 
11720 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 43 52  : uint { MMIO_CR
11730 45 41 54 45 4c 49 53 54 20 3d 20 30 78 30 30 34  EATELIST = 0x004
11740 30 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d 4d 49  0 }....alias MMI
11750 4f 5f 52 45 41 44 20 4d 4d 49 4f 4d 5f 52 45 41  O_READ MMIOM_REA
11760 44 3b 0d 0a 61 6c 69 61 73 20 4d 4d 49 4f 5f 57  D;..alias MMIO_W
11770 52 49 54 45 20 4d 4d 49 4f 4d 5f 57 52 49 54 45  RITE MMIOM_WRITE
11780 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ;..enum : uint {
11790 20 4d 4d 49 4f 4d 5f 53 45 45 4b 20 3d 20 32 20   MMIOM_SEEK = 2 
117a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
117b0 20 4d 4d 49 4f 4d 5f 4f 50 45 4e 20 3d 20 33 20   MMIOM_OPEN = 3 
117c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
117d0 20 4d 4d 49 4f 4d 5f 43 4c 4f 53 45 20 3d 20 34   MMIOM_CLOSE = 4
117e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
117f0 7b 20 4d 4d 49 4f 4d 5f 57 52 49 54 45 46 4c 55  { MMIOM_WRITEFLU
11800 53 48 20 3d 20 35 20 7d 0d 0a 0d 0a 2f 2f 20 23  SH = 5 }....// #
11810 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
11820 30 33 30 61 29 0d 0a 65 6e 75 6d 20 3a 20 75 69  030a)..enum : ui
11830 6e 74 20 7b 20 4d 4d 49 4f 4d 5f 52 45 4e 41 4d  nt { MMIOM_RENAM
11840 45 20 3d 20 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64  E = 6 }..// #end
11850 69 66 20 2f 2a 20 69 66 64 65 66 20 57 49 4e 56  if /* ifdef WINV
11860 45 52 20 3e 3d 20 30 78 30 33 30 61 20 2a 2f 0d  ER >= 0x030a */.
11870 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
11880 20 4d 4d 49 4f 4d 5f 55 53 45 52 20 3d 20 30 78   MMIOM_USER = 0x
11890 38 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65  8000 }....// #de
118a0 66 69 6e 65 20 46 4f 55 52 43 43 5f 52 49 46 46  fine FOURCC_RIFF
118b0 20 6d 6d 69 6f 46 4f 55 52 43 43 28 27 52 27 2c   mmioFOURCC('R',
118c0 20 27 49 27 2c 20 27 46 27 2c 20 27 46 27 29 0d   'I', 'F', 'F').
118d0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 46 4f 55 52  .// #define FOUR
118e0 43 43 5f 4c 49 53 54 20 6d 6d 69 6f 46 4f 55 52  CC_LIST mmioFOUR
118f0 43 43 28 27 4c 27 2c 20 27 49 27 2c 20 27 53 27  CC('L', 'I', 'S'
11900 2c 20 27 54 27 29 0d 0a 0d 0a 2f 2f 20 23 64 65  , 'T')....// #de
11910 66 69 6e 65 20 46 4f 55 52 43 43 5f 44 4f 53 20  fine FOURCC_DOS 
11920 6d 6d 69 6f 46 4f 55 52 43 43 28 27 44 27 2c 20  mmioFOURCC('D', 
11930 27 4f 27 2c 20 27 53 27 2c 20 27 20 27 29 0d 0a  'O', 'S', ' ')..
11940 2f 2f 20 23 64 65 66 69 6e 65 20 46 4f 55 52 43  // #define FOURC
11950 43 5f 4d 45 4d 20 6d 6d 69 6f 46 4f 55 52 43 43  C_MEM mmioFOURCC
11960 28 27 4d 27 2c 20 27 45 27 2c 20 27 4d 27 2c 20  ('M', 'E', 'M', 
11970 27 20 27 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  ' ')....// #ifnd
11980 65 66 20 53 45 45 4b 5f 53 45 54 0d 0a 65 6e 75  ef SEEK_SET..enu
11990 6d 20 3a 20 75 69 6e 74 20 7b 20 53 45 45 4b 5f  m : uint { SEEK_
119a0 53 45 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20  SET = 0 }..enum 
119b0 3a 20 75 69 6e 74 20 7b 20 53 45 45 4b 5f 43 55  : uint { SEEK_CU
119c0 52 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R = 1 }..enum : 
119d0 75 69 6e 74 20 7b 20 53 45 45 4b 5f 45 4e 44 20  uint { SEEK_END 
119e0 3d 20 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  = 2 }..// #endif
119f0 20 20 2f 2a 20 69 66 6e 64 65 66 20 53 45 45 4b    /* ifndef SEEK
11a00 5f 53 45 54 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  _SET */....enum 
11a10 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 44 45  : uint { MMIO_DE
11a20 46 41 55 4c 54 42 55 46 46 45 52 20 3d 20 38 31  FAULTBUFFER = 81
11a30 39 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  92 }....// #defi
11a40 6e 65 20 6d 6d 69 6f 46 4f 55 52 43 43 28 63 68  ne mmioFOURCC(ch
11a50 30 2c 20 63 68 31 2c 20 63 68 32 2c 20 63 68 33  0, ch1, ch2, ch3
11a60 29 20 4d 41 4b 45 46 4f 55 52 43 43 28 63 68 30  ) MAKEFOURCC(ch0
11a70 2c 20 63 68 31 2c 20 63 68 32 2c 20 63 68 33 29  , ch1, ch2, ch3)
11a80 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
11a90 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  IN32....extern(W
11aa0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 46  indows) export F
11ab0 4f 55 52 43 43 20 6d 6d 69 6f 53 74 72 69 6e 67  OURCC mmioString
11ac0 54 6f 46 4f 55 52 43 43 41 28 4c 50 43 53 54 52  ToFOURCCA(LPCSTR
11ad0 20 73 7a 2c 20 55 49 4e 54 20 75 46 6c 61 67 73   sz, UINT uFlags
11ae0 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
11af0 77 73 29 20 65 78 70 6f 72 74 20 46 4f 55 52 43  ws) export FOURC
11b00 43 20 6d 6d 69 6f 53 74 72 69 6e 67 54 6f 46 4f  C mmioStringToFO
11b10 55 52 43 43 57 28 4c 50 43 57 53 54 52 20 73 7a  URCCW(LPCWSTR sz
11b20 2c 20 55 49 4e 54 20 75 46 6c 61 67 73 29 3b 0d  , UINT uFlags);.
11b30 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
11b40 44 45 0d 0a 61 6c 69 61 73 20 6d 6d 69 6f 53 74  DE..alias mmioSt
11b50 72 69 6e 67 54 6f 46 4f 55 52 43 43 57 20 6d 6d  ringToFOURCCW mm
11b60 69 6f 53 74 72 69 6e 67 54 6f 46 4f 55 52 43 43  ioStringToFOURCC
11b70 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
11b80 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
11b90 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74  // !UNICODE..ext
11ba0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
11bb0 6f 72 74 20 4c 50 4d 4d 49 4f 50 52 4f 43 20 6d  ort LPMMIOPROC m
11bc0 6d 69 6f 49 6e 73 74 61 6c 6c 49 4f 50 72 6f 63  mioInstallIOProc
11bd0 41 28 46 4f 55 52 43 43 20 66 63 63 49 4f 50 72  A(FOURCC fccIOPr
11be0 6f 63 2c 20 4c 50 4d 4d 49 4f 50 52 4f 43 20 70  oc, LPMMIOPROC p
11bf0 49 4f 50 72 6f 63 2c 20 44 57 4f 52 44 20 64 77  IOProc, DWORD dw
11c00 46 6c 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28  Flags);..extern(
11c10 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
11c20 4c 50 4d 4d 49 4f 50 52 4f 43 20 6d 6d 69 6f 49  LPMMIOPROC mmioI
11c30 6e 73 74 61 6c 6c 49 4f 50 72 6f 63 57 28 46 4f  nstallIOProcW(FO
11c40 55 52 43 43 20 66 63 63 49 4f 50 72 6f 63 2c 20  URCC fccIOProc, 
11c50 4c 50 4d 4d 49 4f 50 52 4f 43 20 70 49 4f 50 72  LPMMIOPROC pIOPr
11c60 6f 63 2c 20 44 57 4f 52 44 20 64 77 46 6c 61 67  oc, DWORD dwFlag
11c70 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  s);..// #ifdef U
11c80 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 6d 6d  NICODE..alias mm
11c90 69 6f 49 6e 73 74 61 6c 6c 49 4f 50 72 6f 63 57  ioInstallIOProcW
11ca0 20 6d 6d 69 6f 49 6e 73 74 61 6c 6c 49 4f 50 72   mmioInstallIOPr
11cb0 6f 63 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  oc;..// #else../
11cc0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
11cd0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65  f // !UNICODE..e
11ce0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
11cf0 78 70 6f 72 74 20 48 4d 4d 49 4f 20 6d 6d 69 6f  xport HMMIO mmio
11d00 4f 70 65 6e 41 28 4c 50 53 54 52 20 70 73 7a 46  OpenA(LPSTR pszF
11d10 69 6c 65 4e 61 6d 65 2c 20 4c 50 4d 4d 49 4f 49  ileName, LPMMIOI
11d20 4e 46 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c 20 44  NFO pmmioinfo, D
11d30 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a  WORD fdwOpen);..
11d40 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
11d50 65 78 70 6f 72 74 20 48 4d 4d 49 4f 20 6d 6d 69  export HMMIO mmi
11d60 6f 4f 70 65 6e 57 28 4c 50 57 53 54 52 20 70 73  oOpenW(LPWSTR ps
11d70 7a 46 69 6c 65 4e 61 6d 65 2c 20 4c 50 4d 4d 49  zFileName, LPMMI
11d80 4f 49 4e 46 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c  OINFO pmmioinfo,
11d90 20 44 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b   DWORD fdwOpen);
11da0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
11db0 4f 44 45 0d 0a 61 6c 69 61 73 20 6d 6d 69 6f 4f  ODE..alias mmioO
11dc0 70 65 6e 57 20 6d 6d 69 6f 4f 70 65 6e 3b 0d 0a  penW mmioOpen;..
11dd0 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
11de0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
11df0 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74 65 72 6e  !UNICODE..extern
11e00 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
11e10 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 52 65   MMRESULT mmioRe
11e20 6e 61 6d 65 41 28 4c 50 43 53 54 52 20 70 73 7a  nameA(LPCSTR psz
11e30 46 69 6c 65 4e 61 6d 65 2c 20 4c 50 43 53 54 52  FileName, LPCSTR
11e40 20 70 73 7a 4e 65 77 46 69 6c 65 4e 61 6d 65 2c   pszNewFileName,
11e50 20 4c 50 43 4d 4d 49 4f 49 4e 46 4f 20 70 6d 6d   LPCMMIOINFO pmm
11e60 69 6f 69 6e 66 6f 2c 20 44 57 4f 52 44 20 66 64  ioinfo, DWORD fd
11e70 77 52 65 6e 61 6d 65 29 3b 0d 0a 65 78 74 65 72  wRename);..exter
11e80 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
11e90 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 52  t MMRESULT mmioR
11ea0 65 6e 61 6d 65 57 28 4c 50 43 57 53 54 52 20 70  enameW(LPCWSTR p
11eb0 73 7a 46 69 6c 65 4e 61 6d 65 2c 20 4c 50 43 57  szFileName, LPCW
11ec0 53 54 52 20 70 73 7a 4e 65 77 46 69 6c 65 4e 61  STR pszNewFileNa
11ed0 6d 65 2c 20 4c 50 43 4d 4d 49 4f 49 4e 46 4f 20  me, LPCMMIOINFO 
11ee0 70 6d 6d 69 6f 69 6e 66 6f 2c 20 44 57 4f 52 44  pmmioinfo, DWORD
11ef0 20 66 64 77 52 65 6e 61 6d 65 29 3b 0d 0a 2f 2f   fdwRename);..//
11f00 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
11f10 0a 61 6c 69 61 73 20 6d 6d 69 6f 52 65 6e 61 6d  .alias mmioRenam
11f20 65 57 20 6d 6d 69 6f 52 65 6e 61 6d 65 3b 0d 0a  eW mmioRename;..
11f30 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
11f40 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
11f50 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6c  !UNICODE..// #el
11f60 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
11f70 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  if (WINVER >= 0x
11f80 30 33 30 61 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  030a)..// ...../
11f90 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66 64 65  / #endif /* ifde
11fa0 66 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33  f WINVER >= 0x03
11fb0 30 61 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66  0a */..// #endif
11fc0 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
11fd0 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
11fe0 55 4c 54 20 6d 6d 69 6f 43 6c 6f 73 65 28 48 4d  ULT mmioClose(HM
11ff0 4d 49 4f 20 68 6d 6d 69 6f 2c 20 55 49 4e 54 20  MIO hmmio, UINT 
12000 66 75 43 6c 6f 73 65 29 3b 0d 0a 65 78 74 65 72  fuClose);..exter
12010 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
12020 74 20 4c 4f 4e 47 20 6d 6d 69 6f 52 65 61 64 28  t LONG mmioRead(
12030 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20 48 50 53  HMMIO hmmio, HPS
12040 54 52 20 70 63 68 2c 20 4c 4f 4e 47 20 63 63 68  TR pch, LONG cch
12050 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
12060 77 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20  ws) export LONG 
12070 6d 6d 69 6f 57 72 69 74 65 28 48 4d 4d 49 4f 20  mmioWrite(HMMIO 
12080 68 6d 6d 69 6f 2c 20 63 68 61 72 20 2a 20 70 63  hmmio, char * pc
12090 68 2c 20 4c 4f 4e 47 20 63 63 68 29 3b 0d 0a 65  h, LONG cch);..e
120a0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
120b0 78 70 6f 72 74 20 4c 4f 4e 47 20 6d 6d 69 6f 53  xport LONG mmioS
120c0 65 65 6b 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c  eek(HMMIO hmmio,
120d0 20 4c 4f 4e 47 20 6c 4f 66 66 73 65 74 2c 20 69   LONG lOffset, i
120e0 6e 74 20 69 4f 72 69 67 69 6e 29 3b 0d 0a 65 78  nt iOrigin);..ex
120f0 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
12100 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d  port MMRESULT mm
12110 69 6f 47 65 74 49 6e 66 6f 28 48 4d 4d 49 4f 20  ioGetInfo(HMMIO 
12120 68 6d 6d 69 6f 2c 20 4c 50 4d 4d 49 4f 49 4e 46  hmmio, LPMMIOINF
12130 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c 20 55 49 4e  O pmmioinfo, UIN
12140 54 20 66 75 49 6e 66 6f 29 3b 0d 0a 65 78 74 65  T fuInfo);..exte
12150 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
12160 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f  rt MMRESULT mmio
12170 53 65 74 49 6e 66 6f 28 48 4d 4d 49 4f 20 68 6d  SetInfo(HMMIO hm
12180 6d 69 6f 2c 20 4c 50 43 4d 4d 49 4f 49 4e 46 4f  mio, LPCMMIOINFO
12190 20 70 6d 6d 69 6f 69 6e 66 6f 2c 20 55 49 4e 54   pmmioinfo, UINT
121a0 20 66 75 49 6e 66 6f 29 3b 0d 0a 65 78 74 65 72   fuInfo);..exter
121b0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
121c0 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 53  t MMRESULT mmioS
121d0 65 74 42 75 66 66 65 72 28 48 4d 4d 49 4f 20 68  etBuffer(HMMIO h
121e0 6d 6d 69 6f 2c 20 4c 50 53 54 52 20 70 63 68 42  mmio, LPSTR pchB
121f0 75 66 66 65 72 2c 20 4c 4f 4e 47 20 63 63 68 42  uffer, LONG cchB
12200 75 66 66 65 72 2c 0d 0a 20 20 55 49 4e 54 20 66  uffer,..  UINT f
12210 75 42 75 66 66 65 72 29 3b 0d 0a 65 78 74 65 72  uBuffer);..exter
12220 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
12230 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 46  t MMRESULT mmioF
12240 6c 75 73 68 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f  lush(HMMIO hmmio
12250 2c 20 55 49 4e 54 20 66 75 46 6c 75 73 68 29 3b  , UINT fuFlush);
12260 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12270 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
12280 54 20 6d 6d 69 6f 41 64 76 61 6e 63 65 28 48 4d  T mmioAdvance(HM
12290 4d 49 4f 20 68 6d 6d 69 6f 2c 20 4c 50 4d 4d 49  MIO hmmio, LPMMI
122a0 4f 49 4e 46 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c  OINFO pmmioinfo,
122b0 20 55 49 4e 54 20 66 75 41 64 76 61 6e 63 65 29   UINT fuAdvance)
122c0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
122d0 73 29 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c  s) export LRESUL
122e0 54 20 6d 6d 69 6f 53 65 6e 64 4d 65 73 73 61 67  T mmioSendMessag
122f0 65 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20 55  e(HMMIO hmmio, U
12300 49 4e 54 20 75 4d 73 67 2c 0d 0a 20 20 4c 50 41  INT uMsg,..  LPA
12310 52 41 4d 20 6c 50 61 72 61 6d 31 2c 20 4c 50 41  RAM lParam1, LPA
12320 52 41 4d 20 6c 50 61 72 61 6d 32 29 3b 0d 0a 65  RAM lParam2);..e
12330 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
12340 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
12350 6d 69 6f 44 65 73 63 65 6e 64 28 48 4d 4d 49 4f  mioDescend(HMMIO
12360 20 68 6d 6d 69 6f 2c 20 4c 50 4d 4d 43 4b 49 4e   hmmio, LPMMCKIN
12370 46 4f 20 70 6d 6d 63 6b 69 2c 0d 0a 20 20 4d 4d  FO pmmcki,..  MM
12380 43 4b 49 4e 46 4f 20 2a 20 70 6d 6d 63 6b 69 50  CKINFO * pmmckiP
12390 61 72 65 6e 74 2c 20 55 49 4e 54 20 66 75 44 65  arent, UINT fuDe
123a0 73 63 65 6e 64 29 3b 0d 0a 65 78 74 65 72 6e 28  scend);..extern(
123b0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
123c0 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 41 73 63  MMRESULT mmioAsc
123d0 65 6e 64 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c  end(HMMIO hmmio,
123e0 20 4c 50 4d 4d 43 4b 49 4e 46 4f 20 70 6d 6d 63   LPMMCKINFO pmmc
123f0 6b 69 2c 20 55 49 4e 54 20 66 75 41 73 63 65 6e  ki, UINT fuAscen
12400 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  d);..extern(Wind
12410 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
12420 53 55 4c 54 20 6d 6d 69 6f 43 72 65 61 74 65 43  SULT mmioCreateC
12430 68 75 6e 6b 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f  hunk(HMMIO hmmio
12440 2c 20 4c 50 4d 4d 43 4b 49 4e 46 4f 20 70 6d 6d  , LPMMCKINFO pmm
12450 63 6b 69 2c 20 55 49 4e 54 20 66 75 43 72 65 61  cki, UINT fuCrea
12460 74 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  te);....// #endi
12470 66 20 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e  f  /* ifndef MMN
12480 4f 4d 4d 49 4f 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23  OMMIO */....// #
12490 69 66 6e 64 65 66 20 4d 4d 4e 4f 4d 43 49 0d 0a  ifndef MMNOMCI..
124a0 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 43  ..// #ifndef _MC
124b0 49 45 52 52 4f 52 5f 20 20 20 20 20 20 20 20 20  IERROR_         
124c0 20 20 20 20 20 2f 2a 20 4d 43 49 45 52 52 4f 52       /* MCIERROR
124d0 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73   is defined in s
124e0 6f 6d 65 20 70 6f 73 74 20 33 2e 31 20 61 70 70  ome post 3.1 app
124f0 73 20 2a 2f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  s */..// #define
12500 20 5f 4d 43 49 45 52 52 4f 52 5f 0d 0a 61 6c 69   _MCIERROR_..ali
12510 61 73 20 44 57 4f 52 44 20 4d 43 49 45 52 52 4f  as DWORD MCIERRO
12520 52 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  R;..// #endif...
12530 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 43 49  .// #ifndef _MCI
12540 44 45 56 49 43 45 49 44 5f 20 20 20 20 20 20 20  DEVICEID_       
12550 20 20 20 20 2f 2a 20 53 61 6d 65 20 77 69 74 68      /* Same with
12560 20 4d 43 49 44 45 56 49 43 45 49 44 20 2a 2f 0d   MCIDEVICEID */.
12570 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 4d 43 49  .// #define _MCI
12580 44 45 56 49 43 45 49 44 5f 0d 0a 61 6c 69 61 73  DEVICEID_..alias
12590 20 55 49 4e 54 20 4d 43 49 44 45 56 49 43 45 49   UINT MCIDEVICEI
125a0 44 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  D;..// #endif...
125b0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
125c0 20 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63   alias UINT func
125d0 74 69 6f 6e 28 4d 43 49 44 45 56 49 43 45 49 44  tion(MCIDEVICEID
125e0 20 6d 63 69 49 64 2c 20 44 57 4f 52 44 20 64 77   mciId, DWORD dw
125f0 59 69 65 6c 64 44 61 74 61 29 20 59 49 45 4c 44  YieldData) YIELD
12600 50 52 4f 43 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  PROC;....// #ifd
12610 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74  ef _WIN32....ext
12620 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12630 6f 72 74 20 4d 43 49 45 52 52 4f 52 20 6d 63 69  ort MCIERROR mci
12640 53 65 6e 64 43 6f 6d 6d 61 6e 64 41 28 4d 43 49  SendCommandA(MCI
12650 44 45 56 49 43 45 49 44 20 6d 63 69 49 64 2c 20  DEVICEID mciId, 
12660 55 49 4e 54 20 75 4d 73 67 2c 20 44 57 4f 52 44  UINT uMsg, DWORD
12670 5f 50 54 52 20 64 77 50 61 72 61 6d 31 2c 20 44  _PTR dwParam1, D
12680 57 4f 52 44 5f 50 54 52 20 64 77 50 61 72 61 6d  WORD_PTR dwParam
12690 32 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  2);..extern(Wind
126a0 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 43 49 45  ows) export MCIE
126b0 52 52 4f 52 20 6d 63 69 53 65 6e 64 43 6f 6d 6d  RROR mciSendComm
126c0 61 6e 64 57 28 4d 43 49 44 45 56 49 43 45 49 44  andW(MCIDEVICEID
126d0 20 6d 63 69 49 64 2c 20 55 49 4e 54 20 75 4d 73   mciId, UINT uMs
126e0 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 50  g, DWORD_PTR dwP
126f0 61 72 61 6d 31 2c 20 44 57 4f 52 44 5f 50 54 52  aram1, DWORD_PTR
12700 20 64 77 50 61 72 61 6d 32 29 3b 0d 0a 2f 2f 20   dwParam2);..// 
12710 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
12720 61 6c 69 61 73 20 6d 63 69 53 65 6e 64 43 6f 6d  alias mciSendCom
12730 6d 61 6e 64 57 20 6d 63 69 53 65 6e 64 43 6f 6d  mandW mciSendCom
12740 6d 61 6e 64 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  mand;..// #else.
12750 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
12760 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
12770 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
12780 20 65 78 70 6f 72 74 20 4d 43 49 45 52 52 4f 52   export MCIERROR
12790 20 6d 63 69 53 65 6e 64 53 74 72 69 6e 67 41 28   mciSendStringA(
127a0 4c 50 43 53 54 52 20 6c 70 73 74 72 43 6f 6d 6d  LPCSTR lpstrComm
127b0 61 6e 64 2c 20 4c 50 53 54 52 20 6c 70 73 74 72  and, LPSTR lpstr
127c0 52 65 74 75 72 6e 53 74 72 69 6e 67 2c 20 55 49  ReturnString, UI
127d0 4e 54 20 75 52 65 74 75 72 6e 4c 65 6e 67 74 68  NT uReturnLength
127e0 2c 20 48 57 4e 44 20 68 77 6e 64 43 61 6c 6c 62  , HWND hwndCallb
127f0 61 63 6b 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ack);..extern(Wi
12800 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 43  ndows) export MC
12810 49 45 52 52 4f 52 20 6d 63 69 53 65 6e 64 53 74  IERROR mciSendSt
12820 72 69 6e 67 57 28 4c 50 43 57 53 54 52 20 6c 70  ringW(LPCWSTR lp
12830 73 74 72 43 6f 6d 6d 61 6e 64 2c 20 4c 50 57 53  strCommand, LPWS
12840 54 52 20 6c 70 73 74 72 52 65 74 75 72 6e 53 74  TR lpstrReturnSt
12850 72 69 6e 67 2c 20 55 49 4e 54 20 75 52 65 74 75  ring, UINT uRetu
12860 72 6e 4c 65 6e 67 74 68 2c 20 48 57 4e 44 20 68  rnLength, HWND h
12870 77 6e 64 43 61 6c 6c 62 61 63 6b 29 3b 0d 0a 2f  wndCallback);../
12880 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
12890 0d 0a 61 6c 69 61 73 20 6d 63 69 53 65 6e 64 53  ..alias mciSendS
128a0 74 72 69 6e 67 57 20 6d 63 69 53 65 6e 64 53 74  tringW mciSendSt
128b0 72 69 6e 67 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ring;..// #else.
128c0 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
128d0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
128e0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
128f0 20 65 78 70 6f 72 74 20 4d 43 49 44 45 56 49 43   export MCIDEVIC
12900 45 49 44 20 6d 63 69 47 65 74 44 65 76 69 63 65  EID mciGetDevice
12910 49 44 41 28 4c 50 43 53 54 52 20 70 73 7a 44 65  IDA(LPCSTR pszDe
12920 76 69 63 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57  vice);..extern(W
12930 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
12940 43 49 44 45 56 49 43 45 49 44 20 6d 63 69 47 65  CIDEVICEID mciGe
12950 74 44 65 76 69 63 65 49 44 57 28 4c 50 43 57 53  tDeviceIDW(LPCWS
12960 54 52 20 70 73 7a 44 65 76 69 63 65 29 3b 0d 0a  TR pszDevice);..
12970 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
12980 45 0d 0a 61 6c 69 61 73 20 6d 63 69 47 65 74 44  E..alias mciGetD
12990 65 76 69 63 65 49 44 57 20 6d 63 69 47 65 74 44  eviceIDW mciGetD
129a0 65 76 69 63 65 49 44 3b 0d 0a 2f 2f 20 23 65 6c  eviceID;..// #el
129b0 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
129c0 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
129d0 44 45 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  DE..extern(Windo
129e0 77 73 29 20 65 78 70 6f 72 74 20 4d 43 49 44 45  ws) export MCIDE
129f0 56 49 43 45 49 44 20 6d 63 69 47 65 74 44 65 76  VICEID mciGetDev
12a00 69 63 65 49 44 46 72 6f 6d 45 6c 65 6d 65 6e 74  iceIDFromElement
12a10 49 44 41 28 44 57 4f 52 44 20 64 77 45 6c 65 6d  IDA(DWORD dwElem
12a20 65 6e 74 49 44 2c 20 4c 50 43 53 54 52 20 6c 70  entID, LPCSTR lp
12a30 73 74 72 54 79 70 65 20 29 3b 0d 0a 65 78 74 65  strType );..exte
12a40 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
12a50 72 74 20 4d 43 49 44 45 56 49 43 45 49 44 20 6d  rt MCIDEVICEID m
12a60 63 69 47 65 74 44 65 76 69 63 65 49 44 46 72 6f  ciGetDeviceIDFro
12a70 6d 45 6c 65 6d 65 6e 74 49 44 57 28 44 57 4f 52  mElementIDW(DWOR
12a80 44 20 64 77 45 6c 65 6d 65 6e 74 49 44 2c 20 4c  D dwElementID, L
12a90 50 43 57 53 54 52 20 6c 70 73 74 72 54 79 70 65  PCWSTR lpstrType
12aa0 20 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55   );..// #ifdef U
12ab0 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 6d 63  NICODE..alias mc
12ac0 69 47 65 74 44 65 76 69 63 65 49 44 46 72 6f 6d  iGetDeviceIDFrom
12ad0 45 6c 65 6d 65 6e 74 49 44 57 20 6d 63 69 47 65  ElementIDW mciGe
12ae0 74 44 65 76 69 63 65 49 44 46 72 6f 6d 45 6c 65  tDeviceIDFromEle
12af0 6d 65 6e 74 49 44 3b 0d 0a 2f 2f 20 23 65 6c 73  mentID;..// #els
12b00 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
12b10 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
12b20 45 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  E..extern(Window
12b30 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 6d  s) export BOOL m
12b40 63 69 47 65 74 45 72 72 6f 72 53 74 72 69 6e 67  ciGetErrorString
12b50 41 28 4d 43 49 45 52 52 4f 52 20 6d 63 69 65 72  A(MCIERROR mcier
12b60 72 2c 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74  r, LPSTR pszText
12b70 2c 20 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b  , UINT cchText);
12b80 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12b90 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 6d 63  ) export BOOL mc
12ba0 69 47 65 74 45 72 72 6f 72 53 74 72 69 6e 67 57  iGetErrorStringW
12bb0 28 4d 43 49 45 52 52 4f 52 20 6d 63 69 65 72 72  (MCIERROR mcierr
12bc0 2c 20 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74  , LPWSTR pszText
12bd0 2c 20 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b  , UINT cchText);
12be0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
12bf0 4f 44 45 0d 0a 61 6c 69 61 73 20 6d 63 69 47 65  ODE..alias mciGe
12c00 74 45 72 72 6f 72 53 74 72 69 6e 67 57 20 6d 63  tErrorStringW mc
12c10 69 47 65 74 45 72 72 6f 72 53 74 72 69 6e 67 3b  iGetErrorString;
12c20 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
12c30 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
12c40 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
12c50 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
12c60 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74  // #endif....ext
12c70 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12c80 6f 72 74 20 42 4f 4f 4c 20 6d 63 69 53 65 74 59  ort BOOL mciSetY
12c90 69 65 6c 64 50 72 6f 63 28 4d 43 49 44 45 56 49  ieldProc(MCIDEVI
12ca0 43 45 49 44 20 6d 63 69 49 64 2c 20 59 49 45 4c  CEID mciId, YIEL
12cb0 44 50 52 4f 43 20 66 70 59 69 65 6c 64 50 72 6f  DPROC fpYieldPro
12cc0 63 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 59 69  c,..  DWORD dwYi
12cd0 65 6c 64 44 61 74 61 29 3b 0d 0a 0d 0a 2f 2f 20  eldData);....// 
12ce0 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  #if (WINVER >= 0
12cf0 78 30 33 30 61 29 0d 0a 65 78 74 65 72 6e 28 57  x030a)..extern(W
12d00 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
12d10 54 41 53 4b 20 6d 63 69 47 65 74 43 72 65 61 74  TASK mciGetCreat
12d20 6f 72 54 61 73 6b 28 4d 43 49 44 45 56 49 43 45  orTask(MCIDEVICE
12d30 49 44 20 6d 63 69 49 64 29 3b 0d 0a 65 78 74 65  ID mciId);..exte
12d40 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
12d50 72 74 20 59 49 45 4c 44 50 52 4f 43 20 6d 63 69  rt YIELDPROC mci
12d60 47 65 74 59 69 65 6c 64 50 72 6f 63 28 4d 43 49  GetYieldProc(MCI
12d70 44 45 56 49 43 45 49 44 20 6d 63 69 49 64 2c 20  DEVICEID mciId, 
12d80 4c 50 44 57 4f 52 44 20 70 64 77 59 69 65 6c 64  LPDWORD pdwYield
12d90 44 61 74 61 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69  Data);..// #endi
12da0 66 20 2f 2a 20 69 66 64 65 66 20 57 49 4e 56 45  f /* ifdef WINVE
12db0 52 20 3e 3d 20 30 78 30 33 30 61 20 2a 2f 0d 0a  R >= 0x030a */..
12dc0 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52  ..// #if (WINVER
12dd0 20 3c 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 2e   < 0x030a)..// .
12de0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a  ....// #endif /*
12df0 20 69 66 64 65 66 20 57 49 4e 56 45 52 20 3c 20   ifdef WINVER < 
12e00 30 78 30 33 30 61 20 2a 2f 0d 0a 0d 0a 65 6e 75  0x030a */....enu
12e10 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
12e20 52 5f 49 4e 56 41 4c 49 44 5f 44 45 56 49 43 45  R_INVALID_DEVICE
12e30 5f 49 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  _ID = MCIERR_BAS
12e40 45 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 1 }..enum : 
12e50 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 55 4e  uint { MCIERR_UN
12e60 52 45 43 4f 47 4e 49 5a 45 44 5f 4b 45 59 57 4f  RECOGNIZED_KEYWO
12e70 52 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  RD = MCIERR_BASE
12e80 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 3 }..enum : u
12e90 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 55 4e 52  int { MCIERR_UNR
12ea0 45 43 4f 47 4e 49 5a 45 44 5f 43 4f 4d 4d 41 4e  ECOGNIZED_COMMAN
12eb0 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  D = MCIERR_BASE 
12ec0 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 5 }..enum : ui
12ed0 6e 74 20 7b 20 4d 43 49 45 52 52 5f 48 41 52 44  nt { MCIERR_HARD
12ee0 57 41 52 45 20 3d 20 4d 43 49 45 52 52 5f 42 41  WARE = MCIERR_BA
12ef0 53 45 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 6 }..enum :
12f00 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 49   uint { MCIERR_I
12f10 4e 56 41 4c 49 44 5f 44 45 56 49 43 45 5f 4e 41  NVALID_DEVICE_NA
12f20 4d 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  ME = MCIERR_BASE
12f30 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 7 }..enum : u
12f40 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 4f 55 54  int { MCIERR_OUT
12f50 5f 4f 46 5f 4d 45 4d 4f 52 59 20 3d 20 4d 43 49  _OF_MEMORY = MCI
12f60 45 52 52 5f 42 41 53 45 20 2b 20 38 20 7d 0d 0a  ERR_BASE + 8 }..
12f70 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
12f80 49 45 52 52 5f 44 45 56 49 43 45 5f 4f 50 45 4e  IERR_DEVICE_OPEN
12f90 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
12fa0 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   9 }..enum : uin
12fb0 74 20 7b 20 4d 43 49 45 52 52 5f 43 41 4e 4e 4f  t { MCIERR_CANNO
12fc0 54 5f 4c 4f 41 44 5f 44 52 49 56 45 52 20 3d 20  T_LOAD_DRIVER = 
12fd0 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 31 30  MCIERR_BASE + 10
12fe0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12ff0 7b 20 4d 43 49 45 52 52 5f 4d 49 53 53 49 4e 47  { MCIERR_MISSING
13000 5f 43 4f 4d 4d 41 4e 44 5f 53 54 52 49 4e 47 20  _COMMAND_STRING 
13010 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13020 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
13030 74 20 7b 20 4d 43 49 45 52 52 5f 50 41 52 41 4d  t { MCIERR_PARAM
13040 5f 4f 56 45 52 46 4c 4f 57 20 3d 20 4d 43 49 45  _OVERFLOW = MCIE
13050 52 52 5f 42 41 53 45 20 2b 20 31 32 20 7d 0d 0a  RR_BASE + 12 }..
13060 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13070 49 45 52 52 5f 4d 49 53 53 49 4e 47 5f 53 54 52  IERR_MISSING_STR
13080 49 4e 47 5f 41 52 47 55 4d 45 4e 54 20 3d 20 4d  ING_ARGUMENT = M
13090 43 49 45 52 52 5f 42 41 53 45 20 2b 20 31 33 20  CIERR_BASE + 13 
130a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
130b0 20 4d 43 49 45 52 52 5f 42 41 44 5f 49 4e 54 45   MCIERR_BAD_INTE
130c0 47 45 52 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  GER = MCIERR_BAS
130d0 45 20 2b 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 14 }..enum :
130e0 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 50   uint { MCIERR_P
130f0 41 52 53 45 52 5f 49 4e 54 45 52 4e 41 4c 20 3d  ARSER_INTERNAL =
13100 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 31   MCIERR_BASE + 1
13110 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
13120 20 7b 20 4d 43 49 45 52 52 5f 44 52 49 56 45 52   { MCIERR_DRIVER
13130 5f 49 4e 54 45 52 4e 41 4c 20 3d 20 4d 43 49 45  _INTERNAL = MCIE
13140 52 52 5f 42 41 53 45 20 2b 20 31 36 20 7d 0d 0a  RR_BASE + 16 }..
13150 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13160 49 45 52 52 5f 4d 49 53 53 49 4e 47 5f 50 41 52  IERR_MISSING_PAR
13170 41 4d 45 54 45 52 20 3d 20 4d 43 49 45 52 52 5f  AMETER = MCIERR_
13180 42 41 53 45 20 2b 20 31 37 20 7d 0d 0a 65 6e 75  BASE + 17 }..enu
13190 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
131a0 52 5f 55 4e 53 55 50 50 4f 52 54 45 44 5f 46 55  R_UNSUPPORTED_FU
131b0 4e 43 54 49 4f 4e 20 3d 20 4d 43 49 45 52 52 5f  NCTION = MCIERR_
131c0 42 41 53 45 20 2b 20 31 38 20 7d 0d 0a 65 6e 75  BASE + 18 }..enu
131d0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
131e0 52 5f 46 49 4c 45 5f 4e 4f 54 5f 46 4f 55 4e 44  R_FILE_NOT_FOUND
131f0 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13200 20 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   19 }..enum : ui
13210 6e 74 20 7b 20 4d 43 49 45 52 52 5f 44 45 56 49  nt { MCIERR_DEVI
13220 43 45 5f 4e 4f 54 5f 52 45 41 44 59 20 3d 20 4d  CE_NOT_READY = M
13230 43 49 45 52 52 5f 42 41 53 45 20 2b 20 32 30 20  CIERR_BASE + 20 
13240 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13250 20 4d 43 49 45 52 52 5f 49 4e 54 45 52 4e 41 4c   MCIERR_INTERNAL
13260 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13270 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   21 }..enum : ui
13280 6e 74 20 7b 20 4d 43 49 45 52 52 5f 44 52 49 56  nt { MCIERR_DRIV
13290 45 52 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  ER = MCIERR_BASE
132a0 20 2b 20 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 22 }..enum : 
132b0 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 43 41  uint { MCIERR_CA
132c0 4e 4e 4f 54 5f 55 53 45 5f 41 4c 4c 20 3d 20 4d  NNOT_USE_ALL = M
132d0 43 49 45 52 52 5f 42 41 53 45 20 2b 20 32 33 20  CIERR_BASE + 23 
132e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
132f0 20 4d 43 49 45 52 52 5f 4d 55 4c 54 49 50 4c 45   MCIERR_MULTIPLE
13300 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13310 20 32 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   24 }..enum : ui
13320 6e 74 20 7b 20 4d 43 49 45 52 52 5f 45 58 54 45  nt { MCIERR_EXTE
13330 4e 53 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 20  NSION_NOT_FOUND 
13340 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13350 32 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  25 }..enum : uin
13360 74 20 7b 20 4d 43 49 45 52 52 5f 4f 55 54 4f 46  t { MCIERR_OUTOF
13370 52 41 4e 47 45 20 3d 20 4d 43 49 45 52 52 5f 42  RANGE = MCIERR_B
13380 41 53 45 20 2b 20 32 36 20 7d 0d 0a 65 6e 75 6d  ASE + 26 }..enum
13390 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
133a0 5f 46 4c 41 47 53 5f 4e 4f 54 5f 43 4f 4d 50 41  _FLAGS_NOT_COMPA
133b0 54 49 42 4c 45 20 3d 20 4d 43 49 45 52 52 5f 42  TIBLE = MCIERR_B
133c0 41 53 45 20 2b 20 32 38 20 7d 0d 0a 65 6e 75 6d  ASE + 28 }..enum
133d0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
133e0 5f 46 49 4c 45 5f 4e 4f 54 5f 53 41 56 45 44 20  _FILE_NOT_SAVED 
133f0 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13400 33 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  30 }..enum : uin
13410 74 20 7b 20 4d 43 49 45 52 52 5f 44 45 56 49 43  t { MCIERR_DEVIC
13420 45 5f 54 59 50 45 5f 52 45 51 55 49 52 45 44 20  E_TYPE_REQUIRED 
13430 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13440 33 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  31 }..enum : uin
13450 74 20 7b 20 4d 43 49 45 52 52 5f 44 45 56 49 43  t { MCIERR_DEVIC
13460 45 5f 4c 4f 43 4b 45 44 20 3d 20 4d 43 49 45 52  E_LOCKED = MCIER
13470 52 5f 42 41 53 45 20 2b 20 33 32 20 7d 0d 0a 65  R_BASE + 32 }..e
13480 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
13490 45 52 52 5f 44 55 50 4c 49 43 41 54 45 5f 41 4c  ERR_DUPLICATE_AL
134a0 49 41 53 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  IAS = MCIERR_BAS
134b0 45 20 2b 20 33 33 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 33 }..enum :
134c0 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 42   uint { MCIERR_B
134d0 41 44 5f 43 4f 4e 53 54 41 4e 54 20 3d 20 4d 43  AD_CONSTANT = MC
134e0 49 45 52 52 5f 42 41 53 45 20 2b 20 33 34 20 7d  IERR_BASE + 34 }
134f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13500 4d 43 49 45 52 52 5f 4d 55 53 54 5f 55 53 45 5f  MCIERR_MUST_USE_
13510 53 48 41 52 45 41 42 4c 45 20 3d 20 4d 43 49 45  SHAREABLE = MCIE
13520 52 52 5f 42 41 53 45 20 2b 20 33 35 20 7d 0d 0a  RR_BASE + 35 }..
13530 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13540 49 45 52 52 5f 4d 49 53 53 49 4e 47 5f 44 45 56  IERR_MISSING_DEV
13550 49 43 45 5f 4e 41 4d 45 20 3d 20 4d 43 49 45 52  ICE_NAME = MCIER
13560 52 5f 42 41 53 45 20 2b 20 33 36 20 7d 0d 0a 65  R_BASE + 36 }..e
13570 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
13580 45 52 52 5f 42 41 44 5f 54 49 4d 45 5f 46 4f 52  ERR_BAD_TIME_FOR
13590 4d 41 54 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  MAT = MCIERR_BAS
135a0 45 20 2b 20 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 37 }..enum :
135b0 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 4e   uint { MCIERR_N
135c0 4f 5f 43 4c 4f 53 49 4e 47 5f 51 55 4f 54 45 20  O_CLOSING_QUOTE 
135d0 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
135e0 33 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  38 }..enum : uin
135f0 74 20 7b 20 4d 43 49 45 52 52 5f 44 55 50 4c 49  t { MCIERR_DUPLI
13600 43 41 54 45 5f 46 4c 41 47 53 20 3d 20 4d 43 49  CATE_FLAGS = MCI
13610 45 52 52 5f 42 41 53 45 20 2b 20 33 39 20 7d 0d  ERR_BASE + 39 }.
13620 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
13630 43 49 45 52 52 5f 49 4e 56 41 4c 49 44 5f 46 49  CIERR_INVALID_FI
13640 4c 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  LE = MCIERR_BASE
13650 20 2b 20 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 40 }..enum : 
13660 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 4e 55  uint { MCIERR_NU
13670 4c 4c 5f 50 41 52 41 4d 45 54 45 52 5f 42 4c 4f  LL_PARAMETER_BLO
13680 43 4b 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  CK = MCIERR_BASE
13690 20 2b 20 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 41 }..enum : 
136a0 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 55 4e  uint { MCIERR_UN
136b0 4e 41 4d 45 44 5f 52 45 53 4f 55 52 43 45 20 3d  NAMED_RESOURCE =
136c0 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 34   MCIERR_BASE + 4
136d0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
136e0 20 7b 20 4d 43 49 45 52 52 5f 4e 45 57 5f 52 45   { MCIERR_NEW_RE
136f0 51 55 49 52 45 53 5f 41 4c 49 41 53 20 3d 20 4d  QUIRES_ALIAS = M
13700 43 49 45 52 52 5f 42 41 53 45 20 2b 20 34 33 20  CIERR_BASE + 43 
13710 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13720 20 4d 43 49 45 52 52 5f 4e 4f 54 49 46 59 5f 4f   MCIERR_NOTIFY_O
13730 4e 5f 41 55 54 4f 5f 4f 50 45 4e 20 3d 20 4d 43  N_AUTO_OPEN = MC
13740 49 45 52 52 5f 42 41 53 45 20 2b 20 34 34 20 7d  IERR_BASE + 44 }
13750 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13760 4d 43 49 45 52 52 5f 4e 4f 5f 45 4c 45 4d 45 4e  MCIERR_NO_ELEMEN
13770 54 5f 41 4c 4c 4f 57 45 44 20 3d 20 4d 43 49 45  T_ALLOWED = MCIE
13780 52 52 5f 42 41 53 45 20 2b 20 34 35 20 7d 0d 0a  RR_BASE + 45 }..
13790 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
137a0 49 45 52 52 5f 4e 4f 4e 41 50 50 4c 49 43 41 42  IERR_NONAPPLICAB
137b0 4c 45 5f 46 55 4e 43 54 49 4f 4e 20 3d 20 4d 43  LE_FUNCTION = MC
137c0 49 45 52 52 5f 42 41 53 45 20 2b 20 34 36 20 7d  IERR_BASE + 46 }
137d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
137e0 4d 43 49 45 52 52 5f 49 4c 4c 45 47 41 4c 5f 46  MCIERR_ILLEGAL_F
137f0 4f 52 5f 41 55 54 4f 5f 4f 50 45 4e 20 3d 20 4d  OR_AUTO_OPEN = M
13800 43 49 45 52 52 5f 42 41 53 45 20 2b 20 34 37 20  CIERR_BASE + 47 
13810 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13820 20 4d 43 49 45 52 52 5f 46 49 4c 45 4e 41 4d 45   MCIERR_FILENAME
13830 5f 52 45 51 55 49 52 45 44 20 3d 20 4d 43 49 45  _REQUIRED = MCIE
13840 52 52 5f 42 41 53 45 20 2b 20 34 38 20 7d 0d 0a  RR_BASE + 48 }..
13850 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13860 49 45 52 52 5f 45 58 54 52 41 5f 43 48 41 52 41  IERR_EXTRA_CHARA
13870 43 54 45 52 53 20 3d 20 4d 43 49 45 52 52 5f 42  CTERS = MCIERR_B
13880 41 53 45 20 2b 20 34 39 20 7d 0d 0a 65 6e 75 6d  ASE + 49 }..enum
13890 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
138a0 5f 44 45 56 49 43 45 5f 4e 4f 54 5f 49 4e 53 54  _DEVICE_NOT_INST
138b0 41 4c 4c 45 44 20 3d 20 4d 43 49 45 52 52 5f 42  ALLED = MCIERR_B
138c0 41 53 45 20 2b 20 35 30 20 7d 0d 0a 65 6e 75 6d  ASE + 50 }..enum
138d0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
138e0 5f 47 45 54 5f 43 44 20 3d 20 4d 43 49 45 52 52  _GET_CD = MCIERR
138f0 5f 42 41 53 45 20 2b 20 35 31 20 7d 0d 0a 65 6e  _BASE + 51 }..en
13900 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13910 52 52 5f 53 45 54 5f 43 44 20 3d 20 4d 43 49 45  RR_SET_CD = MCIE
13920 52 52 5f 42 41 53 45 20 2b 20 35 32 20 7d 0d 0a  RR_BASE + 52 }..
13930 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13940 49 45 52 52 5f 53 45 54 5f 44 52 49 56 45 20 3d  IERR_SET_DRIVE =
13950 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 35   MCIERR_BASE + 5
13960 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
13970 20 7b 20 4d 43 49 45 52 52 5f 44 45 56 49 43 45   { MCIERR_DEVICE
13980 5f 4c 45 4e 47 54 48 20 3d 20 4d 43 49 45 52 52  _LENGTH = MCIERR
13990 5f 42 41 53 45 20 2b 20 35 34 20 7d 0d 0a 65 6e  _BASE + 54 }..en
139a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
139b0 52 52 5f 44 45 56 49 43 45 5f 4f 52 44 5f 4c 45  RR_DEVICE_ORD_LE
139c0 4e 47 54 48 20 3d 20 4d 43 49 45 52 52 5f 42 41  NGTH = MCIERR_BA
139d0 53 45 20 2b 20 35 35 20 7d 0d 0a 65 6e 75 6d 20  SE + 55 }..enum 
139e0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
139f0 4e 4f 5f 49 4e 54 45 47 45 52 20 3d 20 4d 43 49  NO_INTEGER = MCI
13a00 45 52 52 5f 42 41 53 45 20 2b 20 35 36 20 7d 0d  ERR_BASE + 56 }.
13a10 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
13a20 20 4d 43 49 45 52 52 5f 57 41 56 45 5f 4f 55 54   MCIERR_WAVE_OUT
13a30 50 55 54 53 49 4e 55 53 45 20 3d 20 4d 43 49 45  PUTSINUSE = MCIE
13a40 52 52 5f 42 41 53 45 20 2b 20 36 34 20 7d 0d 0a  RR_BASE + 64 }..
13a50 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13a60 49 45 52 52 5f 57 41 56 45 5f 53 45 54 4f 55 54  IERR_WAVE_SETOUT
13a70 50 55 54 49 4e 55 53 45 20 3d 20 4d 43 49 45 52  PUTINUSE = MCIER
13a80 52 5f 42 41 53 45 20 2b 20 36 35 20 7d 0d 0a 65  R_BASE + 65 }..e
13a90 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
13aa0 45 52 52 5f 57 41 56 45 5f 49 4e 50 55 54 53 49  ERR_WAVE_INPUTSI
13ab0 4e 55 53 45 20 3d 20 4d 43 49 45 52 52 5f 42 41  NUSE = MCIERR_BA
13ac0 53 45 20 2b 20 36 36 20 7d 0d 0a 65 6e 75 6d 20  SE + 66 }..enum 
13ad0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
13ae0 57 41 56 45 5f 53 45 54 49 4e 50 55 54 49 4e 55  WAVE_SETINPUTINU
13af0 53 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  SE = MCIERR_BASE
13b00 20 2b 20 36 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 67 }..enum : 
13b10 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 57 41  uint { MCIERR_WA
13b20 56 45 5f 4f 55 54 50 55 54 55 4e 53 50 45 43 49  VE_OUTPUTUNSPECI
13b30 46 49 45 44 20 3d 20 4d 43 49 45 52 52 5f 42 41  FIED = MCIERR_BA
13b40 53 45 20 2b 20 36 38 20 7d 0d 0a 65 6e 75 6d 20  SE + 68 }..enum 
13b50 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
13b60 57 41 56 45 5f 49 4e 50 55 54 55 4e 53 50 45 43  WAVE_INPUTUNSPEC
13b70 49 46 49 45 44 20 3d 20 4d 43 49 45 52 52 5f 42  IFIED = MCIERR_B
13b80 41 53 45 20 2b 20 36 39 20 7d 0d 0a 65 6e 75 6d  ASE + 69 }..enum
13b90 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
13ba0 5f 57 41 56 45 5f 4f 55 54 50 55 54 53 55 4e 53  _WAVE_OUTPUTSUNS
13bb0 55 49 54 41 42 4c 45 20 3d 20 4d 43 49 45 52 52  UITABLE = MCIERR
13bc0 5f 42 41 53 45 20 2b 20 37 30 20 7d 0d 0a 65 6e  _BASE + 70 }..en
13bd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13be0 52 52 5f 57 41 56 45 5f 53 45 54 4f 55 54 50 55  RR_WAVE_SETOUTPU
13bf0 54 55 4e 53 55 49 54 41 42 4c 45 20 3d 20 4d 43  TUNSUITABLE = MC
13c00 49 45 52 52 5f 42 41 53 45 20 2b 20 37 31 20 7d  IERR_BASE + 71 }
13c10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13c20 4d 43 49 45 52 52 5f 57 41 56 45 5f 49 4e 50 55  MCIERR_WAVE_INPU
13c30 54 53 55 4e 53 55 49 54 41 42 4c 45 20 3d 20 4d  TSUNSUITABLE = M
13c40 43 49 45 52 52 5f 42 41 53 45 20 2b 20 37 32 20  CIERR_BASE + 72 
13c50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13c60 20 4d 43 49 45 52 52 5f 57 41 56 45 5f 53 45 54   MCIERR_WAVE_SET
13c70 49 4e 50 55 54 55 4e 53 55 49 54 41 42 4c 45 20  INPUTUNSUITABLE 
13c80 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13c90 37 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  73 }....enum : u
13ca0 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 53 45 51  int { MCIERR_SEQ
13cb0 5f 44 49 56 5f 49 4e 43 4f 4d 50 41 54 49 42 4c  _DIV_INCOMPATIBL
13cc0 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  E = MCIERR_BASE 
13cd0 2b 20 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 80 }..enum : u
13ce0 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 53 45 51  int { MCIERR_SEQ
13cf0 5f 50 4f 52 54 5f 49 4e 55 53 45 20 3d 20 4d 43  _PORT_INUSE = MC
13d00 49 45 52 52 5f 42 41 53 45 20 2b 20 38 31 20 7d  IERR_BASE + 81 }
13d10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13d20 4d 43 49 45 52 52 5f 53 45 51 5f 50 4f 52 54 5f  MCIERR_SEQ_PORT_
13d30 4e 4f 4e 45 58 49 53 54 45 4e 54 20 3d 20 4d 43  NONEXISTENT = MC
13d40 49 45 52 52 5f 42 41 53 45 20 2b 20 38 32 20 7d  IERR_BASE + 82 }
13d50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13d60 4d 43 49 45 52 52 5f 53 45 51 5f 50 4f 52 54 5f  MCIERR_SEQ_PORT_
13d70 4d 41 50 4e 4f 44 45 56 49 43 45 20 3d 20 4d 43  MAPNODEVICE = MC
13d80 49 45 52 52 5f 42 41 53 45 20 2b 20 38 33 20 7d  IERR_BASE + 83 }
13d90 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13da0 4d 43 49 45 52 52 5f 53 45 51 5f 50 4f 52 54 5f  MCIERR_SEQ_PORT_
13db0 4d 49 53 43 45 52 52 4f 52 20 3d 20 4d 43 49 45  MISCERROR = MCIE
13dc0 52 52 5f 42 41 53 45 20 2b 20 38 34 20 7d 0d 0a  RR_BASE + 84 }..
13dd0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13de0 49 45 52 52 5f 53 45 51 5f 54 49 4d 45 52 20 3d  IERR_SEQ_TIMER =
13df0 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 38   MCIERR_BASE + 8
13e00 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
13e10 20 7b 20 4d 43 49 45 52 52 5f 53 45 51 5f 50 4f   { MCIERR_SEQ_PO
13e20 52 54 55 4e 53 50 45 43 49 46 49 45 44 20 3d 20  RTUNSPECIFIED = 
13e30 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 38 36  MCIERR_BASE + 86
13e40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13e50 7b 20 4d 43 49 45 52 52 5f 53 45 51 5f 4e 4f 4d  { MCIERR_SEQ_NOM
13e60 49 44 49 50 52 45 53 45 4e 54 20 3d 20 4d 43 49  IDIPRESENT = MCI
13e70 45 52 52 5f 42 41 53 45 20 2b 20 38 37 20 7d 0d  ERR_BASE + 87 }.
13e80 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
13e90 20 4d 43 49 45 52 52 5f 4e 4f 5f 57 49 4e 44 4f   MCIERR_NO_WINDO
13ea0 57 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  W = MCIERR_BASE 
13eb0 2b 20 39 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 90 }..enum : u
13ec0 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 43 52 45  int { MCIERR_CRE
13ed0 41 54 45 57 49 4e 44 4f 57 20 3d 20 4d 43 49 45  ATEWINDOW = MCIE
13ee0 52 52 5f 42 41 53 45 20 2b 20 39 31 20 7d 0d 0a  RR_BASE + 91 }..
13ef0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13f00 49 45 52 52 5f 46 49 4c 45 5f 52 45 41 44 20 3d  IERR_FILE_READ =
13f10 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 39   MCIERR_BASE + 9
13f20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
13f30 20 7b 20 4d 43 49 45 52 52 5f 46 49 4c 45 5f 57   { MCIERR_FILE_W
13f40 52 49 54 45 20 3d 20 4d 43 49 45 52 52 5f 42 41  RITE = MCIERR_BA
13f50 53 45 20 2b 20 39 33 20 7d 0d 0a 0d 0a 65 6e 75  SE + 93 }....enu
13f60 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
13f70 52 5f 4e 4f 5f 49 44 45 4e 54 49 54 59 20 3d 20  R_NO_IDENTITY = 
13f80 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 39 34  MCIERR_BASE + 94
13f90 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
13fa0 74 20 7b 20 4d 43 49 45 52 52 5f 43 55 53 54 4f  t { MCIERR_CUSTO
13fb0 4d 5f 44 52 49 56 45 52 5f 42 41 53 45 20 3d 20  M_DRIVER_BASE = 
13fc0 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 32 35  MCIERR_BASE + 25
13fd0 36 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 44 52 56  6 }....alias DRV
13fe0 5f 4d 43 49 5f 46 49 52 53 54 20 4d 43 49 5f 46  _MCI_FIRST MCI_F
13ff0 49 52 53 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  IRST;....enum : 
14000 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45 4e 20  uint { MCI_OPEN 
14010 3d 20 30 78 30 38 30 33 20 7d 0d 0a 65 6e 75 6d  = 0x0803 }..enum
14020 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43 4c   : uint { MCI_CL
14030 4f 53 45 20 3d 20 30 78 30 38 30 34 20 7d 0d 0a  OSE = 0x0804 }..
14040 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
14050 49 5f 45 53 43 41 50 45 20 3d 20 30 78 30 38 30  I_ESCAPE = 0x080
14060 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
14070 20 7b 20 4d 43 49 5f 50 4c 41 59 20 3d 20 30 78   { MCI_PLAY = 0x
14080 30 38 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0806 }..enum : u
14090 69 6e 74 20 7b 20 4d 43 49 5f 53 45 45 4b 20 3d  int { MCI_SEEK =
140a0 20 30 78 30 38 30 37 20 7d 0d 0a 65 6e 75 6d 20   0x0807 }..enum 
140b0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54 4f  : uint { MCI_STO
140c0 50 20 3d 20 30 78 30 38 30 38 20 7d 0d 0a 65 6e  P = 0x0808 }..en
140d0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
140e0 50 41 55 53 45 20 3d 20 30 78 30 38 30 39 20 7d  PAUSE = 0x0809 }
140f0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14100 4d 43 49 5f 49 4e 46 4f 20 3d 20 30 78 30 38 30  MCI_INFO = 0x080
14110 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  A }..enum : uint
14120 20 7b 20 4d 43 49 5f 47 45 54 44 45 56 43 41 50   { MCI_GETDEVCAP
14130 53 20 3d 20 30 78 30 38 30 42 20 7d 0d 0a 65 6e  S = 0x080B }..en
14140 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14150 53 50 49 4e 20 3d 20 30 78 30 38 30 43 20 7d 0d  SPIN = 0x080C }.
14160 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14170 43 49 5f 53 45 54 20 3d 20 30 78 30 38 30 44 20  CI_SET = 0x080D 
14180 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14190 20 4d 43 49 5f 53 54 45 50 20 3d 20 30 78 30 38   MCI_STEP = 0x08
141a0 30 45 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0E }..enum : uin
141b0 74 20 7b 20 4d 43 49 5f 52 45 43 4f 52 44 20 3d  t { MCI_RECORD =
141c0 20 30 78 30 38 30 46 20 7d 0d 0a 65 6e 75 6d 20   0x080F }..enum 
141d0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 59 53  : uint { MCI_SYS
141e0 49 4e 46 4f 20 3d 20 30 78 30 38 31 30 20 7d 0d  INFO = 0x0810 }.
141f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14200 43 49 5f 42 52 45 41 4b 20 3d 20 30 78 30 38 31  CI_BREAK = 0x081
14210 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
14220 20 7b 20 4d 43 49 5f 53 41 56 45 20 3d 20 30 78   { MCI_SAVE = 0x
14230 30 38 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0813 }..enum : u
14240 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53  int { MCI_STATUS
14250 20 3d 20 30 78 30 38 31 34 20 7d 0d 0a 65 6e 75   = 0x0814 }..enu
14260 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43  m : uint { MCI_C
14270 55 45 20 3d 20 30 78 30 38 33 30 20 7d 0d 0a 65  UE = 0x0830 }..e
14280 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
14290 5f 52 45 41 4c 49 5a 45 20 3d 20 30 78 30 38 34  _REALIZE = 0x084
142a0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
142b0 20 7b 20 4d 43 49 5f 57 49 4e 44 4f 57 20 3d 20   { MCI_WINDOW = 
142c0 30 78 30 38 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0841 }..enum :
142d0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 50 55 54 20   uint { MCI_PUT 
142e0 3d 20 30 78 30 38 34 32 20 7d 0d 0a 65 6e 75 6d  = 0x0842 }..enum
142f0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 48   : uint { MCI_WH
14300 45 52 45 20 3d 20 30 78 30 38 34 33 20 7d 0d 0a  ERE = 0x0843 }..
14310 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
14320 49 5f 46 52 45 45 5a 45 20 3d 20 30 78 30 38 34  I_FREEZE = 0x084
14330 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
14340 20 7b 20 4d 43 49 5f 55 4e 46 52 45 45 5a 45 20   { MCI_UNFREEZE 
14350 3d 20 30 78 30 38 34 35 20 7d 0d 0a 65 6e 75 6d  = 0x0845 }..enum
14360 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4c 4f   : uint { MCI_LO
14370 41 44 20 3d 20 30 78 30 38 35 30 20 7d 0d 0a 65  AD = 0x0850 }..e
14380 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
14390 5f 43 55 54 20 3d 20 30 78 30 38 35 31 20 7d 0d  _CUT = 0x0851 }.
143a0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
143b0 43 49 5f 43 4f 50 59 20 3d 20 30 78 30 38 35 32  CI_COPY = 0x0852
143c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
143d0 7b 20 4d 43 49 5f 50 41 53 54 45 20 3d 20 30 78  { MCI_PASTE = 0x
143e0 30 38 35 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0853 }..enum : u
143f0 69 6e 74 20 7b 20 4d 43 49 5f 55 50 44 41 54 45  int { MCI_UPDATE
14400 20 3d 20 30 78 30 38 35 34 20 7d 0d 0a 65 6e 75   = 0x0854 }..enu
14410 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 52  m : uint { MCI_R
14420 45 53 55 4d 45 20 3d 20 30 78 30 38 35 35 20 7d  ESUME = 0x0855 }
14430 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14440 4d 43 49 5f 44 45 4c 45 54 45 20 3d 20 30 78 30  MCI_DELETE = 0x0
14450 38 35 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  856 }....enum : 
14460 75 69 6e 74 20 7b 20 4d 43 49 5f 55 53 45 52 5f  uint { MCI_USER_
14470 4d 45 53 53 41 47 45 53 20 3d 20 44 52 56 5f 4d  MESSAGES = DRV_M
14480 43 49 5f 46 49 52 53 54 20 2b 20 30 78 34 30 30  CI_FIRST + 0x400
14490 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
144a0 7b 20 4d 43 49 5f 4c 41 53 54 20 3d 20 30 78 30  { MCI_LAST = 0x0
144b0 46 46 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  FFF }....enum : 
144c0 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4c 4c 5f 44  uint { MCI_ALL_D
144d0 45 56 49 43 45 5f 49 44 20 3d 20 63 61 73 74 28  EVICE_ID = cast(
144e0 4d 43 49 44 45 56 49 43 45 49 44 29 2d 31 20 7d  MCIDEVICEID)-1 }
144f0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
14500 7b 20 4d 43 49 5f 44 45 56 54 59 50 45 5f 56 43  { MCI_DEVTYPE_VC
14510 52 20 3d 20 35 31 33 20 7d 0d 0a 65 6e 75 6d 20  R = 513 }..enum 
14520 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 44 45 56  : uint { MCI_DEV
14530 54 59 50 45 5f 56 49 44 45 4f 44 49 53 43 20 3d  TYPE_VIDEODISC =
14540 20 35 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   514 }..enum : u
14550 69 6e 74 20 7b 20 4d 43 49 5f 44 45 56 54 59 50  int { MCI_DEVTYP
14560 45 5f 4f 56 45 52 4c 41 59 20 3d 20 35 31 35 20  E_OVERLAY = 515 
14570 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14580 20 4d 43 49 5f 44 45 56 54 59 50 45 5f 43 44 5f   MCI_DEVTYPE_CD_
14590 41 55 44 49 4f 20 3d 20 35 31 36 20 7d 0d 0a 65  AUDIO = 516 }..e
145a0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
145b0 5f 44 45 56 54 59 50 45 5f 44 41 54 20 3d 20 35  _DEVTYPE_DAT = 5
145c0 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  17 }..enum : uin
145d0 74 20 7b 20 4d 43 49 5f 44 45 56 54 59 50 45 5f  t { MCI_DEVTYPE_
145e0 53 43 41 4e 4e 45 52 20 3d 20 35 31 38 20 7d 0d  SCANNER = 518 }.
145f0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14600 43 49 5f 44 45 56 54 59 50 45 5f 41 4e 49 4d 41  CI_DEVTYPE_ANIMA
14610 54 49 4f 4e 20 3d 20 35 31 39 20 7d 0d 0a 65 6e  TION = 519 }..en
14620 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14630 44 45 56 54 59 50 45 5f 44 49 47 49 54 41 4c 5f  DEVTYPE_DIGITAL_
14640 56 49 44 45 4f 20 3d 20 35 32 30 20 7d 0d 0a 65  VIDEO = 520 }..e
14650 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
14660 5f 44 45 56 54 59 50 45 5f 4f 54 48 45 52 20 3d  _DEVTYPE_OTHER =
14670 20 35 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   521 }..enum : u
14680 69 6e 74 20 7b 20 4d 43 49 5f 44 45 56 54 59 50  int { MCI_DEVTYP
14690 45 5f 57 41 56 45 46 4f 52 4d 5f 41 55 44 49 4f  E_WAVEFORM_AUDIO
146a0 20 3d 20 35 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a   = 522 }..enum :
146b0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 44 45 56 54   uint { MCI_DEVT
146c0 59 50 45 5f 53 45 51 55 45 4e 43 45 52 20 3d 20  YPE_SEQUENCER = 
146d0 35 32 33 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d  523 }....alias M
146e0 43 49 5f 44 45 56 54 59 50 45 5f 56 43 52 20 4d  CI_DEVTYPE_VCR M
146f0 43 49 5f 44 45 56 54 59 50 45 5f 46 49 52 53 54  CI_DEVTYPE_FIRST
14700 3b 0d 0a 61 6c 69 61 73 20 4d 43 49 5f 44 45 56  ;..alias MCI_DEV
14710 54 59 50 45 5f 53 45 51 55 45 4e 43 45 52 20 4d  TYPE_SEQUENCER M
14720 43 49 5f 44 45 56 54 59 50 45 5f 4c 41 53 54 3b  CI_DEVTYPE_LAST;
14730 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
14740 7b 20 4d 43 49 5f 44 45 56 54 59 50 45 5f 46 49  { MCI_DEVTYPE_FI
14750 52 53 54 5f 55 53 45 52 20 3d 20 30 78 31 30 30  RST_USER = 0x100
14760 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
14770 6e 74 20 7b 20 4d 43 49 5f 4d 4f 44 45 5f 4e 4f  nt { MCI_MODE_NO
14780 54 5f 52 45 41 44 59 20 3d 20 4d 43 49 5f 53 54  T_READY = MCI_ST
14790 52 49 4e 47 5f 4f 46 46 53 45 54 20 2b 20 31 32  RING_OFFSET + 12
147a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
147b0 7b 20 4d 43 49 5f 4d 4f 44 45 5f 53 54 4f 50 20  { MCI_MODE_STOP 
147c0 3d 20 4d 43 49 5f 53 54 52 49 4e 47 5f 4f 46 46  = MCI_STRING_OFF
147d0 53 45 54 20 2b 20 31 33 20 7d 0d 0a 65 6e 75 6d  SET + 13 }..enum
147e0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4d 4f   : uint { MCI_MO
147f0 44 45 5f 50 4c 41 59 20 3d 20 4d 43 49 5f 53 54  DE_PLAY = MCI_ST
14800 52 49 4e 47 5f 4f 46 46 53 45 54 20 2b 20 31 34  RING_OFFSET + 14
14810 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14820 7b 20 4d 43 49 5f 4d 4f 44 45 5f 52 45 43 4f 52  { MCI_MODE_RECOR
14830 44 20 3d 20 4d 43 49 5f 53 54 52 49 4e 47 5f 4f  D = MCI_STRING_O
14840 46 46 53 45 54 20 2b 20 31 35 20 7d 0d 0a 65 6e  FFSET + 15 }..en
14850 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14860 4d 4f 44 45 5f 53 45 45 4b 20 3d 20 4d 43 49 5f  MODE_SEEK = MCI_
14870 53 54 52 49 4e 47 5f 4f 46 46 53 45 54 20 2b 20  STRING_OFFSET + 
14880 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  16 }..enum : uin
14890 74 20 7b 20 4d 43 49 5f 4d 4f 44 45 5f 50 41 55  t { MCI_MODE_PAU
148a0 53 45 20 3d 20 4d 43 49 5f 53 54 52 49 4e 47 5f  SE = MCI_STRING_
148b0 4f 46 46 53 45 54 20 2b 20 31 37 20 7d 0d 0a 65  OFFSET + 17 }..e
148c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
148d0 5f 4d 4f 44 45 5f 4f 50 45 4e 20 3d 20 4d 43 49  _MODE_OPEN = MCI
148e0 5f 53 54 52 49 4e 47 5f 4f 46 46 53 45 54 20 2b  _STRING_OFFSET +
148f0 20 31 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20   18 }....enum : 
14900 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f 52 4d 41  uint { MCI_FORMA
14910 54 5f 4d 49 4c 4c 49 53 45 43 4f 4e 44 53 20 3d  T_MILLISECONDS =
14920 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   0 }..enum : uin
14930 74 20 7b 20 4d 43 49 5f 46 4f 52 4d 41 54 5f 48  t { MCI_FORMAT_H
14940 4d 53 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  MS = 1 }..enum :
14950 20 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f 52 4d   uint { MCI_FORM
14960 41 54 5f 4d 53 46 20 3d 20 32 20 7d 0d 0a 65 6e  AT_MSF = 2 }..en
14970 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14980 46 4f 52 4d 41 54 5f 46 52 41 4d 45 53 20 3d 20  FORMAT_FRAMES = 
14990 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
149a0 20 7b 20 4d 43 49 5f 46 4f 52 4d 41 54 5f 53 4d   { MCI_FORMAT_SM
149b0 50 54 45 5f 32 34 20 3d 20 34 20 7d 0d 0a 65 6e  PTE_24 = 4 }..en
149c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
149d0 46 4f 52 4d 41 54 5f 53 4d 50 54 45 5f 32 35 20  FORMAT_SMPTE_25 
149e0 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 5 }..enum : ui
149f0 6e 74 20 7b 20 4d 43 49 5f 46 4f 52 4d 41 54 5f  nt { MCI_FORMAT_
14a00 53 4d 50 54 45 5f 33 30 20 3d 20 36 20 7d 0d 0a  SMPTE_30 = 6 }..
14a10 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
14a20 49 5f 46 4f 52 4d 41 54 5f 53 4d 50 54 45 5f 33  I_FORMAT_SMPTE_3
14a30 30 44 52 4f 50 20 3d 20 37 20 7d 0d 0a 65 6e 75  0DROP = 7 }..enu
14a40 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 46  m : uint { MCI_F
14a50 4f 52 4d 41 54 5f 42 59 54 45 53 20 3d 20 38 20  ORMAT_BYTES = 8 
14a60 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14a70 20 4d 43 49 5f 46 4f 52 4d 41 54 5f 53 41 4d 50   MCI_FORMAT_SAMP
14a80 4c 45 53 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20  LES = 9 }..enum 
14a90 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f 52  : uint { MCI_FOR
14aa0 4d 41 54 5f 54 4d 53 46 20 3d 20 31 30 20 7d 0d  MAT_TMSF = 10 }.
14ab0 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43  ...// #define MC
14ac0 49 5f 4d 53 46 5f 4d 49 4e 55 54 45 28 6d 73 66  I_MSF_MINUTE(msf
14ad0 29 20 28 28 42 59 54 45 29 28 6d 73 66 29 29 0d  ) ((BYTE)(msf)).
14ae0 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f  .// #define MCI_
14af0 4d 53 46 5f 53 45 43 4f 4e 44 28 6d 73 66 29 20  MSF_SECOND(msf) 
14b00 28 28 42 59 54 45 29 28 28 28 57 4f 52 44 29 28  ((BYTE)(((WORD)(
14b10 6d 73 66 29 29 20 3e 3e 20 38 29 29 0d 0a 2f 2f  msf)) >> 8))..//
14b20 20 23 64 65 66 69 6e 65 20 4d 43 49 5f 4d 53 46   #define MCI_MSF
14b30 5f 46 52 41 4d 45 28 6d 73 66 29 20 28 28 42 59  _FRAME(msf) ((BY
14b40 54 45 29 28 28 6d 73 66 29 3e 3e 31 36 29 29 0d  TE)((msf)>>16)).
14b50 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43  ...// #define MC
14b60 49 5f 4d 41 4b 45 5f 4d 53 46 28 6d 2c 20 73 2c  I_MAKE_MSF(m, s,
14b70 20 66 29 20 28 28 44 57 4f 52 44 29 28 28 28 42   f) ((DWORD)(((B
14b80 59 54 45 29 28 6d 29 20 7c 20 28 28 57 4f 52 44  YTE)(m) | ((WORD
14b90 29 28 73 29 3c 3c 38 29 29 20 7c 20 28 28 28 44  )(s)<<8)) | (((D
14ba0 57 4f 52 44 29 28 42 59 54 45 29 28 66 29 29 3c  WORD)(BYTE)(f))<
14bb0 3c 31 36 29 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65  <16)))....// #de
14bc0 66 69 6e 65 20 4d 43 49 5f 54 4d 53 46 5f 54 52  fine MCI_TMSF_TR
14bd0 41 43 4b 28 74 6d 73 66 29 20 28 28 42 59 54 45  ACK(tmsf) ((BYTE
14be0 29 28 74 6d 73 66 29 29 0d 0a 2f 2f 20 23 64 65  )(tmsf))..// #de
14bf0 66 69 6e 65 20 4d 43 49 5f 54 4d 53 46 5f 4d 49  fine MCI_TMSF_MI
14c00 4e 55 54 45 28 74 6d 73 66 29 20 28 28 42 59 54  NUTE(tmsf) ((BYT
14c10 45 29 28 28 28 57 4f 52 44 29 28 74 6d 73 66 29  E)(((WORD)(tmsf)
14c20 29 20 3e 3e 20 38 29 29 0d 0a 2f 2f 20 23 64 65  ) >> 8))..// #de
14c30 66 69 6e 65 20 4d 43 49 5f 54 4d 53 46 5f 53 45  fine MCI_TMSF_SE
14c40 43 4f 4e 44 28 74 6d 73 66 29 20 28 28 42 59 54  COND(tmsf) ((BYT
14c50 45 29 28 28 74 6d 73 66 29 3e 3e 31 36 29 29 0d  E)((tmsf)>>16)).
14c60 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f  .// #define MCI_
14c70 54 4d 53 46 5f 46 52 41 4d 45 28 74 6d 73 66 29  TMSF_FRAME(tmsf)
14c80 20 28 28 42 59 54 45 29 28 28 74 6d 73 66 29 3e   ((BYTE)((tmsf)>
14c90 3e 32 34 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66  >24))....// #def
14ca0 69 6e 65 20 4d 43 49 5f 4d 41 4b 45 5f 54 4d 53  ine MCI_MAKE_TMS
14cb0 46 28 74 2c 20 6d 2c 20 73 2c 20 66 29 20 28 28  F(t, m, s, f) ((
14cc0 44 57 4f 52 44 29 28 28 28 42 59 54 45 29 28 74  DWORD)(((BYTE)(t
14cd0 29 20 7c 20 28 28 57 4f 52 44 29 28 6d 29 3c 3c  ) | ((WORD)(m)<<
14ce0 38 29 29 20 7c 20 28 28 28 44 57 4f 52 44 29 28  8)) | (((DWORD)(
14cf0 42 59 54 45 29 28 73 29 20 7c 20 28 28 57 4f 52  BYTE)(s) | ((WOR
14d00 44 29 28 66 29 3c 3c 38 29 29 3c 3c 31 36 29 29  D)(f)<<8))<<16))
14d10 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  )....// #define 
14d20 4d 43 49 5f 48 4d 53 5f 48 4f 55 52 28 68 6d 73  MCI_HMS_HOUR(hms
14d30 29 20 28 28 42 59 54 45 29 28 68 6d 73 29 29 0d  ) ((BYTE)(hms)).
14d40 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f  .// #define MCI_
14d50 48 4d 53 5f 4d 49 4e 55 54 45 28 68 6d 73 29 20  HMS_MINUTE(hms) 
14d60 28 28 42 59 54 45 29 28 28 28 57 4f 52 44 29 28  ((BYTE)(((WORD)(
14d70 68 6d 73 29 29 20 3e 3e 20 38 29 29 0d 0a 2f 2f  hms)) >> 8))..//
14d80 20 23 64 65 66 69 6e 65 20 4d 43 49 5f 48 4d 53   #define MCI_HMS
14d90 5f 53 45 43 4f 4e 44 28 68 6d 73 29 20 28 28 42  _SECOND(hms) ((B
14da0 59 54 45 29 28 28 68 6d 73 29 3e 3e 31 36 29 29  YTE)((hms)>>16))
14db0 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d  ....// #define M
14dc0 43 49 5f 4d 41 4b 45 5f 48 4d 53 28 68 2c 20 6d  CI_MAKE_HMS(h, m
14dd0 2c 20 73 29 20 28 28 44 57 4f 52 44 29 28 28 28  , s) ((DWORD)(((
14de0 42 59 54 45 29 28 68 29 20 7c 20 28 28 57 4f 52  BYTE)(h) | ((WOR
14df0 44 29 28 6d 29 3c 3c 38 29 29 20 7c 20 28 28 28  D)(m)<<8)) | (((
14e00 44 57 4f 52 44 29 28 42 59 54 45 29 28 73 29 29  DWORD)(BYTE)(s))
14e10 3c 3c 31 36 29 29 29 0d 0a 0d 0a 65 6e 75 6d 20  <<16)))....enum 
14e20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54  : uint { MCI_NOT
14e30 49 46 59 5f 53 55 43 43 45 53 53 46 55 4c 20 3d  IFY_SUCCESSFUL =
14e40 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
14e50 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54  : uint { MCI_NOT
14e60 49 46 59 5f 53 55 50 45 52 53 45 44 45 44 20 3d  IFY_SUPERSEDED =
14e70 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
14e80 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54  : uint { MCI_NOT
14e90 49 46 59 5f 41 42 4f 52 54 45 44 20 3d 20 30 78  IFY_ABORTED = 0x
14ea0 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
14eb0 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54 49 46 59  int { MCI_NOTIFY
14ec0 5f 46 41 49 4c 55 52 45 20 3d 20 30 78 30 30 30  _FAILURE = 0x000
14ed0 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
14ee0 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54 49 46 59 20  nt { MCI_NOTIFY 
14ef0 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
14f00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
14f10 49 5f 57 41 49 54 20 3d 20 30 78 30 30 30 30 30  I_WAIT = 0x00000
14f20 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
14f30 6e 74 20 7b 20 4d 43 49 5f 46 52 4f 4d 20 3d 20  nt { MCI_FROM = 
14f40 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
14f50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14f60 54 4f 20 3d 20 30 78 30 30 30 30 30 30 30 38 20  TO = 0x00000008 
14f70 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14f80 20 4d 43 49 5f 54 52 41 43 4b 20 3d 20 30 78 30   MCI_TRACK = 0x0
14f90 30 30 30 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75  0000010 }....enu
14fa0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f  m : uint { MCI_O
14fb0 50 45 4e 5f 53 48 41 52 45 41 42 4c 45 20 3d 20  PEN_SHAREABLE = 
14fc0 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e  0x00000100 }..en
14fd0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14fe0 4f 50 45 4e 5f 45 4c 45 4d 45 4e 54 20 3d 20 30  OPEN_ELEMENT = 0
14ff0 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75  x00000200 }..enu
15000 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f  m : uint { MCI_O
15010 50 45 4e 5f 41 4c 49 41 53 20 3d 20 30 78 30 30  PEN_ALIAS = 0x00
15020 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000400 }..enum :
15030 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45 4e   uint { MCI_OPEN
15040 5f 45 4c 45 4d 45 4e 54 5f 49 44 20 3d 20 30 78  _ELEMENT_ID = 0x
15050 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d  00000800 }..enum
15060 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50   : uint { MCI_OP
15070 45 4e 5f 54 59 50 45 5f 49 44 20 3d 20 30 78 30  EN_TYPE_ID = 0x0
15080 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0001000 }..enum 
15090 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45  : uint { MCI_OPE
150a0 4e 5f 54 59 50 45 20 3d 20 30 78 30 30 30 30 32  N_TYPE = 0x00002
150b0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
150c0 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 45 4b 5f  uint { MCI_SEEK_
150d0 54 4f 5f 53 54 41 52 54 20 3d 20 30 78 30 30 30  TO_START = 0x000
150e0 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00100 }..enum : 
150f0 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 45 4b 5f  uint { MCI_SEEK_
15100 54 4f 5f 45 4e 44 20 3d 20 30 78 30 30 30 30 30  TO_END = 0x00000
15110 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  200 }....enum : 
15120 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55  uint { MCI_STATU
15130 53 5f 49 54 45 4d 20 3d 20 30 78 30 30 30 30 30  S_ITEM = 0x00000
15140 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
15150 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f  nt { MCI_STATUS_
15160 53 54 41 52 54 20 3d 20 30 78 30 30 30 30 30 32  START = 0x000002
15170 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
15180 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53  int { MCI_STATUS
15190 5f 4c 45 4e 47 54 48 20 3d 20 30 78 30 30 30 30  _LENGTH = 0x0000
151a0 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
151b0 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53  int { MCI_STATUS
151c0 5f 50 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 30  _POSITION = 0x00
151d0 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
151e0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54   uint { MCI_STAT
151f0 55 53 5f 4e 55 4d 42 45 52 5f 4f 46 5f 54 52 41  US_NUMBER_OF_TRA
15200 43 4b 53 20 3d 20 30 78 30 30 30 30 30 30 30 33  CKS = 0x00000003
15210 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
15220 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f 4d 4f 44  { MCI_STATUS_MOD
15230 45 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  E = 0x00000004 }
15240 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15250 4d 43 49 5f 53 54 41 54 55 53 5f 4d 45 44 49 41  MCI_STATUS_MEDIA
15260 5f 50 52 45 53 45 4e 54 20 3d 20 30 78 30 30 30  _PRESENT = 0x000
15270 30 30 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00005 }..enum : 
15280 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55  uint { MCI_STATU
15290 53 5f 54 49 4d 45 5f 46 4f 52 4d 41 54 20 3d 20  S_TIME_FORMAT = 
152a0 30 78 30 30 30 30 30 30 30 36 20 7d 0d 0a 65 6e  0x00000006 }..en
152b0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
152c0 53 54 41 54 55 53 5f 52 45 41 44 59 20 3d 20 30  STATUS_READY = 0
152d0 78 30 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75  x00000007 }..enu
152e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
152f0 54 41 54 55 53 5f 43 55 52 52 45 4e 54 5f 54 52  TATUS_CURRENT_TR
15300 41 43 4b 20 3d 20 30 78 30 30 30 30 30 30 30 38  ACK = 0x00000008
15310 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
15320 74 20 7b 20 4d 43 49 5f 49 4e 46 4f 5f 50 52 4f  t { MCI_INFO_PRO
15330 44 55 43 54 20 3d 20 30 78 30 30 30 30 30 31 30  DUCT = 0x0000010
15340 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
15350 20 7b 20 4d 43 49 5f 49 4e 46 4f 5f 46 49 4c 45   { MCI_INFO_FILE
15360 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d   = 0x00000200 }.
15370 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
15380 43 49 5f 49 4e 46 4f 5f 4d 45 44 49 41 5f 55 50  CI_INFO_MEDIA_UP
15390 43 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d  C = 0x00000400 }
153a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
153b0 4d 43 49 5f 49 4e 46 4f 5f 4d 45 44 49 41 5f 49  MCI_INFO_MEDIA_I
153c0 44 45 4e 54 49 54 59 20 3d 20 30 78 30 30 30 30  DENTITY = 0x0000
153d0 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0800 }..enum : u
153e0 69 6e 74 20 7b 20 4d 43 49 5f 49 4e 46 4f 5f 4e  int { MCI_INFO_N
153f0 41 4d 45 20 3d 20 30 78 30 30 30 30 31 30 30 30  AME = 0x00001000
15400 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
15410 7b 20 4d 43 49 5f 49 4e 46 4f 5f 43 4f 50 59 52  { MCI_INFO_COPYR
15420 49 47 48 54 20 3d 20 30 78 30 30 30 30 32 30 30  IGHT = 0x0000200
15430 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
15440 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44 45 56 43  nt { MCI_GETDEVC
15450 41 50 53 5f 49 54 45 4d 20 3d 20 30 78 30 30 30  APS_ITEM = 0x000
15460 30 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00100 }....enum 
15470 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54  : uint { MCI_GET
15480 44 45 56 43 41 50 53 5f 43 41 4e 5f 52 45 43 4f  DEVCAPS_CAN_RECO
15490 52 44 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  RD = 0x00000001 
154a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
154b0 20 4d 43 49 5f 47 45 54 44 45 56 43 41 50 53 5f   MCI_GETDEVCAPS_
154c0 48 41 53 5f 41 55 44 49 4f 20 3d 20 30 78 30 30  HAS_AUDIO = 0x00
154d0 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
154e0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44   uint { MCI_GETD
154f0 45 56 43 41 50 53 5f 48 41 53 5f 56 49 44 45 4f  EVCAPS_HAS_VIDEO
15500 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d   = 0x00000003 }.
15510 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
15520 43 49 5f 47 45 54 44 45 56 43 41 50 53 5f 44 45  CI_GETDEVCAPS_DE
15530 56 49 43 45 5f 54 59 50 45 20 3d 20 30 78 30 30  VICE_TYPE = 0x00
15540 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
15550 20 75 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44   uint { MCI_GETD
15560 45 56 43 41 50 53 5f 55 53 45 53 5f 46 49 4c 45  EVCAPS_USES_FILE
15570 53 20 3d 20 30 78 30 30 30 30 30 30 30 35 20 7d  S = 0x00000005 }
15580 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15590 4d 43 49 5f 47 45 54 44 45 56 43 41 50 53 5f 43  MCI_GETDEVCAPS_C
155a0 4f 4d 50 4f 55 4e 44 5f 44 45 56 49 43 45 20 3d  OMPOUND_DEVICE =
155b0 20 30 78 30 30 30 30 30 30 30 36 20 7d 0d 0a 65   0x00000006 }..e
155c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
155d0 5f 47 45 54 44 45 56 43 41 50 53 5f 43 41 4e 5f  _GETDEVCAPS_CAN_
155e0 45 4a 45 43 54 20 3d 20 30 78 30 30 30 30 30 30  EJECT = 0x000000
155f0 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  07 }..enum : uin
15600 74 20 7b 20 4d 43 49 5f 47 45 54 44 45 56 43 41  t { MCI_GETDEVCA
15610 50 53 5f 43 41 4e 5f 50 4c 41 59 20 3d 20 30 78  PS_CAN_PLAY = 0x
15620 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  00000008 }..enum
15630 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 47 45   : uint { MCI_GE
15640 54 44 45 56 43 41 50 53 5f 43 41 4e 5f 53 41 56  TDEVCAPS_CAN_SAV
15650 45 20 3d 20 30 78 30 30 30 30 30 30 30 39 20 7d  E = 0x00000009 }
15660 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
15670 7b 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 51 55  { MCI_SYSINFO_QU
15680 41 4e 54 49 54 59 20 3d 20 30 78 30 30 30 30 30  ANTITY = 0x00000
15690 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
156a0 6e 74 20 7b 20 4d 43 49 5f 53 59 53 49 4e 46 4f  nt { MCI_SYSINFO
156b0 5f 4f 50 45 4e 20 3d 20 30 78 30 30 30 30 30 32  _OPEN = 0x000002
156c0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
156d0 74 20 7b 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f  t { MCI_SYSINFO_
156e0 4e 41 4d 45 20 3d 20 30 78 30 30 30 30 30 34 30  NAME = 0x0000040
156f0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
15700 20 7b 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 49   { MCI_SYSINFO_I
15710 4e 53 54 41 4c 4c 4e 41 4d 45 20 3d 20 30 78 30  NSTALLNAME = 0x0
15720 30 30 30 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000800 }....enu
15730 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
15740 45 54 5f 44 4f 4f 52 5f 4f 50 45 4e 20 3d 20 30  ET_DOOR_OPEN = 0
15750 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75  x00000100 }..enu
15760 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
15770 45 54 5f 44 4f 4f 52 5f 43 4c 4f 53 45 44 20 3d  ET_DOOR_CLOSED =
15780 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65   0x00000200 }..e
15790 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
157a0 5f 53 45 54 5f 54 49 4d 45 5f 46 4f 52 4d 41 54  _SET_TIME_FORMAT
157b0 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d   = 0x00000400 }.
157c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
157d0 43 49 5f 53 45 54 5f 41 55 44 49 4f 20 3d 20 30  CI_SET_AUDIO = 0
157e0 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75  x00000800 }..enu
157f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
15800 45 54 5f 56 49 44 45 4f 20 3d 20 30 78 30 30 30  ET_VIDEO = 0x000
15810 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  01000 }..enum : 
15820 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 54 5f 4f  uint { MCI_SET_O
15830 4e 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d  N = 0x00002000 }
15840 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15850 4d 43 49 5f 53 45 54 5f 4f 46 46 20 3d 20 30 78  MCI_SET_OFF = 0x
15860 30 30 30 30 34 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00004000 }....en
15870 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
15880 53 45 54 5f 41 55 44 49 4f 5f 41 4c 4c 20 3d 20  SET_AUDIO_ALL = 
15890 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
158a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
158b0 53 45 54 5f 41 55 44 49 4f 5f 4c 45 46 54 20 3d  SET_AUDIO_LEFT =
158c0 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
158d0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
158e0 5f 53 45 54 5f 41 55 44 49 4f 5f 52 49 47 48 54  _SET_AUDIO_RIGHT
158f0 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
15900 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
15910 20 4d 43 49 5f 42 52 45 41 4b 5f 4b 45 59 20 3d   MCI_BREAK_KEY =
15920 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65   0x00000100 }..e
15930 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
15940 5f 42 52 45 41 4b 5f 48 57 4e 44 20 3d 20 30 78  _BREAK_HWND = 0x
15950 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d  00000200 }..enum
15960 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 42 52   : uint { MCI_BR
15970 45 41 4b 5f 4f 46 46 20 3d 20 30 78 30 30 30 30  EAK_OFF = 0x0000
15980 30 34 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0400 }....enum :
15990 20 75 69 6e 74 20 7b 20 4d 43 49 5f 52 45 43 4f   uint { MCI_RECO
159a0 52 44 5f 49 4e 53 45 52 54 20 3d 20 30 78 30 30  RD_INSERT = 0x00
159b0 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000100 }..enum :
159c0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 52 45 43 4f   uint { MCI_RECO
159d0 52 44 5f 4f 56 45 52 57 52 49 54 45 20 3d 20 30  RD_OVERWRITE = 0
159e0 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 0d 0a 65  x00000200 }....e
159f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
15a00 5f 53 41 56 45 5f 46 49 4c 45 20 3d 20 30 78 30  _SAVE_FILE = 0x0
15a10 30 30 30 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000100 }....enu
15a20 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4c  m : uint { MCI_L
15a30 4f 41 44 5f 46 49 4c 45 20 3d 20 30 78 30 30 30  OAD_FILE = 0x000
15a40 30 30 31 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63  00100 }....struc
15a50 74 20 74 61 67 4d 43 49 5f 47 45 4e 45 52 49 43  t tagMCI_GENERIC
15a60 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52  _PARMS {..  DWOR
15a70 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b  D_PTR dwCallback
15a80 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
15a90 43 49 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d 53  CI_GENERIC_PARMS
15aa0 20 4d 43 49 5f 47 45 4e 45 52 49 43 5f 50 41 52   MCI_GENERIC_PAR
15ab0 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  MS;..alias tagMC
15ac0 49 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d 53 2a  I_GENERIC_PARMS*
15ad0 20 50 4d 43 49 5f 47 45 4e 45 52 49 43 5f 50 41   PMCI_GENERIC_PA
15ae0 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  RMS;..alias tagM
15af0 43 49 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d 53  CI_GENERIC_PARMS
15b00 2a 20 4c 50 4d 43 49 5f 47 45 4e 45 52 49 43 5f  * LPMCI_GENERIC_
15b10 50 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  PARMS;....// #if
15b20 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74  def _WIN32....st
15b30 72 75 63 74 20 74 61 67 4d 43 49 5f 4f 50 45 4e  ruct tagMCI_OPEN
15b40 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20 44 57 4f  _PARMSA {..  DWO
15b50 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
15b60 6b 3b 0d 0a 20 20 4d 43 49 44 45 56 49 43 45 49  k;..  MCIDEVICEI
15b70 44 20 77 44 65 76 69 63 65 49 44 3b 0d 0a 20 20  D wDeviceID;..  
15b80 4c 50 43 53 54 52 20 6c 70 73 74 72 44 65 76 69  LPCSTR lpstrDevi
15b90 63 65 54 79 70 65 3b 0d 0a 20 20 4c 50 43 53 54  ceType;..  LPCST
15ba0 52 20 6c 70 73 74 72 45 6c 65 6d 65 6e 74 4e 61  R lpstrElementNa
15bb0 6d 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70  me;..  LPCSTR lp
15bc0 73 74 72 41 6c 69 61 73 3b 0d 0a 7d 0d 0a 61 6c  strAlias;..}..al
15bd0 69 61 73 20 74 61 67 4d 43 49 5f 4f 50 45 4e 5f  ias tagMCI_OPEN_
15be0 50 41 52 4d 53 41 20 4d 43 49 5f 4f 50 45 4e 5f  PARMSA MCI_OPEN_
15bf0 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74  PARMSA;..alias t
15c00 61 67 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53  agMCI_OPEN_PARMS
15c10 41 2a 20 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52  A* PMCI_OPEN_PAR
15c20 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSA;..alias tagM
15c30 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a 20  CI_OPEN_PARMSA* 
15c40 4c 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53  LPMCI_OPEN_PARMS
15c50 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
15c60 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20  MCI_OPEN_PARMSW 
15c70 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  {..  DWORD_PTR d
15c80 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43  wCallback;..  MC
15c90 49 44 45 56 49 43 45 49 44 20 77 44 65 76 69 63  IDEVICEID wDevic
15ca0 65 49 44 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  eID;..  LPCWSTR 
15cb0 6c 70 73 74 72 44 65 76 69 63 65 54 79 70 65 3b  lpstrDeviceType;
15cc0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74  ..  LPCWSTR lpst
15cd0 72 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20  rElementName;.. 
15ce0 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72 41 6c   LPCWSTR lpstrAl
15cf0 69 61 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ias;..}..alias t
15d00 61 67 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53  agMCI_OPEN_PARMS
15d10 57 20 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53  W MCI_OPEN_PARMS
15d20 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  W;..alias tagMCI
15d30 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 2a 20 50 4d  _OPEN_PARMSW* PM
15d40 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b 0d  CI_OPEN_PARMSW;.
15d50 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 50  .alias tagMCI_OP
15d60 45 4e 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49  EN_PARMSW* LPMCI
15d70 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 0d  _OPEN_PARMSW;...
15d80 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
15d90 44 45 0d 0a 61 6c 69 61 73 20 4d 43 49 5f 4f 50  DE..alias MCI_OP
15da0 45 4e 5f 50 41 52 4d 53 57 20 4d 43 49 5f 4f 50  EN_PARMSW MCI_OP
15db0 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  EN_PARMS;..alias
15dc0 20 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53   PMCI_OPEN_PARMS
15dd0 57 20 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d  W PMCI_OPEN_PARM
15de0 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 43 49 5f  S;..alias LPMCI_
15df0 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4c 50 4d 43  OPEN_PARMSW LPMC
15e00 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 2f  I_OPEN_PARMS;../
15e10 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
15e20 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
15e30 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
15e40 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
15e50 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74  ndif....struct t
15e60 61 67 4d 43 49 5f 50 4c 41 59 5f 50 41 52 4d 53  agMCI_PLAY_PARMS
15e70 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20   {..  DWORD_PTR 
15e80 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44  dwCallback;..  D
15e90 57 4f 52 44 20 64 77 46 72 6f 6d 3b 0d 0a 20 20  WORD dwFrom;..  
15ea0 44 57 4f 52 44 20 64 77 54 6f 3b 0d 0a 7d 0d 0a  DWORD dwTo;..}..
15eb0 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 50 4c 41  alias tagMCI_PLA
15ec0 59 5f 50 41 52 4d 53 20 4d 43 49 5f 50 4c 41 59  Y_PARMS MCI_PLAY
15ed0 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74  _PARMS;..alias t
15ee0 61 67 4d 43 49 5f 50 4c 41 59 5f 50 41 52 4d 53  agMCI_PLAY_PARMS
15ef0 2a 20 50 4d 43 49 5f 50 4c 41 59 5f 50 41 52 4d  * PMCI_PLAY_PARM
15f00 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  S;..alias tagMCI
15f10 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20 4c 50 4d  _PLAY_PARMS* LPM
15f20 43 49 5f 50 4c 41 59 5f 50 41 52 4d 53 3b 0d 0a  CI_PLAY_PARMS;..
15f30 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
15f40 53 45 45 4b 5f 50 41 52 4d 53 20 7b 0d 0a 20 20  SEEK_PARMS {..  
15f50 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c  DWORD_PTR dwCall
15f60 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64  back;..  DWORD d
15f70 77 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  wTo;..}..alias t
15f80 61 67 4d 43 49 5f 53 45 45 4b 5f 50 41 52 4d 53  agMCI_SEEK_PARMS
15f90 20 4d 43 49 5f 53 45 45 4b 5f 50 41 52 4d 53 3b   MCI_SEEK_PARMS;
15fa0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53  ..alias tagMCI_S
15fb0 45 45 4b 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f  EEK_PARMS* PMCI_
15fc0 53 45 45 4b 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  SEEK_PARMS;..ali
15fd0 61 73 20 74 61 67 4d 43 49 5f 53 45 45 4b 5f 50  as tagMCI_SEEK_P
15fe0 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 53 45 45 4b  ARMS* LPMCI_SEEK
15ff0 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63  _PARMS;....struc
16000 74 20 74 61 67 4d 43 49 5f 53 54 41 54 55 53 5f  t tagMCI_STATUS_
16010 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44  PARMS {..  DWORD
16020 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
16030 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
16040 52 65 74 75 72 6e 3b 0d 0a 20 20 44 57 4f 52 44  Return;..  DWORD
16050 20 64 77 49 74 65 6d 3b 0d 0a 20 20 44 57 4f 52   dwItem;..  DWOR
16060 44 20 64 77 54 72 61 63 6b 3b 0d 0a 7d 0d 0a 61  D dwTrack;..}..a
16070 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 54 41 54  lias tagMCI_STAT
16080 55 53 5f 50 41 52 4d 53 20 4d 43 49 5f 53 54 41  US_PARMS MCI_STA
16090 54 55 53 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61  TUS_PARMS;..alia
160a0 73 20 74 61 67 4d 43 49 5f 53 54 41 54 55 53 5f  s tagMCI_STATUS_
160b0 50 41 52 4d 53 2a 20 50 4d 43 49 5f 53 54 41 54  PARMS* PMCI_STAT
160c0 55 53 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  US_PARMS;..alias
160d0 20 74 61 67 4d 43 49 5f 53 54 41 54 55 53 5f 50   tagMCI_STATUS_P
160e0 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 53 54 41 54  ARMS* LPMCI_STAT
160f0 55 53 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20  US_PARMS;....// 
16100 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
16110 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 49  .struct tagMCI_I
16120 4e 46 4f 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20  NFO_PARMSA {..  
16130 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c  DWORD_PTR dwCall
16140 62 61 63 6b 3b 0d 0a 20 20 4c 50 53 54 52 20 6c  back;..  LPSTR l
16150 70 73 74 72 52 65 74 75 72 6e 3b 0d 0a 20 20 44  pstrReturn;..  D
16160 57 4f 52 44 20 64 77 52 65 74 53 69 7a 65 3b 0d  WORD dwRetSize;.
16170 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  .}..alias tagMCI
16180 5f 49 4e 46 4f 5f 50 41 52 4d 53 41 20 4d 43 49  _INFO_PARMSA MCI
16190 5f 49 4e 46 4f 5f 50 41 52 4d 53 41 3b 0d 0a 61  _INFO_PARMSA;..a
161a0 6c 69 61 73 20 74 61 67 4d 43 49 5f 49 4e 46 4f  lias tagMCI_INFO
161b0 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 49  _PARMSA* LPMCI_I
161c0 4e 46 4f 5f 50 41 52 4d 53 41 3b 0d 0a 0d 0a 73  NFO_PARMSA;....s
161d0 74 72 75 63 74 20 74 61 67 4d 43 49 5f 49 4e 46  truct tagMCI_INF
161e0 4f 5f 50 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57  O_PARMSW {..  DW
161f0 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61  ORD_PTR dwCallba
16200 63 6b 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70  ck;..  LPWSTR lp
16210 73 74 72 52 65 74 75 72 6e 3b 0d 0a 20 20 44 57  strReturn;..  DW
16220 4f 52 44 20 64 77 52 65 74 53 69 7a 65 3b 0d 0a  ORD dwRetSize;..
16230 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
16240 49 4e 46 4f 5f 50 41 52 4d 53 57 20 4d 43 49 5f  INFO_PARMSW MCI_
16250 49 4e 46 4f 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c  INFO_PARMSW;..al
16260 69 61 73 20 74 61 67 4d 43 49 5f 49 4e 46 4f 5f  ias tagMCI_INFO_
16270 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49 5f 49 4e  PARMSW* LPMCI_IN
16280 46 4f 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f  FO_PARMSW;....//
16290 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
162a0 0a 61 6c 69 61 73 20 4d 43 49 5f 49 4e 46 4f 5f  .alias MCI_INFO_
162b0 50 41 52 4d 53 57 20 4d 43 49 5f 49 4e 46 4f 5f  PARMSW MCI_INFO_
162c0 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50  PARMS;..alias LP
162d0 4d 43 49 5f 49 4e 46 4f 5f 50 41 52 4d 53 57 20  MCI_INFO_PARMSW 
162e0 4c 50 4d 43 49 5f 49 4e 46 4f 5f 50 41 52 4d 53  LPMCI_INFO_PARMS
162f0 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
16300 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
16310 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20  / UNICODE....// 
16320 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
16330 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75  / #endif....stru
16340 63 74 20 74 61 67 4d 43 49 5f 47 45 54 44 45 56  ct tagMCI_GETDEV
16350 43 41 50 53 5f 50 41 52 4d 53 20 7b 0d 0a 20 20  CAPS_PARMS {..  
16360 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c  DWORD_PTR dwCall
16370 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64  back;..  DWORD d
16380 77 52 65 74 75 72 6e 3b 0d 0a 20 20 44 57 4f 52  wReturn;..  DWOR
16390 44 20 64 77 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c  D dwItem;..}..al
163a0 69 61 73 20 74 61 67 4d 43 49 5f 47 45 54 44 45  ias tagMCI_GETDE
163b0 56 43 41 50 53 5f 50 41 52 4d 53 20 4d 43 49 5f  VCAPS_PARMS MCI_
163c0 47 45 54 44 45 56 43 41 50 53 5f 50 41 52 4d 53  GETDEVCAPS_PARMS
163d0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
163e0 47 45 54 44 45 56 43 41 50 53 5f 50 41 52 4d 53  GETDEVCAPS_PARMS
163f0 2a 20 50 4d 43 49 5f 47 45 54 44 45 56 43 41 50  * PMCI_GETDEVCAP
16400 53 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  S_PARMS;..alias 
16410 74 61 67 4d 43 49 5f 47 45 54 44 45 56 43 41 50  tagMCI_GETDEVCAP
16420 53 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 47  S_PARMS* LPMCI_G
16430 45 54 44 45 56 43 41 50 53 5f 50 41 52 4d 53 3b  ETDEVCAPS_PARMS;
16440 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
16450 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74  IN32....struct t
16460 61 67 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41  agMCI_SYSINFO_PA
16470 52 4d 53 41 20 7b 0d 0a 20 20 44 57 4f 52 44 5f  RMSA {..  DWORD_
16480 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d  PTR dwCallback;.
16490 0a 20 20 4c 50 53 54 52 20 6c 70 73 74 72 52 65  .  LPSTR lpstrRe
164a0 74 75 72 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64  turn;..  DWORD d
164b0 77 52 65 74 53 69 7a 65 3b 0d 0a 20 20 44 57 4f  wRetSize;..  DWO
164c0 52 44 20 64 77 4e 75 6d 62 65 72 3b 0d 0a 20 20  RD dwNumber;..  
164d0 55 49 4e 54 20 77 44 65 76 69 63 65 54 79 70 65  UINT wDeviceType
164e0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
164f0 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d 53  CI_SYSINFO_PARMS
16500 41 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41  A MCI_SYSINFO_PA
16510 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RMSA;..alias tag
16520 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
16530 53 41 2a 20 50 4d 43 49 5f 53 59 53 49 4e 46 4f  SA* PMCI_SYSINFO
16540 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20  _PARMSA;..alias 
16550 74 61 67 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50  tagMCI_SYSINFO_P
16560 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 53 59 53  ARMSA* LPMCI_SYS
16570 49 4e 46 4f 5f 50 41 52 4d 53 41 3b 0d 0a 0d 0a  INFO_PARMSA;....
16580 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 53 59  struct tagMCI_SY
16590 53 49 4e 46 4f 5f 50 41 52 4d 53 57 20 7b 0d 0a  SINFO_PARMSW {..
165a0 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61    DWORD_PTR dwCa
165b0 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 57 53 54  llback;..  LPWST
165c0 52 20 6c 70 73 74 72 52 65 74 75 72 6e 3b 0d 0a  R lpstrReturn;..
165d0 20 20 44 57 4f 52 44 20 64 77 52 65 74 53 69 7a    DWORD dwRetSiz
165e0 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4e 75  e;..  DWORD dwNu
165f0 6d 62 65 72 3b 0d 0a 20 20 55 49 4e 54 20 77 44  mber;..  UINT wD
16600 65 76 69 63 65 54 79 70 65 3b 0d 0a 7d 0d 0a 61  eviceType;..}..a
16610 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 59 53 49  lias tagMCI_SYSI
16620 4e 46 4f 5f 50 41 52 4d 53 57 20 4d 43 49 5f 53  NFO_PARMSW MCI_S
16630 59 53 49 4e 46 4f 5f 50 41 52 4d 53 57 3b 0d 0a  YSINFO_PARMSW;..
16640 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 59 53  alias tagMCI_SYS
16650 49 4e 46 4f 5f 50 41 52 4d 53 57 2a 20 50 4d 43  INFO_PARMSW* PMC
16660 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d 53 57  I_SYSINFO_PARMSW
16670 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
16680 53 59 53 49 4e 46 4f 5f 50 41 52 4d 53 57 2a 20  SYSINFO_PARMSW* 
16690 4c 50 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41  LPMCI_SYSINFO_PA
166a0 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  RMSW;....// #ifd
166b0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
166c0 73 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41  s MCI_SYSINFO_PA
166d0 52 4d 53 57 20 4d 43 49 5f 53 59 53 49 4e 46 4f  RMSW MCI_SYSINFO
166e0 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 50  _PARMS;..alias P
166f0 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
16700 53 57 20 50 4d 43 49 5f 53 59 53 49 4e 46 4f 5f  SW PMCI_SYSINFO_
16710 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50  PARMS;..alias LP
16720 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
16730 53 57 20 4c 50 4d 43 49 5f 53 59 53 49 4e 46 4f  SW LPMCI_SYSINFO
16740 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73  _PARMS;..// #els
16750 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
16760 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
16770 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
16780 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
16790 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 53 45  struct tagMCI_SE
167a0 54 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f  T_PARMS {..  DWO
167b0 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
167c0 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69  k;..  DWORD dwTi
167d0 6d 65 46 6f 72 6d 61 74 3b 0d 0a 20 20 44 57 4f  meFormat;..  DWO
167e0 52 44 20 64 77 41 75 64 69 6f 3b 0d 0a 7d 0d 0a  RD dwAudio;..}..
167f0 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45 54  alias tagMCI_SET
16800 5f 50 41 52 4d 53 20 4d 43 49 5f 53 45 54 5f 50  _PARMS MCI_SET_P
16810 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ARMS;..alias tag
16820 4d 43 49 5f 53 45 54 5f 50 41 52 4d 53 2a 20 50  MCI_SET_PARMS* P
16830 4d 43 49 5f 53 45 54 5f 50 41 52 4d 53 3b 0d 0a  MCI_SET_PARMS;..
16840 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45 54  alias tagMCI_SET
16850 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 53 45  _PARMS* LPMCI_SE
16860 54 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75  T_PARMS;....stru
16870 63 74 20 74 61 67 4d 43 49 5f 42 52 45 41 4b 5f  ct tagMCI_BREAK_
16880 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44  PARMS {..  DWORD
16890 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
168a0 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
168b0 33 32 0d 0a 20 20 69 6e 74 20 6e 56 69 72 74 4b  32..  int nVirtK
168c0 65 79 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64  ey;..  HWND hwnd
168d0 42 72 65 61 6b 3b 0d 0a 2f 2f 20 23 65 6c 73 65  Break;..// #else
168e0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
168f0 64 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  dif..}..alias ta
16900 67 4d 43 49 5f 42 52 45 41 4b 5f 50 41 52 4d 53  gMCI_BREAK_PARMS
16910 20 4d 43 49 5f 42 52 45 41 4b 5f 50 41 52 4d 53   MCI_BREAK_PARMS
16920 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
16930 42 52 45 41 4b 5f 50 41 52 4d 53 2a 20 50 4d 43  BREAK_PARMS* PMC
16940 49 5f 42 52 45 41 4b 5f 50 41 52 4d 53 3b 0d 0a  I_BREAK_PARMS;..
16950 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 42 52 45  alias tagMCI_BRE
16960 41 4b 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f  AK_PARMS* LPMCI_
16970 42 52 45 41 4b 5f 50 41 52 4d 53 3b 0d 0a 0d 0a  BREAK_PARMS;....
16980 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
16990 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43  ....struct tagMC
169a0 49 5f 53 41 56 45 5f 50 41 52 4d 53 41 20 7b 0d  I_SAVE_PARMSA {.
169b0 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
169c0 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43 53  allback;..  LPCS
169d0 54 52 20 6c 70 66 69 6c 65 6e 61 6d 65 3b 0d 0a  TR lpfilename;..
169e0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
169f0 53 41 56 45 5f 50 41 52 4d 53 41 20 4d 43 49 5f  SAVE_PARMSA MCI_
16a00 53 41 56 45 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c  SAVE_PARMSA;..al
16a10 69 61 73 20 74 61 67 4d 43 49 5f 53 41 56 45 5f  ias tagMCI_SAVE_
16a20 50 41 52 4d 53 41 2a 20 50 4d 43 49 5f 53 41 56  PARMSA* PMCI_SAV
16a30 45 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73  E_PARMSA;..alias
16a40 20 74 61 67 4d 43 49 5f 53 41 56 45 5f 50 41 52   tagMCI_SAVE_PAR
16a50 4d 53 41 2a 20 4c 50 4d 43 49 5f 53 41 56 45 5f  MSA* LPMCI_SAVE_
16a60 50 41 52 4d 53 41 3b 0d 0a 0d 0a 73 74 72 75 63  PARMSA;....struc
16a70 74 20 74 61 67 4d 43 49 5f 53 41 56 45 5f 50 41  t tagMCI_SAVE_PA
16a80 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f  RMSW {..  DWORD_
16a90 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d  PTR dwCallback;.
16aa0 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 66 69 6c  .  LPCWSTR lpfil
16ab0 65 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ename;..}..alias
16ac0 20 74 61 67 4d 43 49 5f 53 41 56 45 5f 50 41 52   tagMCI_SAVE_PAR
16ad0 4d 53 57 20 4d 43 49 5f 53 41 56 45 5f 50 41 52  MSW MCI_SAVE_PAR
16ae0 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSW;..alias tagM
16af0 43 49 5f 53 41 56 45 5f 50 41 52 4d 53 57 2a 20  CI_SAVE_PARMSW* 
16b00 50 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d 53 57  PMCI_SAVE_PARMSW
16b10 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
16b20 53 41 56 45 5f 50 41 52 4d 53 57 2a 20 4c 50 4d  SAVE_PARMSW* LPM
16b30 43 49 5f 53 41 56 45 5f 50 41 52 4d 53 57 3b 0d  CI_SAVE_PARMSW;.
16b40 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
16b50 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d 43 49 5f  CODE..alias MCI_
16b60 53 41 56 45 5f 50 41 52 4d 53 57 20 4d 43 49 5f  SAVE_PARMSW MCI_
16b70 53 41 56 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  SAVE_PARMS;..ali
16b80 61 73 20 50 4d 43 49 5f 53 41 56 45 5f 50 41 52  as PMCI_SAVE_PAR
16b90 4d 53 57 20 50 4d 43 49 5f 53 41 56 45 5f 50 41  MSW PMCI_SAVE_PA
16ba0 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 43  RMS;..alias LPMC
16bb0 49 5f 53 41 56 45 5f 50 41 52 4d 53 57 20 4c 50  I_SAVE_PARMSW LP
16bc0 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d 53 3b 0d  MCI_SAVE_PARMS;.
16bd0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
16be0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
16bf0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65  UNICODE....// #e
16c00 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
16c10 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66  #endif....// #if
16c20 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74  def _WIN32....st
16c30 72 75 63 74 20 74 61 67 4d 43 49 5f 4c 4f 41 44  ruct tagMCI_LOAD
16c40 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20 44 57 4f  _PARMSA {..  DWO
16c50 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
16c60 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 66  k;..  LPCSTR lpf
16c70 69 6c 65 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  ilename;..}..ali
16c80 61 73 20 74 61 67 4d 43 49 5f 4c 4f 41 44 5f 50  as tagMCI_LOAD_P
16c90 41 52 4d 53 41 20 4d 43 49 5f 4c 4f 41 44 5f 50  ARMSA MCI_LOAD_P
16ca0 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSA;..alias ta
16cb0 67 4d 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41  gMCI_LOAD_PARMSA
16cc0 2a 20 50 4d 43 49 5f 4c 4f 41 44 5f 50 41 52 4d  * PMCI_LOAD_PARM
16cd0 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  SA;..alias tagMC
16ce0 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 2a 20 4c  I_LOAD_PARMSA* L
16cf0 50 4d 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41  PMCI_LOAD_PARMSA
16d00 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
16d10 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 20 7b  CI_LOAD_PARMSW {
16d20 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
16d30 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43  Callback;..  LPC
16d40 57 53 54 52 20 6c 70 66 69 6c 65 6e 61 6d 65 3b  WSTR lpfilename;
16d50 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  ..}..alias tagMC
16d60 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 20 4d 43  I_LOAD_PARMSW MC
16d70 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 3b 0d 0a  I_LOAD_PARMSW;..
16d80 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4c 4f 41  alias tagMCI_LOA
16d90 44 5f 50 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4c  D_PARMSW* PMCI_L
16da0 4f 41 44 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69  OAD_PARMSW;..ali
16db0 61 73 20 74 61 67 4d 43 49 5f 4c 4f 41 44 5f 50  as tagMCI_LOAD_P
16dc0 41 52 4d 53 57 2a 20 4c 50 4d 43 49 5f 4c 4f 41  ARMSW* LPMCI_LOA
16dd0 44 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20  D_PARMSW;....// 
16de0 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
16df0 61 6c 69 61 73 20 4d 43 49 5f 4c 4f 41 44 5f 50  alias MCI_LOAD_P
16e00 41 52 4d 53 57 20 4d 43 49 5f 4c 4f 41 44 5f 50  ARMSW MCI_LOAD_P
16e10 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 43  ARMS;..alias PMC
16e20 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 20 50 4d  I_LOAD_PARMSW PM
16e30 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 3b 0d 0a  CI_LOAD_PARMS;..
16e40 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4c 4f 41 44  alias LPMCI_LOAD
16e50 5f 50 41 52 4d 53 57 20 4c 50 4d 43 49 5f 4c 4f  _PARMSW LPMCI_LO
16e60 41 44 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65  AD_PARMS;..// #e
16e70 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
16e80 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
16e90 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
16ea0 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
16eb0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43  ....struct tagMC
16ec0 49 5f 52 45 43 4f 52 44 5f 50 41 52 4d 53 20 7b  I_RECORD_PARMS {
16ed0 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
16ee0 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f  Callback;..  DWO
16ef0 52 44 20 64 77 46 72 6f 6d 3b 0d 0a 20 20 44 57  RD dwFrom;..  DW
16f00 4f 52 44 20 64 77 54 6f 3b 0d 0a 7d 0d 0a 61 6c  ORD dwTo;..}..al
16f10 69 61 73 20 74 61 67 4d 43 49 5f 52 45 43 4f 52  ias tagMCI_RECOR
16f20 44 5f 50 41 52 4d 53 20 4d 43 49 5f 52 45 43 4f  D_PARMS MCI_RECO
16f30 52 44 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  RD_PARMS;..alias
16f40 20 74 61 67 4d 43 49 5f 52 45 43 4f 52 44 5f 50   tagMCI_RECORD_P
16f50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 52 45 43 4f  ARMS* LPMCI_RECO
16f60 52 44 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 65 6e 75  RD_PARMS;....enu
16f70 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56  m : uint { MCI_V
16f80 44 5f 4d 4f 44 45 5f 50 41 52 4b 20 3d 20 4d 43  D_MODE_PARK = MC
16f90 49 5f 56 44 5f 4f 46 46 53 45 54 20 2b 20 31 20  I_VD_OFFSET + 1 
16fa0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
16fb0 20 7b 20 4d 43 49 5f 56 44 5f 4d 45 44 49 41 5f   { MCI_VD_MEDIA_
16fc0 43 4c 56 20 3d 20 4d 43 49 5f 56 44 5f 4f 46 46  CLV = MCI_VD_OFF
16fd0 53 45 54 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20  SET + 2 }..enum 
16fe0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
16ff0 4d 45 44 49 41 5f 43 41 56 20 3d 20 4d 43 49 5f  MEDIA_CAV = MCI_
17000 56 44 5f 4f 46 46 53 45 54 20 2b 20 33 20 7d 0d  VD_OFFSET + 3 }.
17010 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
17020 43 49 5f 56 44 5f 4d 45 44 49 41 5f 4f 54 48 45  CI_VD_MEDIA_OTHE
17030 52 20 3d 20 4d 43 49 5f 56 44 5f 4f 46 46 53 45  R = MCI_VD_OFFSE
17040 54 20 2b 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  T + 4 }....enum 
17050 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
17060 46 4f 52 4d 41 54 5f 54 52 41 43 4b 20 3d 20 30  FORMAT_TRACK = 0
17070 78 34 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x4001 }....enum 
17080 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
17090 50 4c 41 59 5f 52 45 56 45 52 53 45 20 3d 20 30  PLAY_REVERSE = 0
170a0 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
170b0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56  m : uint { MCI_V
170c0 44 5f 50 4c 41 59 5f 46 41 53 54 20 3d 20 30 78  D_PLAY_FAST = 0x
170d0 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00020000 }..enum
170e0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
170f0 5f 50 4c 41 59 5f 53 50 45 45 44 20 3d 20 30 78  _PLAY_SPEED = 0x
17100 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00040000 }..enum
17110 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
17120 5f 50 4c 41 59 5f 53 43 41 4e 20 3d 20 30 78 30  _PLAY_SCAN = 0x0
17130 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0080000 }..enum 
17140 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
17150 50 4c 41 59 5f 53 4c 4f 57 20 3d 20 30 78 30 30  PLAY_SLOW = 0x00
17160 31 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  100000 }....enum
17170 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
17180 5f 53 45 45 4b 5f 52 45 56 45 52 53 45 20 3d 20  _SEEK_REVERSE = 
17190 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 0d 0a  0x00010000 }....
171a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
171b0 49 5f 56 44 5f 53 54 41 54 55 53 5f 53 50 45 45  I_VD_STATUS_SPEE
171c0 44 20 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d  D = 0x00004002 }
171d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
171e0 4d 43 49 5f 56 44 5f 53 54 41 54 55 53 5f 46 4f  MCI_VD_STATUS_FO
171f0 52 57 41 52 44 20 3d 20 30 78 30 30 30 30 34 30  RWARD = 0x000040
17200 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  03 }..enum : uin
17210 74 20 7b 20 4d 43 49 5f 56 44 5f 53 54 41 54 55  t { MCI_VD_STATU
17220 53 5f 4d 45 44 49 41 5f 54 59 50 45 20 3d 20 30  S_MEDIA_TYPE = 0
17230 78 30 30 30 30 34 30 30 34 20 7d 0d 0a 65 6e 75  x00004004 }..enu
17240 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56  m : uint { MCI_V
17250 44 5f 53 54 41 54 55 53 5f 53 49 44 45 20 3d 20  D_STATUS_SIDE = 
17260 30 78 30 30 30 30 34 30 30 35 20 7d 0d 0a 65 6e  0x00004005 }..en
17270 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17280 56 44 5f 53 54 41 54 55 53 5f 44 49 53 43 5f 53  VD_STATUS_DISC_S
17290 49 5a 45 20 3d 20 30 78 30 30 30 30 34 30 30 36  IZE = 0x00004006
172a0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
172b0 74 20 7b 20 4d 43 49 5f 56 44 5f 47 45 54 44 45  t { MCI_VD_GETDE
172c0 56 43 41 50 53 5f 43 4c 56 20 3d 20 30 78 30 30  VCAPS_CLV = 0x00
172d0 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  010000 }..enum :
172e0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 47   uint { MCI_VD_G
172f0 45 54 44 45 56 43 41 50 53 5f 43 41 56 20 3d 20  ETDEVCAPS_CAV = 
17300 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a  0x00020000 }....
17310 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
17320 49 5f 56 44 5f 53 50 49 4e 5f 55 50 20 3d 20 30  I_VD_SPIN_UP = 0
17330 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
17340 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56  m : uint { MCI_V
17350 44 5f 53 50 49 4e 5f 44 4f 57 4e 20 3d 20 30 78  D_SPIN_DOWN = 0x
17360 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00020000 }....en
17370 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17380 56 44 5f 47 45 54 44 45 56 43 41 50 53 5f 43 41  VD_GETDEVCAPS_CA
17390 4e 5f 52 45 56 45 52 53 45 20 3d 20 30 78 30 30  N_REVERSE = 0x00
173a0 30 30 34 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  004002 }..enum :
173b0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 47   uint { MCI_VD_G
173c0 45 54 44 45 56 43 41 50 53 5f 46 41 53 54 5f 52  ETDEVCAPS_FAST_R
173d0 41 54 45 20 3d 20 30 78 30 30 30 30 34 30 30 33  ATE = 0x00004003
173e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
173f0 7b 20 4d 43 49 5f 56 44 5f 47 45 54 44 45 56 43  { MCI_VD_GETDEVC
17400 41 50 53 5f 53 4c 4f 57 5f 52 41 54 45 20 3d 20  APS_SLOW_RATE = 
17410 30 78 30 30 30 30 34 30 30 34 20 7d 0d 0a 65 6e  0x00004004 }..en
17420 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17430 56 44 5f 47 45 54 44 45 56 43 41 50 53 5f 4e 4f  VD_GETDEVCAPS_NO
17440 52 4d 41 4c 5f 52 41 54 45 20 3d 20 30 78 30 30  RMAL_RATE = 0x00
17450 30 30 34 30 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d  004005 }....enum
17460 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
17470 5f 53 54 45 50 5f 46 52 41 4d 45 53 20 3d 20 30  _STEP_FRAMES = 0
17480 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
17490 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56  m : uint { MCI_V
174a0 44 5f 53 54 45 50 5f 52 45 56 45 52 53 45 20 3d  D_STEP_REVERSE =
174b0 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d   0x00020000 }...
174c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
174d0 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 53 54 52  CI_VD_ESCAPE_STR
174e0 49 4e 47 20 3d 20 30 78 30 30 30 30 30 31 30 30  ING = 0x00000100
174f0 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67   }....struct tag
17500 4d 43 49 5f 56 44 5f 50 4c 41 59 5f 50 41 52 4d  MCI_VD_PLAY_PARM
17510 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52  S {..  DWORD_PTR
17520 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20   dwCallback;..  
17530 44 57 4f 52 44 20 64 77 46 72 6f 6d 3b 0d 0a 20  DWORD dwFrom;.. 
17540 20 44 57 4f 52 44 20 64 77 54 6f 3b 0d 0a 20 20   DWORD dwTo;..  
17550 44 57 4f 52 44 20 64 77 53 70 65 65 64 3b 0d 0a  DWORD dwSpeed;..
17560 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
17570 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53 20 4d 43  VD_PLAY_PARMS MC
17580 49 5f 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53 3b  I_VD_PLAY_PARMS;
17590 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56  ..alias tagMCI_V
175a0 44 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20 50 4d  D_PLAY_PARMS* PM
175b0 43 49 5f 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53  CI_VD_PLAY_PARMS
175c0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
175d0 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20 4c  VD_PLAY_PARMS* L
175e0 50 4d 43 49 5f 56 44 5f 50 4c 41 59 5f 50 41 52  PMCI_VD_PLAY_PAR
175f0 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  MS;....struct ta
17600 67 4d 43 49 5f 56 44 5f 53 54 45 50 5f 50 41 52  gMCI_VD_STEP_PAR
17610 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  MS {..  DWORD_PT
17620 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  R dwCallback;.. 
17630 20 44 57 4f 52 44 20 64 77 46 72 61 6d 65 73 3b   DWORD dwFrames;
17640 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  ..}..alias tagMC
17650 49 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d 53 20  I_VD_STEP_PARMS 
17660 4d 43 49 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d  MCI_VD_STEP_PARM
17670 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  S;..alias tagMCI
17680 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d 53 2a 20  _VD_STEP_PARMS* 
17690 50 4d 43 49 5f 56 44 5f 53 54 45 50 5f 50 41 52  PMCI_VD_STEP_PAR
176a0 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  MS;..alias tagMC
176b0 49 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d 53 2a  I_VD_STEP_PARMS*
176c0 20 4c 50 4d 43 49 5f 56 44 5f 53 54 45 50 5f 50   LPMCI_VD_STEP_P
176d0 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  ARMS;....// #ifd
176e0 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72  ef _WIN32....str
176f0 75 63 74 20 74 61 67 4d 43 49 5f 56 44 5f 45 53  uct tagMCI_VD_ES
17700 43 41 50 45 5f 50 41 52 4d 53 41 20 7b 0d 0a 20  CAPE_PARMSA {.. 
17710 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
17720 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43 53 54 52  lback;..  LPCSTR
17730 20 6c 70 73 74 72 43 6f 6d 6d 61 6e 64 3b 0d 0a   lpstrCommand;..
17740 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
17750 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 41  VD_ESCAPE_PARMSA
17760 20 4d 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50   MCI_VD_ESCAPE_P
17770 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSA;..alias ta
17780 67 4d 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50  gMCI_VD_ESCAPE_P
17790 41 52 4d 53 41 2a 20 50 4d 43 49 5f 56 44 5f 45  ARMSA* PMCI_VD_E
177a0 53 43 41 50 45 5f 50 41 52 4d 53 41 3b 0d 0a 61  SCAPE_PARMSA;..a
177b0 6c 69 61 73 20 74 61 67 4d 43 49 5f 56 44 5f 45  lias tagMCI_VD_E
177c0 53 43 41 50 45 5f 50 41 52 4d 53 41 2a 20 4c 50  SCAPE_PARMSA* LP
177d0 4d 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41  MCI_VD_ESCAPE_PA
177e0 52 4d 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  RMSA;....struct 
177f0 74 61 67 4d 43 49 5f 56 44 5f 45 53 43 41 50 45  tagMCI_VD_ESCAPE
17800 5f 50 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f  _PARMSW {..  DWO
17810 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
17820 6b 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  k;..  LPCWSTR lp
17830 73 74 72 43 6f 6d 6d 61 6e 64 3b 0d 0a 7d 0d 0a  strCommand;..}..
17840 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56 44 5f  alias tagMCI_VD_
17850 45 53 43 41 50 45 5f 50 41 52 4d 53 57 20 4d 43  ESCAPE_PARMSW MC
17860 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d  I_VD_ESCAPE_PARM
17870 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  SW;..alias tagMC
17880 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d  I_VD_ESCAPE_PARM
17890 53 57 2a 20 50 4d 43 49 5f 56 44 5f 45 53 43 41  SW* PMCI_VD_ESCA
178a0 50 45 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61  PE_PARMSW;..alia
178b0 73 20 74 61 67 4d 43 49 5f 56 44 5f 45 53 43 41  s tagMCI_VD_ESCA
178c0 50 45 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49  PE_PARMSW* LPMCI
178d0 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53  _VD_ESCAPE_PARMS
178e0 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
178f0 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d  UNICODE..alias M
17900 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52  CI_VD_ESCAPE_PAR
17910 4d 53 57 20 4d 43 49 5f 56 44 5f 45 53 43 41 50  MSW MCI_VD_ESCAP
17920 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  E_PARMS;..alias 
17930 50 4d 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50  PMCI_VD_ESCAPE_P
17940 41 52 4d 53 57 20 50 4d 43 49 5f 56 44 5f 45 53  ARMSW PMCI_VD_ES
17950 43 41 50 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  CAPE_PARMS;..ali
17960 61 73 20 4c 50 4d 43 49 5f 56 44 5f 45 53 43 41  as LPMCI_VD_ESCA
17970 50 45 5f 50 41 52 4d 53 57 20 4c 50 4d 43 49 5f  PE_PARMSW LPMCI_
17980 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 3b  VD_ESCAPE_PARMS;
17990 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
179a0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
179b0 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23   UNICODE....// #
179c0 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
179d0 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20   #endif....enum 
179e0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43 44 41  : uint { MCI_CDA
179f0 5f 53 54 41 54 55 53 5f 54 59 50 45 5f 54 52 41  _STATUS_TYPE_TRA
17a00 43 4b 20 3d 20 30 78 30 30 30 30 34 30 30 31 20  CK = 0x00004001 
17a10 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
17a20 20 7b 20 4d 43 49 5f 43 44 41 5f 54 52 41 43 4b   { MCI_CDA_TRACK
17a30 5f 41 55 44 49 4f 20 3d 20 4d 43 49 5f 43 44 5f  _AUDIO = MCI_CD_
17a40 4f 46 46 53 45 54 20 2b 20 30 20 7d 0d 0a 65 6e  OFFSET + 0 }..en
17a50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17a60 43 44 41 5f 54 52 41 43 4b 5f 4f 54 48 45 52 20  CDA_TRACK_OTHER 
17a70 3d 20 4d 43 49 5f 43 44 5f 4f 46 46 53 45 54 20  = MCI_CD_OFFSET 
17a80 2b 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  + 1 }....enum : 
17a90 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f  uint { MCI_WAVE_
17aa0 50 43 4d 20 3d 20 4d 43 49 5f 57 41 56 45 5f 4f  PCM = MCI_WAVE_O
17ab0 46 46 53 45 54 20 2b 20 30 20 7d 0d 0a 65 6e 75  FFSET + 0 }..enu
17ac0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57  m : uint { MCI_W
17ad0 41 56 45 5f 4d 41 50 50 45 52 20 3d 20 4d 43 49  AVE_MAPPER = MCI
17ae0 5f 57 41 56 45 5f 4f 46 46 53 45 54 20 2b 20 31  _WAVE_OFFSET + 1
17af0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
17b00 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 4f 50 45  t { MCI_WAVE_OPE
17b10 4e 5f 42 55 46 46 45 52 20 3d 20 30 78 30 30 30  N_BUFFER = 0x000
17b20 31 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  10000 }....enum 
17b30 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
17b40 45 5f 53 45 54 5f 46 4f 52 4d 41 54 54 41 47 20  E_SET_FORMATTAG 
17b50 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
17b60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
17b70 49 5f 57 41 56 45 5f 53 45 54 5f 43 48 41 4e 4e  I_WAVE_SET_CHANN
17b80 45 4c 53 20 3d 20 30 78 30 30 30 32 30 30 30 30  ELS = 0x00020000
17b90 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17ba0 7b 20 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 53  { MCI_WAVE_SET_S
17bb0 41 4d 50 4c 45 53 50 45 52 53 45 43 20 3d 20 30  AMPLESPERSEC = 0
17bc0 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75  x00040000 }..enu
17bd0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57  m : uint { MCI_W
17be0 41 56 45 5f 53 45 54 5f 41 56 47 42 59 54 45 53  AVE_SET_AVGBYTES
17bf0 50 45 52 53 45 43 20 3d 20 30 78 30 30 30 38 30  PERSEC = 0x00080
17c00 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
17c10 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 53 45  nt { MCI_WAVE_SE
17c20 54 5f 42 4c 4f 43 4b 41 4c 49 47 4e 20 3d 20 30  T_BLOCKALIGN = 0
17c30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00100000 }..enu
17c40 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57  m : uint { MCI_W
17c50 41 56 45 5f 53 45 54 5f 42 49 54 53 50 45 52 53  AVE_SET_BITSPERS
17c60 41 4d 50 4c 45 20 3d 20 30 78 30 30 32 30 30 30  AMPLE = 0x002000
17c70 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
17c80 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 49  int { MCI_WAVE_I
17c90 4e 50 55 54 20 3d 20 30 78 30 30 34 30 30 30 30  NPUT = 0x0040000
17ca0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
17cb0 20 7b 20 4d 43 49 5f 57 41 56 45 5f 4f 55 54 50   { MCI_WAVE_OUTP
17cc0 55 54 20 3d 20 30 78 30 30 38 30 30 30 30 30 20  UT = 0x00800000 
17cd0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
17ce0 20 7b 20 4d 43 49 5f 57 41 56 45 5f 53 54 41 54   { MCI_WAVE_STAT
17cf0 55 53 5f 46 4f 52 4d 41 54 54 41 47 20 3d 20 30  US_FORMATTAG = 0
17d00 78 30 30 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75  x00004001 }..enu
17d10 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57  m : uint { MCI_W
17d20 41 56 45 5f 53 54 41 54 55 53 5f 43 48 41 4e 4e  AVE_STATUS_CHANN
17d30 45 4c 53 20 3d 20 30 78 30 30 30 30 34 30 30 32  ELS = 0x00004002
17d40 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17d50 7b 20 4d 43 49 5f 57 41 56 45 5f 53 54 41 54 55  { MCI_WAVE_STATU
17d60 53 5f 53 41 4d 50 4c 45 53 50 45 52 53 45 43 20  S_SAMPLESPERSEC 
17d70 3d 20 30 78 30 30 30 30 34 30 30 33 20 7d 0d 0a  = 0x00004003 }..
17d80 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
17d90 49 5f 57 41 56 45 5f 53 54 41 54 55 53 5f 41 56  I_WAVE_STATUS_AV
17da0 47 42 59 54 45 53 50 45 52 53 45 43 20 3d 20 30  GBYTESPERSEC = 0
17db0 78 30 30 30 30 34 30 30 34 20 7d 0d 0a 65 6e 75  x00004004 }..enu
17dc0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57  m : uint { MCI_W
17dd0 41 56 45 5f 53 54 41 54 55 53 5f 42 4c 4f 43 4b  AVE_STATUS_BLOCK
17de0 41 4c 49 47 4e 20 3d 20 30 78 30 30 30 30 34 30  ALIGN = 0x000040
17df0 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  05 }..enum : uin
17e00 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 53 54 41  t { MCI_WAVE_STA
17e10 54 55 53 5f 42 49 54 53 50 45 52 53 41 4d 50 4c  TUS_BITSPERSAMPL
17e20 45 20 3d 20 30 78 30 30 30 30 34 30 30 36 20 7d  E = 0x00004006 }
17e30 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17e40 4d 43 49 5f 57 41 56 45 5f 53 54 41 54 55 53 5f  MCI_WAVE_STATUS_
17e50 4c 45 56 45 4c 20 3d 20 30 78 30 30 30 30 34 30  LEVEL = 0x000040
17e60 30 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  07 }....enum : u
17e70 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 53  int { MCI_WAVE_S
17e80 45 54 5f 41 4e 59 49 4e 50 55 54 20 3d 20 30 78  ET_ANYINPUT = 0x
17e90 30 34 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  04000000 }..enum
17ea0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41   : uint { MCI_WA
17eb0 56 45 5f 53 45 54 5f 41 4e 59 4f 55 54 50 55 54  VE_SET_ANYOUTPUT
17ec0 20 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d 0d   = 0x08000000 }.
17ed0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
17ee0 20 4d 43 49 5f 57 41 56 45 5f 47 45 54 44 45 56   MCI_WAVE_GETDEV
17ef0 43 41 50 53 5f 49 4e 50 55 54 53 20 3d 20 30 78  CAPS_INPUTS = 0x
17f00 30 30 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75 6d  00004001 }..enum
17f10 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41   : uint { MCI_WA
17f20 56 45 5f 47 45 54 44 45 56 43 41 50 53 5f 4f 55  VE_GETDEVCAPS_OU
17f30 54 50 55 54 53 20 3d 20 30 78 30 30 30 30 34 30  TPUTS = 0x000040
17f40 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  02 }....// #ifde
17f50 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
17f60 63 74 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 4f  ct tagMCI_WAVE_O
17f70 50 45 4e 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20  PEN_PARMSA {..  
17f80 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c  DWORD_PTR dwCall
17f90 62 61 63 6b 3b 0d 0a 20 20 4d 43 49 44 45 56 49  back;..  MCIDEVI
17fa0 43 45 49 44 20 77 44 65 76 69 63 65 49 44 3b 0d  CEID wDeviceID;.
17fb0 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74 72 44  .  LPCSTR lpstrD
17fc0 65 76 69 63 65 54 79 70 65 3b 0d 0a 20 20 4c 50  eviceType;..  LP
17fd0 43 53 54 52 20 6c 70 73 74 72 45 6c 65 6d 65 6e  CSTR lpstrElemen
17fe0 74 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43 53 54 52  tName;..  LPCSTR
17ff0 20 6c 70 73 74 72 41 6c 69 61 73 3b 0d 0a 20 20   lpstrAlias;..  
18000 44 57 4f 52 44 20 64 77 42 75 66 66 65 72 53 65  DWORD dwBufferSe
18010 63 6f 6e 64 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  conds;..}..alias
18020 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 4f 50 45   tagMCI_WAVE_OPE
18030 4e 5f 50 41 52 4d 53 41 20 4d 43 49 5f 57 41 56  N_PARMSA MCI_WAV
18040 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a  E_OPEN_PARMSA;..
18050 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 57 41 56  alias tagMCI_WAV
18060 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a 20 50  E_OPEN_PARMSA* P
18070 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41  MCI_WAVE_OPEN_PA
18080 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RMSA;..alias tag
18090 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41  MCI_WAVE_OPEN_PA
180a0 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 57 41 56 45  RMSA* LPMCI_WAVE
180b0 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a 0d  _OPEN_PARMSA;...
180c0 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 57  .struct tagMCI_W
180d0 41 56 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20  AVE_OPEN_PARMSW 
180e0 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  {..  DWORD_PTR d
180f0 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43  wCallback;..  MC
18100 49 44 45 56 49 43 45 49 44 20 77 44 65 76 69 63  IDEVICEID wDevic
18110 65 49 44 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  eID;..  LPCWSTR 
18120 6c 70 73 74 72 44 65 76 69 63 65 54 79 70 65 3b  lpstrDeviceType;
18130 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74  ..  LPCWSTR lpst
18140 72 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20  rElementName;.. 
18150 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72 41 6c   LPCWSTR lpstrAl
18160 69 61 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ias;..  DWORD dw
18170 42 75 66 66 65 72 53 65 63 6f 6e 64 73 3b 0d 0a  BufferSeconds;..
18180 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
18190 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 57  WAVE_OPEN_PARMSW
181a0 20 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50   MCI_WAVE_OPEN_P
181b0 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSW;..alias ta
181c0 67 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50  gMCI_WAVE_OPEN_P
181d0 41 52 4d 53 57 2a 20 50 4d 43 49 5f 57 41 56 45  ARMSW* PMCI_WAVE
181e0 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 61  _OPEN_PARMSW;..a
181f0 6c 69 61 73 20 74 61 67 4d 43 49 5f 57 41 56 45  lias tagMCI_WAVE
18200 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 2a 20 4c 50  _OPEN_PARMSW* LP
18210 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41  MCI_WAVE_OPEN_PA
18220 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  RMSW;....// #ifd
18230 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
18240 73 20 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f  s MCI_WAVE_OPEN_
18250 50 41 52 4d 53 57 20 4d 43 49 5f 57 41 56 45 5f  PARMSW MCI_WAVE_
18260 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  OPEN_PARMS;..ali
18270 61 73 20 50 4d 43 49 5f 57 41 56 45 5f 4f 50 45  as PMCI_WAVE_OPE
18280 4e 5f 50 41 52 4d 53 57 20 50 4d 43 49 5f 57 41  N_PARMSW PMCI_WA
18290 56 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a  VE_OPEN_PARMS;..
182a0 61 6c 69 61 73 20 4c 50 4d 43 49 5f 57 41 56 45  alias LPMCI_WAVE
182b0 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4c 50 4d  _OPEN_PARMSW LPM
182c0 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52  CI_WAVE_OPEN_PAR
182d0 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  MS;..// #else../
182e0 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
182f0 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f   // UNICODE..../
18300 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
18310 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
18320 72 75 63 74 20 74 61 67 4d 43 49 5f 57 41 56 45  ruct tagMCI_WAVE
18330 5f 44 45 4c 45 54 45 5f 50 41 52 4d 53 20 7b 0d  _DELETE_PARMS {.
18340 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
18350 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52  allback;..  DWOR
18360 44 20 64 77 46 72 6f 6d 3b 0d 0a 20 20 44 57 4f  D dwFrom;..  DWO
18370 52 44 20 64 77 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69  RD dwTo;..}..ali
18380 61 73 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 44  as tagMCI_WAVE_D
18390 45 4c 45 54 45 5f 50 41 52 4d 53 20 4d 43 49 5f  ELETE_PARMS MCI_
183a0 57 41 56 45 5f 44 45 4c 45 54 45 5f 50 41 52 4d  WAVE_DELETE_PARM
183b0 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  S;..alias tagMCI
183c0 5f 57 41 56 45 5f 44 45 4c 45 54 45 5f 50 41 52  _WAVE_DELETE_PAR
183d0 4d 53 2a 20 50 4d 43 49 5f 57 41 56 45 5f 44 45  MS* PMCI_WAVE_DE
183e0 4c 45 54 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  LETE_PARMS;..ali
183f0 61 73 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 44  as tagMCI_WAVE_D
18400 45 4c 45 54 45 5f 50 41 52 4d 53 2a 20 4c 50 4d  ELETE_PARMS* LPM
18410 43 49 5f 57 41 56 45 5f 44 45 4c 45 54 45 5f 50  CI_WAVE_DELETE_P
18420 41 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  ARMS;....struct 
18430 74 61 67 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f  tagMCI_WAVE_SET_
18440 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44  PARMS {..  DWORD
18450 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
18460 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69 6d 65  ..  DWORD dwTime
18470 46 6f 72 6d 61 74 3b 0d 0a 20 20 44 57 4f 52 44  Format;..  DWORD
18480 20 64 77 41 75 64 69 6f 3b 0d 0a 2f 2f 20 23 69   dwAudio;..// #i
18490 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 20 20 55  fdef _WIN32..  U
184a0 49 4e 54 20 77 49 6e 70 75 74 3b 0d 0a 20 20 55  INT wInput;..  U
184b0 49 4e 54 20 77 4f 75 74 70 75 74 3b 0d 0a 2f 2f  INT wOutput;..//
184c0 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
184d0 2f 2f 20 23 65 6e 64 69 66 0d 0a 20 20 57 4f 52  // #endif..  WOR
184e0 44 20 77 46 6f 72 6d 61 74 54 61 67 3b 0d 0a 20  D wFormatTag;.. 
184f0 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64 32   WORD wReserved2
18500 3b 0d 0a 20 20 57 4f 52 44 20 6e 43 68 61 6e 6e  ;..  WORD nChann
18510 65 6c 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65  els;..  WORD wRe
18520 73 65 72 76 65 64 33 3b 0d 0a 20 20 44 57 4f 52  served3;..  DWOR
18530 44 20 6e 53 61 6d 70 6c 65 73 50 65 72 53 65 63  D nSamplesPerSec
18540 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 41 76 67 42  ;..  DWORD nAvgB
18550 79 74 65 73 50 65 72 53 65 63 3b 0d 0a 20 20 57  ytesPerSec;..  W
18560 4f 52 44 20 6e 42 6c 6f 63 6b 41 6c 69 67 6e 3b  ORD nBlockAlign;
18570 0d 0a 20 20 57 4f 52 44 20 77 52 65 73 65 72 76  ..  WORD wReserv
18580 65 64 34 3b 0d 0a 20 20 57 4f 52 44 20 77 42 69  ed4;..  WORD wBi
18590 74 73 50 65 72 53 61 6d 70 6c 65 3b 0d 0a 20 20  tsPerSample;..  
185a0 57 4f 52 44 20 77 52 65 73 65 72 76 65 64 35 3b  WORD wReserved5;
185b0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  ..}..alias tagMC
185c0 49 5f 57 41 56 45 5f 53 45 54 5f 50 41 52 4d 53  I_WAVE_SET_PARMS
185d0 20 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 50 41   MCI_WAVE_SET_PA
185e0 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  RMS;..alias tagM
185f0 43 49 5f 57 41 56 45 5f 53 45 54 5f 50 41 52 4d  CI_WAVE_SET_PARM
18600 53 2a 20 50 4d 43 49 5f 57 41 56 45 5f 53 45 54  S* PMCI_WAVE_SET
18610 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74  _PARMS;..alias t
18620 61 67 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 50  agMCI_WAVE_SET_P
18630 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 57 41 56 45  ARMS* LPMCI_WAVE
18640 5f 53 45 54 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 65  _SET_PARMS;....e
18650 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18660 5f 53 45 51 5f 44 49 56 5f 50 50 51 4e 20 3d 20  _SEQ_DIV_PPQN = 
18670 30 20 2b 20 4d 43 49 5f 53 45 51 5f 4f 46 46 53  0 + MCI_SEQ_OFFS
18680 45 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ET }..enum : uin
18690 74 20 7b 20 4d 43 49 5f 53 45 51 5f 44 49 56 5f  t { MCI_SEQ_DIV_
186a0 53 4d 50 54 45 5f 32 34 20 3d 20 31 20 2b 20 4d  SMPTE_24 = 1 + M
186b0 43 49 5f 53 45 51 5f 4f 46 46 53 45 54 20 7d 0d  CI_SEQ_OFFSET }.
186c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
186d0 43 49 5f 53 45 51 5f 44 49 56 5f 53 4d 50 54 45  CI_SEQ_DIV_SMPTE
186e0 5f 32 35 20 3d 20 32 20 2b 20 4d 43 49 5f 53 45  _25 = 2 + MCI_SE
186f0 51 5f 4f 46 46 53 45 54 20 7d 0d 0a 65 6e 75 6d  Q_OFFSET }..enum
18700 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45   : uint { MCI_SE
18710 51 5f 44 49 56 5f 53 4d 50 54 45 5f 33 30 44 52  Q_DIV_SMPTE_30DR
18720 4f 50 20 3d 20 33 20 2b 20 4d 43 49 5f 53 45 51  OP = 3 + MCI_SEQ
18730 5f 4f 46 46 53 45 54 20 7d 0d 0a 65 6e 75 6d 20  _OFFSET }..enum 
18740 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51  : uint { MCI_SEQ
18750 5f 44 49 56 5f 53 4d 50 54 45 5f 33 30 20 3d 20  _DIV_SMPTE_30 = 
18760 34 20 2b 20 4d 43 49 5f 53 45 51 5f 4f 46 46 53  4 + MCI_SEQ_OFFS
18770 45 54 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ET }....enum : u
18780 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 46 4f  int { MCI_SEQ_FO
18790 52 4d 41 54 5f 53 4f 4e 47 50 54 52 20 3d 20 30  RMAT_SONGPTR = 0
187a0 78 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x4001 }..enum : 
187b0 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 46  uint { MCI_SEQ_F
187c0 49 4c 45 20 3d 20 30 78 34 30 30 32 20 7d 0d 0a  ILE = 0x4002 }..
187d0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
187e0 49 5f 53 45 51 5f 4d 49 44 49 20 3d 20 30 78 34  I_SEQ_MIDI = 0x4
187f0 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  003 }..enum : ui
18800 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 53 4d 50  nt { MCI_SEQ_SMP
18810 54 45 20 3d 20 30 78 34 30 30 34 20 7d 0d 0a 65  TE = 0x4004 }..e
18820 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18830 5f 53 45 51 5f 4e 4f 4e 45 20 3d 20 36 35 35 33  _SEQ_NONE = 6553
18840 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
18850 20 7b 20 4d 43 49 5f 53 45 51 5f 4d 41 50 50 45   { MCI_SEQ_MAPPE
18860 52 20 3d 20 36 35 35 33 35 20 7d 0d 0a 0d 0a 65  R = 65535 }....e
18870 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18880 5f 53 45 51 5f 53 54 41 54 55 53 5f 54 45 4d 50  _SEQ_STATUS_TEMP
18890 4f 20 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d  O = 0x00004002 }
188a0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
188b0 4d 43 49 5f 53 45 51 5f 53 54 41 54 55 53 5f 50  MCI_SEQ_STATUS_P
188c0 4f 52 54 20 3d 20 30 78 30 30 30 30 34 30 30 33  ORT = 0x00004003
188d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
188e0 7b 20 4d 43 49 5f 53 45 51 5f 53 54 41 54 55 53  { MCI_SEQ_STATUS
188f0 5f 53 4c 41 56 45 20 3d 20 30 78 30 30 30 30 34  _SLAVE = 0x00004
18900 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  007 }..enum : ui
18910 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 53 54 41  nt { MCI_SEQ_STA
18920 54 55 53 5f 4d 41 53 54 45 52 20 3d 20 30 78 30  TUS_MASTER = 0x0
18930 30 30 30 34 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0004008 }..enum 
18940 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51  : uint { MCI_SEQ
18950 5f 53 54 41 54 55 53 5f 4f 46 46 53 45 54 20 3d  _STATUS_OFFSET =
18960 20 30 78 30 30 30 30 34 30 30 39 20 7d 0d 0a 65   0x00004009 }..e
18970 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18980 5f 53 45 51 5f 53 54 41 54 55 53 5f 44 49 56 54  _SEQ_STATUS_DIVT
18990 59 50 45 20 3d 20 30 78 30 30 30 30 34 30 30 41  YPE = 0x0000400A
189a0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
189b0 7b 20 4d 43 49 5f 53 45 51 5f 53 54 41 54 55 53  { MCI_SEQ_STATUS
189c0 5f 4e 41 4d 45 20 3d 20 30 78 30 30 30 30 34 30  _NAME = 0x000040
189d0 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0B }..enum : uin
189e0 74 20 7b 20 4d 43 49 5f 53 45 51 5f 53 54 41 54  t { MCI_SEQ_STAT
189f0 55 53 5f 43 4f 50 59 52 49 47 48 54 20 3d 20 30  US_COPYRIGHT = 0
18a00 78 30 30 30 30 34 30 30 43 20 7d 0d 0a 0d 0a 65  x0000400C }....e
18a10 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18a20 5f 53 45 51 5f 53 45 54 5f 54 45 4d 50 4f 20 3d  _SEQ_SET_TEMPO =
18a30 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65   0x00010000 }..e
18a40 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18a50 5f 53 45 51 5f 53 45 54 5f 50 4f 52 54 20 3d 20  _SEQ_SET_PORT = 
18a60 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
18a70 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
18a80 53 45 51 5f 53 45 54 5f 53 4c 41 56 45 20 3d 20  SEQ_SET_SLAVE = 
18a90 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e  0x00040000 }..en
18aa0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
18ab0 53 45 51 5f 53 45 54 5f 4d 41 53 54 45 52 20 3d  SEQ_SET_MASTER =
18ac0 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65   0x00080000 }..e
18ad0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18ae0 5f 53 45 51 5f 53 45 54 5f 4f 46 46 53 45 54 20  _SEQ_SET_OFFSET 
18af0 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a  = 0x01000000 }..
18b00 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
18b10 53 45 51 5f 53 45 54 5f 50 41 52 4d 53 20 7b 0d  SEQ_SET_PARMS {.
18b20 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
18b30 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52  allback;..  DWOR
18b40 44 20 64 77 54 69 6d 65 46 6f 72 6d 61 74 3b 0d  D dwTimeFormat;.
18b50 0a 20 20 44 57 4f 52 44 20 64 77 41 75 64 69 6f  .  DWORD dwAudio
18b60 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 65 6d  ;..  DWORD dwTem
18b70 70 6f 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50  po;..  DWORD dwP
18b80 6f 72 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ort;..  DWORD dw
18b90 53 6c 61 76 65 3b 0d 0a 20 20 44 57 4f 52 44 20  Slave;..  DWORD 
18ba0 64 77 4d 61 73 74 65 72 3b 0d 0a 20 20 44 57 4f  dwMaster;..  DWO
18bb0 52 44 20 64 77 4f 66 66 73 65 74 3b 0d 0a 7d 0d  RD dwOffset;..}.
18bc0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45  .alias tagMCI_SE
18bd0 51 5f 53 45 54 5f 50 41 52 4d 53 20 4d 43 49 5f  Q_SET_PARMS MCI_
18be0 53 45 51 5f 53 45 54 5f 50 41 52 4d 53 3b 0d 0a  SEQ_SET_PARMS;..
18bf0 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45 51  alias tagMCI_SEQ
18c00 5f 53 45 54 5f 50 41 52 4d 53 2a 20 50 4d 43 49  _SET_PARMS* PMCI
18c10 5f 53 45 51 5f 53 45 54 5f 50 41 52 4d 53 3b 0d  _SEQ_SET_PARMS;.
18c20 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45  .alias tagMCI_SE
18c30 51 5f 53 45 54 5f 50 41 52 4d 53 2a 20 4c 50 4d  Q_SET_PARMS* LPM
18c40 43 49 5f 53 45 51 5f 53 45 54 5f 50 41 52 4d 53  CI_SEQ_SET_PARMS
18c50 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
18c60 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e   { MCI_ANIM_OPEN
18c70 5f 57 53 20 3d 20 30 78 30 30 30 31 30 30 30 30  _WS = 0x00010000
18c80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18c90 7b 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f  { MCI_ANIM_OPEN_
18ca0 50 41 52 45 4e 54 20 3d 20 30 78 30 30 30 32 30  PARENT = 0x00020
18cb0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
18cc0 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50  nt { MCI_ANIM_OP
18cd0 45 4e 5f 4e 4f 53 54 41 54 49 43 20 3d 20 30 78  EN_NOSTATIC = 0x
18ce0 30 30 30 34 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00040000 }....en
18cf0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
18d00 41 4e 49 4d 5f 50 4c 41 59 5f 53 50 45 45 44 20  ANIM_PLAY_SPEED 
18d10 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
18d20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
18d30 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f 52 45 56 45  I_ANIM_PLAY_REVE
18d40 52 53 45 20 3d 20 30 78 30 30 30 32 30 30 30 30  RSE = 0x00020000
18d50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18d60 7b 20 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f  { MCI_ANIM_PLAY_
18d70 46 41 53 54 20 3d 20 30 78 30 30 30 34 30 30 30  FAST = 0x0004000
18d80 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
18d90 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59   { MCI_ANIM_PLAY
18da0 5f 53 4c 4f 57 20 3d 20 30 78 30 30 30 38 30 30  _SLOW = 0x000800
18db0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
18dc0 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41  t { MCI_ANIM_PLA
18dd0 59 5f 53 43 41 4e 20 3d 20 30 78 30 30 31 30 30  Y_SCAN = 0x00100
18de0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
18df0 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f  uint { MCI_ANIM_
18e00 53 54 45 50 5f 52 45 56 45 52 53 45 20 3d 20 30  STEP_REVERSE = 0
18e10 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
18e20 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41  m : uint { MCI_A
18e30 4e 49 4d 5f 53 54 45 50 5f 46 52 41 4d 45 53 20  NIM_STEP_FRAMES 
18e40 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
18e50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18e60 4d 43 49 5f 41 4e 49 4d 5f 53 54 41 54 55 53 5f  MCI_ANIM_STATUS_
18e70 53 50 45 45 44 20 3d 20 30 78 30 30 30 30 34 30  SPEED = 0x000040
18e80 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
18e90 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 53 54 41  t { MCI_ANIM_STA
18ea0 54 55 53 5f 46 4f 52 57 41 52 44 20 3d 20 30 78  TUS_FORWARD = 0x
18eb0 30 30 30 30 34 30 30 32 20 7d 0d 0a 65 6e 75 6d  00004002 }..enum
18ec0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e   : uint { MCI_AN
18ed0 49 4d 5f 53 54 41 54 55 53 5f 48 57 4e 44 20 3d  IM_STATUS_HWND =
18ee0 20 30 78 30 30 30 30 34 30 30 33 20 7d 0d 0a 65   0x00004003 }..e
18ef0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
18f00 5f 41 4e 49 4d 5f 53 54 41 54 55 53 5f 48 50 41  _ANIM_STATUS_HPA
18f10 4c 20 3d 20 30 78 30 30 30 30 34 30 30 34 20 7d  L = 0x00004004 }
18f20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18f30 4d 43 49 5f 41 4e 49 4d 5f 53 54 41 54 55 53 5f  MCI_ANIM_STATUS_
18f40 53 54 52 45 54 43 48 20 3d 20 30 78 30 30 30 30  STRETCH = 0x0000
18f50 34 30 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  4005 }....enum :
18f60 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d   uint { MCI_ANIM
18f70 5f 49 4e 46 4f 5f 54 45 58 54 20 3d 20 30 78 30  _INFO_TEXT = 0x0
18f80 30 30 31 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0010000 }....enu
18f90 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41  m : uint { MCI_A
18fa0 4e 49 4d 5f 47 45 54 44 45 56 43 41 50 53 5f 43  NIM_GETDEVCAPS_C
18fb0 41 4e 5f 52 45 56 45 52 53 45 20 3d 20 30 78 30  AN_REVERSE = 0x0
18fc0 30 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0004001 }..enum 
18fd0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49  : uint { MCI_ANI
18fe0 4d 5f 47 45 54 44 45 56 43 41 50 53 5f 46 41 53  M_GETDEVCAPS_FAS
18ff0 54 5f 52 41 54 45 20 3d 20 30 78 30 30 30 30 34  T_RATE = 0x00004
19000 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
19010 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 47 45  nt { MCI_ANIM_GE
19020 54 44 45 56 43 41 50 53 5f 53 4c 4f 57 5f 52 41  TDEVCAPS_SLOW_RA
19030 54 45 20 3d 20 30 78 30 30 30 30 34 30 30 33 20  TE = 0x00004003 
19040 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19050 20 4d 43 49 5f 41 4e 49 4d 5f 47 45 54 44 45 56   MCI_ANIM_GETDEV
19060 43 41 50 53 5f 4e 4f 52 4d 41 4c 5f 52 41 54 45  CAPS_NORMAL_RATE
19070 20 3d 20 30 78 30 30 30 30 34 30 30 34 20 7d 0d   = 0x00004004 }.
19080 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
19090 43 49 5f 41 4e 49 4d 5f 47 45 54 44 45 56 43 41  CI_ANIM_GETDEVCA
190a0 50 53 5f 50 41 4c 45 54 54 45 53 20 3d 20 30 78  PS_PALETTES = 0x
190b0 30 30 30 30 34 30 30 36 20 7d 0d 0a 65 6e 75 6d  00004006 }..enum
190c0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e   : uint { MCI_AN
190d0 49 4d 5f 47 45 54 44 45 56 43 41 50 53 5f 43 41  IM_GETDEVCAPS_CA
190e0 4e 5f 53 54 52 45 54 43 48 20 3d 20 30 78 30 30  N_STRETCH = 0x00
190f0 30 30 34 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a  004007 }..enum :
19100 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d   uint { MCI_ANIM
19110 5f 47 45 54 44 45 56 43 41 50 53 5f 4d 41 58 5f  _GETDEVCAPS_MAX_
19120 57 49 4e 44 4f 57 53 20 3d 20 30 78 30 30 30 30  WINDOWS = 0x0000
19130 34 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  4008 }....enum :
19140 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d   uint { MCI_ANIM
19150 5f 52 45 41 4c 49 5a 45 5f 4e 4f 52 4d 20 3d 20  _REALIZE_NORM = 
19160 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
19170 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
19180 41 4e 49 4d 5f 52 45 41 4c 49 5a 45 5f 42 4b 47  ANIM_REALIZE_BKG
19190 44 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  D = 0x00020000 }
191a0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
191b0 7b 20 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f  { MCI_ANIM_WINDO
191c0 57 5f 48 57 4e 44 20 3d 20 30 78 30 30 30 31 30  W_HWND = 0x00010
191d0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
191e0 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 57 49  nt { MCI_ANIM_WI
191f0 4e 44 4f 57 5f 53 54 41 54 45 20 3d 20 30 78 30  NDOW_STATE = 0x0
19200 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0040000 }..enum 
19210 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49  : uint { MCI_ANI
19220 4d 5f 57 49 4e 44 4f 57 5f 54 45 58 54 20 3d 20  M_WINDOW_TEXT = 
19230 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e  0x00080000 }..en
19240 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
19250 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 45 4e 41 42  ANIM_WINDOW_ENAB
19260 4c 45 5f 53 54 52 45 54 43 48 20 3d 20 30 78 30  LE_STRETCH = 0x0
19270 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0100000 }..enum 
19280 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49  : uint { MCI_ANI
19290 4d 5f 57 49 4e 44 4f 57 5f 44 49 53 41 42 4c 45  M_WINDOW_DISABLE
192a0 5f 53 54 52 45 54 43 48 20 3d 20 30 78 30 30 32  _STRETCH = 0x002
192b0 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00000 }....enum 
192c0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49  : uint { MCI_ANI
192d0 4d 5f 57 49 4e 44 4f 57 5f 44 45 46 41 55 4c 54  M_WINDOW_DEFAULT
192e0 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
192f0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
19300 20 4d 43 49 5f 41 4e 49 4d 5f 52 45 43 54 20 3d   MCI_ANIM_RECT =
19310 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65   0x00010000 }..e
19320 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
19330 5f 41 4e 49 4d 5f 50 55 54 5f 53 4f 55 52 43 45  _ANIM_PUT_SOURCE
19340 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d   = 0x00020000 }.
19350 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
19360 43 49 5f 41 4e 49 4d 5f 50 55 54 5f 44 45 53 54  CI_ANIM_PUT_DEST
19370 49 4e 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 34  INATION = 0x0004
19380 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
19390 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d   uint { MCI_ANIM
193a0 5f 57 48 45 52 45 5f 53 4f 55 52 43 45 20 3d 20  _WHERE_SOURCE = 
193b0 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..en
193c0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
193d0 41 4e 49 4d 5f 57 48 45 52 45 5f 44 45 53 54 49  ANIM_WHERE_DESTI
193e0 4e 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 30  NATION = 0x00040
193f0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
19400 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f  uint { MCI_ANIM_
19410 55 50 44 41 54 45 5f 48 44 43 20 3d 20 30 78 30  UPDATE_HDC = 0x0
19420 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20  0020000 }....// 
19430 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
19440 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 41  .struct tagMCI_A
19450 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 20  NIM_OPEN_PARMSA 
19460 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  {..  DWORD_PTR d
19470 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43  wCallback;..  MC
19480 49 44 45 56 49 43 45 49 44 20 77 44 65 76 69 63  IDEVICEID wDevic
19490 65 49 44 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c  eID;..  LPCSTR l
194a0 70 73 74 72 44 65 76 69 63 65 54 79 70 65 3b 0d  pstrDeviceType;.
194b0 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74 72 45  .  LPCSTR lpstrE
194c0 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20 20 4c  lementName;..  L
194d0 50 43 53 54 52 20 6c 70 73 74 72 41 6c 69 61 73  PCSTR lpstrAlias
194e0 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79  ;..  DWORD dwSty
194f0 6c 65 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  le;..  HWND hWnd
19500 50 61 72 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  Parent;..}..alia
19510 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 4f 50  s tagMCI_ANIM_OP
19520 45 4e 5f 50 41 52 4d 53 41 20 4d 43 49 5f 41 4e  EN_PARMSA MCI_AN
19530 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d  IM_OPEN_PARMSA;.
19540 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e  .alias tagMCI_AN
19550 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a 20  IM_OPEN_PARMSA* 
19560 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50  PMCI_ANIM_OPEN_P
19570 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSA;..alias ta
19580 67 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50  gMCI_ANIM_OPEN_P
19590 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 41 4e 49  ARMSA* LPMCI_ANI
195a0 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a  M_OPEN_PARMSA;..
195b0 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
195c0 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 57  ANIM_OPEN_PARMSW
195d0 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20   {..  DWORD_PTR 
195e0 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d  dwCallback;..  M
195f0 43 49 44 45 56 49 43 45 49 44 20 77 44 65 76 69  CIDEVICEID wDevi
19600 63 65 49 44 3b 0d 0a 20 20 4c 50 43 57 53 54 52  ceID;..  LPCWSTR
19610 20 6c 70 73 74 72 44 65 76 69 63 65 54 79 70 65   lpstrDeviceType
19620 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73  ;..  LPCWSTR lps
19630 74 72 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a  trElementName;..
19640 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72 41    LPCWSTR lpstrA
19650 6c 69 61 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64  lias;..  DWORD d
19660 77 53 74 79 6c 65 3b 0d 0a 20 20 48 57 4e 44 20  wStyle;..  HWND 
19670 68 57 6e 64 50 61 72 65 6e 74 3b 0d 0a 7d 0d 0a  hWndParent;..}..
19680 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49  alias tagMCI_ANI
19690 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4d 43  M_OPEN_PARMSW MC
196a0 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d  I_ANIM_OPEN_PARM
196b0 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  SW;..alias tagMC
196c0 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d  I_ANIM_OPEN_PARM
196d0 53 57 2a 20 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50  SW* PMCI_ANIM_OP
196e0 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61  EN_PARMSW;..alia
196f0 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 4f 50  s tagMCI_ANIM_OP
19700 45 4e 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49  EN_PARMSW* LPMCI
19710 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53  _ANIM_OPEN_PARMS
19720 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
19730 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 4d  UNICODE..alias M
19740 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52  CI_ANIM_OPEN_PAR
19750 4d 53 57 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45  MSW MCI_ANIM_OPE
19760 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  N_PARMS;..alias 
19770 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50  PMCI_ANIM_OPEN_P
19780 41 52 4d 53 57 20 50 4d 43 49 5f 41 4e 49 4d 5f  ARMSW PMCI_ANIM_
19790 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  OPEN_PARMS;..ali
197a0 61 73 20 4c 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50  as LPMCI_ANIM_OP
197b0 45 4e 5f 50 41 52 4d 53 57 20 4c 50 4d 43 49 5f  EN_PARMSW LPMCI_
197c0 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b  ANIM_OPEN_PARMS;
197d0 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
197e0 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
197f0 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23   UNICODE....// #
19800 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
19810 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63   #endif....struc
19820 74 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 50 4c  t tagMCI_ANIM_PL
19830 41 59 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57  AY_PARMS {..  DW
19840 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61  ORD_PTR dwCallba
19850 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46  ck;..  DWORD dwF
19860 72 6f 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  rom;..  DWORD dw
19870 54 6f 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  To;..  DWORD dwS
19880 70 65 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  peed;..}..alias 
19890 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59  tagMCI_ANIM_PLAY
198a0 5f 50 41 52 4d 53 20 4d 43 49 5f 41 4e 49 4d 5f  _PARMS MCI_ANIM_
198b0 50 4c 41 59 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  PLAY_PARMS;..ali
198c0 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 50  as tagMCI_ANIM_P
198d0 4c 41 59 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f  LAY_PARMS* PMCI_
198e0 41 4e 49 4d 5f 50 4c 41 59 5f 50 41 52 4d 53 3b  ANIM_PLAY_PARMS;
198f0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41  ..alias tagMCI_A
19900 4e 49 4d 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20  NIM_PLAY_PARMS* 
19910 4c 50 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f  LPMCI_ANIM_PLAY_
19920 50 41 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74  PARMS;....struct
19930 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 53 54 45   tagMCI_ANIM_STE
19940 50 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f  P_PARMS {..  DWO
19950 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
19960 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 72  k;..  DWORD dwFr
19970 61 6d 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ames;..}..alias 
19980 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 53 54 45 50  tagMCI_ANIM_STEP
19990 5f 50 41 52 4d 53 20 4d 43 49 5f 41 4e 49 4d 5f  _PARMS MCI_ANIM_
199a0 53 54 45 50 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  STEP_PARMS;..ali
199b0 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 53  as tagMCI_ANIM_S
199c0 54 45 50 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f  TEP_PARMS* PMCI_
199d0 41 4e 49 4d 5f 53 54 45 50 5f 50 41 52 4d 53 3b  ANIM_STEP_PARMS;
199e0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41  ..alias tagMCI_A
199f0 4e 49 4d 5f 53 54 45 50 5f 50 41 52 4d 53 2a 20  NIM_STEP_PARMS* 
19a00 4c 50 4d 43 49 5f 41 4e 49 4d 5f 53 54 45 50 5f  LPMCI_ANIM_STEP_
19a10 50 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  PARMS;....// #if
19a20 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74  def _WIN32....st
19a30 72 75 63 74 20 74 61 67 4d 43 49 5f 41 4e 49 4d  ruct tagMCI_ANIM
19a40 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41 20 7b  _WINDOW_PARMSA {
19a50 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
19a60 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 48 57 4e  Callback;..  HWN
19a70 44 20 68 57 6e 64 3b 0d 0a 20 20 55 49 4e 54 20  D hWnd;..  UINT 
19a80 6e 43 6d 64 53 68 6f 77 3b 0d 0a 20 20 4c 50 43  nCmdShow;..  LPC
19a90 53 54 52 20 6c 70 73 74 72 54 65 78 74 3b 0d 0a  STR lpstrText;..
19aa0 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
19ab0 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  ANIM_WINDOW_PARM
19ac0 53 41 20 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44  SA MCI_ANIM_WIND
19ad0 4f 57 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61  OW_PARMSA;..alia
19ae0 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 57 49  s tagMCI_ANIM_WI
19af0 4e 44 4f 57 5f 50 41 52 4d 53 41 2a 20 50 4d 43  NDOW_PARMSA* PMC
19b00 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41  I_ANIM_WINDOW_PA
19b10 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RMSA;..alias tag
19b20 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f  MCI_ANIM_WINDOW_
19b30 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 41 4e  PARMSA* LPMCI_AN
19b40 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41  IM_WINDOW_PARMSA
19b50 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
19b60 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50  CI_ANIM_WINDOW_P
19b70 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44  ARMSW {..  DWORD
19b80 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
19b90 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 3b 0d 0a  ..  HWND hWnd;..
19ba0 20 20 55 49 4e 54 20 6e 43 6d 64 53 68 6f 77 3b    UINT nCmdShow;
19bb0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74  ..  LPCWSTR lpst
19bc0 72 54 65 78 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  rText;..}..alias
19bd0 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e   tagMCI_ANIM_WIN
19be0 44 4f 57 5f 50 41 52 4d 53 57 20 4d 43 49 5f 41  DOW_PARMSW MCI_A
19bf0 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53  NIM_WINDOW_PARMS
19c00 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  W;..alias tagMCI
19c10 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52  _ANIM_WINDOW_PAR
19c20 4d 53 57 2a 20 50 4d 43 49 5f 41 4e 49 4d 5f 57  MSW* PMCI_ANIM_W
19c30 49 4e 44 4f 57 5f 50 41 52 4d 53 57 3b 0d 0a 61  INDOW_PARMSW;..a
19c40 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d  lias tagMCI_ANIM
19c50 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57 2a 20  _WINDOW_PARMSW* 
19c60 4c 50 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f  LPMCI_ANIM_WINDO
19c70 57 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20  W_PARMSW;....// 
19c80 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
19c90 61 6c 69 61 73 20 4d 43 49 5f 41 4e 49 4d 5f 57  alias MCI_ANIM_W
19ca0 49 4e 44 4f 57 5f 50 41 52 4d 53 57 20 4d 43 49  INDOW_PARMSW MCI
19cb0 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52  _ANIM_WINDOW_PAR
19cc0 4d 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 43 49 5f  MS;..alias PMCI_
19cd0 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  ANIM_WINDOW_PARM
19ce0 53 57 20 50 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e  SW PMCI_ANIM_WIN
19cf0 44 4f 57 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61  DOW_PARMS;..alia
19d00 73 20 4c 50 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e  s LPMCI_ANIM_WIN
19d10 44 4f 57 5f 50 41 52 4d 53 57 20 4c 50 4d 43 49  DOW_PARMSW LPMCI
19d20 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52  _ANIM_WINDOW_PAR
19d30 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  MS;..// #else../
19d40 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
19d50 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f   // UNICODE..../
19d60 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
19d70 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
19d80 72 75 63 74 20 74 61 67 4d 43 49 5f 41 4e 49 4d  ruct tagMCI_ANIM
19d90 5f 52 45 43 54 5f 50 41 52 4d 53 20 7b 0d 0a 20  _RECT_PARMS {.. 
19da0 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
19db0 6c 62 61 63 6b 3b 0d 0a 2f 2f 20 23 69 66 64 65  lback;..// #ifde
19dc0 66 20 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58 54  f MCI_USE_OFFEXT
19dd0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
19de0 73 65 20 20 20 2f 2a 20 69 66 64 65 66 20 4d 43  se   /* ifdef MC
19df0 49 5f 55 53 45 5f 4f 46 46 45 58 54 20 2a 2f 0d  I_USE_OFFEXT */.
19e00 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a 2f 2f 20  .  RECT rc;..// 
19e10 23 65 6e 64 69 66 20 20 2f 2a 20 69 66 64 65 66  #endif  /* ifdef
19e20 20 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58 54 20   MCI_USE_OFFEXT 
19e30 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  */..}..alias tag
19e40 4d 43 49 5f 41 4e 49 4d 5f 52 45 43 54 5f 50 41  MCI_ANIM_RECT_PA
19e50 52 4d 53 20 4d 43 49 5f 41 4e 49 4d 5f 52 45 43  RMS MCI_ANIM_REC
19e60 54 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 61 6c 69 61  T_PARMS;....alia
19e70 73 20 4d 43 49 5f 41 4e 49 4d 5f 52 45 43 54 5f  s MCI_ANIM_RECT_
19e80 50 41 52 4d 53 2a 20 50 4d 43 49 5f 41 4e 49 4d  PARMS* PMCI_ANIM
19e90 5f 52 45 43 54 5f 50 41 52 4d 53 3b 0d 0a 61 6c  _RECT_PARMS;..al
19ea0 69 61 73 20 4d 43 49 5f 41 4e 49 4d 5f 52 45 43  ias MCI_ANIM_REC
19eb0 54 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 41  T_PARMS* LPMCI_A
19ec0 4e 49 4d 5f 52 45 43 54 5f 50 41 52 4d 53 3b 0d  NIM_RECT_PARMS;.
19ed0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49  ...struct tagMCI
19ee0 5f 41 4e 49 4d 5f 55 50 44 41 54 45 5f 50 41 52  _ANIM_UPDATE_PAR
19ef0 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  MS {..  DWORD_PT
19f00 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  R dwCallback;.. 
19f10 20 52 45 43 54 20 72 63 3b 0d 0a 20 20 48 44 43   RECT rc;..  HDC
19f20 20 68 44 43 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20   hDC;..}..alias 
19f30 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 55 50 44 41  tagMCI_ANIM_UPDA
19f40 54 45 5f 50 41 52 4d 53 20 4d 43 49 5f 41 4e 49  TE_PARMS MCI_ANI
19f50 4d 5f 55 50 44 41 54 45 5f 50 41 52 4d 53 3b 0d  M_UPDATE_PARMS;.
19f60 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e  .alias tagMCI_AN
19f70 49 4d 5f 55 50 44 41 54 45 5f 50 41 52 4d 53 2a  IM_UPDATE_PARMS*
19f80 20 50 4d 43 49 5f 41 4e 49 4d 5f 55 50 44 41 54   PMCI_ANIM_UPDAT
19f90 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  E_PARMS;..alias 
19fa0 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 55 50 44 41  tagMCI_ANIM_UPDA
19fb0 54 45 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f  TE_PARMS* LPMCI_
19fc0 41 4e 49 4d 5f 55 50 44 41 54 45 5f 50 41 52 4d  ANIM_UPDATE_PARM
19fd0 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  S;....enum : uin
19fe0 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45  t { MCI_OVLY_OPE
19ff0 4e 5f 57 53 20 3d 20 30 78 30 30 30 31 30 30 30  N_WS = 0x0001000
1a000 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1a010 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e   { MCI_OVLY_OPEN
1a020 5f 50 41 52 45 4e 54 20 3d 20 30 78 30 30 30 32  _PARENT = 0x0002
1a030 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
1a040 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59   uint { MCI_OVLY
1a050 5f 53 54 41 54 55 53 5f 48 57 4e 44 20 3d 20 30  _STATUS_HWND = 0
1a060 78 30 30 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75  x00004001 }..enu
1a070 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f  m : uint { MCI_O
1a080 56 4c 59 5f 53 54 41 54 55 53 5f 53 54 52 45 54  VLY_STATUS_STRET
1a090 43 48 20 3d 20 30 78 30 30 30 30 34 30 30 32 20  CH = 0x00004002 
1a0a0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1a0b0 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 49 4e 46 4f   { MCI_OVLY_INFO
1a0c0 5f 54 45 58 54 20 3d 20 30 78 30 30 30 31 30 30  _TEXT = 0x000100
1a0d0 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
1a0e0 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 47  int { MCI_OVLY_G
1a0f0 45 54 44 45 56 43 41 50 53 5f 43 41 4e 5f 53 54  ETDEVCAPS_CAN_ST
1a100 52 45 54 43 48 20 3d 20 30 78 30 30 30 30 34 30  RETCH = 0x000040
1a110 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
1a120 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 47 45 54  t { MCI_OVLY_GET
1a130 44 45 56 43 41 50 53 5f 43 41 4e 5f 46 52 45 45  DEVCAPS_CAN_FREE
1a140 5a 45 20 3d 20 30 78 30 30 30 30 34 30 30 32 20  ZE = 0x00004002 
1a150 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1a160 20 4d 43 49 5f 4f 56 4c 59 5f 47 45 54 44 45 56   MCI_OVLY_GETDEV
1a170 43 41 50 53 5f 4d 41 58 5f 57 49 4e 44 4f 57 53  CAPS_MAX_WINDOWS
1a180 20 3d 20 30 78 30 30 30 30 34 30 30 33 20 7d 0d   = 0x00004003 }.
1a190 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1a1a0 20 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57   MCI_OVLY_WINDOW
1a1b0 5f 48 57 4e 44 20 3d 20 30 78 30 30 30 31 30 30  _HWND = 0x000100
1a1c0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1a1d0 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e  t { MCI_OVLY_WIN
1a1e0 44 4f 57 5f 53 54 41 54 45 20 3d 20 30 78 30 30  DOW_STATE = 0x00
1a1f0 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  040000 }..enum :
1a200 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59   uint { MCI_OVLY
1a210 5f 57 49 4e 44 4f 57 5f 54 45 58 54 20 3d 20 30  _WINDOW_TEXT = 0
1a220 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75  x00080000 }..enu
1a230 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f  m : uint { MCI_O
1a240 56 4c 59 5f 57 49 4e 44 4f 57 5f 45 4e 41 42 4c  VLY_WINDOW_ENABL
1a250 45 5f 53 54 52 45 54 43 48 20 3d 20 30 78 30 30  E_STRETCH = 0x00
1a260 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  100000 }..enum :
1a270 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59   uint { MCI_OVLY
1a280 5f 57 49 4e 44 4f 57 5f 44 49 53 41 42 4c 45 5f  _WINDOW_DISABLE_
1a290 53 54 52 45 54 43 48 20 3d 20 30 78 30 30 32 30  STRETCH = 0x0020
1a2a0 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
1a2b0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59   uint { MCI_OVLY
1a2c0 5f 57 49 4e 44 4f 57 5f 44 45 46 41 55 4c 54 20  _WINDOW_DEFAULT 
1a2d0 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
1a2e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a2f0 4d 43 49 5f 4f 56 4c 59 5f 52 45 43 54 20 3d 20  MCI_OVLY_RECT = 
1a300 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
1a310 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
1a320 4f 56 4c 59 5f 50 55 54 5f 53 4f 55 52 43 45 20  OVLY_PUT_SOURCE 
1a330 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
1a340 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
1a350 49 5f 4f 56 4c 59 5f 50 55 54 5f 44 45 53 54 49  I_OVLY_PUT_DESTI
1a360 4e 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 30  NATION = 0x00040
1a370 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1a380 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 50 55  nt { MCI_OVLY_PU
1a390 54 5f 46 52 41 4d 45 20 3d 20 30 78 30 30 30 38  T_FRAME = 0x0008
1a3a0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1a3b0 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 50  int { MCI_OVLY_P
1a3c0 55 54 5f 56 49 44 45 4f 20 3d 20 30 78 30 30 31  UT_VIDEO = 0x001
1a3d0 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00000 }....enum 
1a3e0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c  : uint { MCI_OVL
1a3f0 59 5f 57 48 45 52 45 5f 53 4f 55 52 43 45 20 3d  Y_WHERE_SOURCE =
1a400 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..e
1a410 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
1a420 5f 4f 56 4c 59 5f 57 48 45 52 45 5f 44 45 53 54  _OVLY_WHERE_DEST
1a430 49 4e 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 34  INATION = 0x0004
1a440 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1a450 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57  int { MCI_OVLY_W
1a460 48 45 52 45 5f 46 52 41 4d 45 20 3d 20 30 78 30  HERE_FRAME = 0x0
1a470 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0080000 }..enum 
1a480 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c  : uint { MCI_OVL
1a490 59 5f 57 48 45 52 45 5f 56 49 44 45 4f 20 3d 20  Y_WHERE_VIDEO = 
1a4a0 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00100000 }....
1a4b0 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
1a4c0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43  ....struct tagMC
1a4d0 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d  I_OVLY_OPEN_PARM
1a4e0 53 41 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  SA {..  DWORD_PT
1a4f0 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  R dwCallback;.. 
1a500 20 4d 43 49 44 45 56 49 43 45 49 44 20 77 44 65   MCIDEVICEID wDe
1a510 76 69 63 65 49 44 3b 0d 0a 20 20 4c 50 43 53 54  viceID;..  LPCST
1a520 52 20 6c 70 73 74 72 44 65 76 69 63 65 54 79 70  R lpstrDeviceTyp
1a530 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73  e;..  LPCSTR lps
1a540 74 72 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a  trElementName;..
1a550 20 20 4c 50 43 53 54 52 20 6c 70 73 74 72 41 6c    LPCSTR lpstrAl
1a560 69 61 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ias;..  DWORD dw
1a570 53 74 79 6c 65 3b 0d 0a 20 20 48 57 4e 44 20 68  Style;..  HWND h
1a580 57 6e 64 50 61 72 65 6e 74 3b 0d 0a 7d 0d 0a 61  WndParent;..}..a
1a590 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59  lias tagMCI_OVLY
1a5a0 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 20 4d 43 49  _OPEN_PARMSA MCI
1a5b0 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53  _OVLY_OPEN_PARMS
1a5c0 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  A;..alias tagMCI
1a5d0 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53  _OVLY_OPEN_PARMS
1a5e0 41 2a 20 50 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45  A* PMCI_OVLY_OPE
1a5f0 4e 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73  N_PARMSA;..alias
1a600 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45   tagMCI_OVLY_OPE
1a610 4e 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f  N_PARMSA* LPMCI_
1a620 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 41  OVLY_OPEN_PARMSA
1a630 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
1a640 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52  CI_OVLY_OPEN_PAR
1a650 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50  MSW {..  DWORD_P
1a660 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a  TR dwCallback;..
1a670 20 20 4d 43 49 44 45 56 49 43 45 49 44 20 77 44    MCIDEVICEID wD
1a680 65 76 69 63 65 49 44 3b 0d 0a 20 20 4c 50 43 57  eviceID;..  LPCW
1a690 53 54 52 20 6c 70 73 74 72 44 65 76 69 63 65 54  STR lpstrDeviceT
1a6a0 79 70 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  ype;..  LPCWSTR 
1a6b0 6c 70 73 74 72 45 6c 65 6d 65 6e 74 4e 61 6d 65  lpstrElementName
1a6c0 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73  ;..  LPCWSTR lps
1a6d0 74 72 41 6c 69 61 73 3b 0d 0a 20 20 44 57 4f 52  trAlias;..  DWOR
1a6e0 44 20 64 77 53 74 79 6c 65 3b 0d 0a 20 20 48 57  D dwStyle;..  HW
1a6f0 4e 44 20 68 57 6e 64 50 61 72 65 6e 74 3b 0d 0a  ND hWndParent;..
1a700 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
1a710 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 57  OVLY_OPEN_PARMSW
1a720 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50   MCI_OVLY_OPEN_P
1a730 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSW;..alias ta
1a740 67 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50  gMCI_OVLY_OPEN_P
1a750 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4f 56 4c 59  ARMSW* PMCI_OVLY
1a760 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 61  _OPEN_PARMSW;..a
1a770 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59  lias tagMCI_OVLY
1a780 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 2a 20 4c 50  _OPEN_PARMSW* LP
1a790 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41  MCI_OVLY_OPEN_PA
1a7a0 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  RMSW;....// #ifd
1a7b0 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
1a7c0 73 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f  s MCI_OVLY_OPEN_
1a7d0 50 41 52 4d 53 57 20 4d 43 49 5f 4f 56 4c 59 5f  PARMSW MCI_OVLY_
1a7e0 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  OPEN_PARMS;..ali
1a7f0 61 73 20 50 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45  as PMCI_OVLY_OPE
1a800 4e 5f 50 41 52 4d 53 57 20 50 4d 43 49 5f 4f 56  N_PARMSW PMCI_OV
1a810 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a  LY_OPEN_PARMS;..
1a820 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4f 56 4c 59  alias LPMCI_OVLY
1a830 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4c 50 4d  _OPEN_PARMSW LPM
1a840 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52  CI_OVLY_OPEN_PAR
1a850 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  MS;..// #else../
1a860 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
1a870 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f   // UNICODE..../
1a880 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
1a890 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
1a8a0 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
1a8b0 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
1a8c0 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  OVLY_WINDOW_PARM
1a8d0 53 41 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  SA {..  DWORD_PT
1a8e0 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  R dwCallback;.. 
1a8f0 20 48 57 4e 44 20 68 57 6e 64 3b 0d 0a 20 20 55   HWND hWnd;..  U
1a900 49 4e 54 20 6e 43 6d 64 53 68 6f 77 3b 0d 0a 20  INT nCmdShow;.. 
1a910 20 4c 50 43 53 54 52 20 6c 70 73 74 72 54 65 78   LPCSTR lpstrTex
1a920 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  t;..}..alias tag
1a930 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f  MCI_OVLY_WINDOW_
1a940 50 41 52 4d 53 41 20 4d 43 49 5f 4f 56 4c 59 5f  PARMSA MCI_OVLY_
1a950 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41 3b 0d 0a  WINDOW_PARMSA;..
1a960 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c  alias tagMCI_OVL
1a970 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41 2a  Y_WINDOW_PARMSA*
1a980 20 50 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f   PMCI_OVLY_WINDO
1a990 57 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73  W_PARMSA;..alias
1a9a0 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e   tagMCI_OVLY_WIN
1a9b0 44 4f 57 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43  DOW_PARMSA* LPMC
1a9c0 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50 41  I_OVLY_WINDOW_PA
1a9d0 52 4d 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  RMSA;....struct 
1a9e0 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44  tagMCI_OVLY_WIND
1a9f0 4f 57 5f 50 41 52 4d 53 57 20 7b 0d 0a 20 20 44  OW_PARMSW {..  D
1aa00 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62  WORD_PTR dwCallb
1aa10 61 63 6b 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ack;..  HWND hWn
1aa20 64 3b 0d 0a 20 20 55 49 4e 54 20 6e 43 6d 64 53  d;..  UINT nCmdS
1aa30 68 6f 77 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20  how;..  LPCWSTR 
1aa40 6c 70 73 74 72 54 65 78 74 3b 0d 0a 7d 0d 0a 61  lpstrText;..}..a
1aa50 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59  lias tagMCI_OVLY
1aa60 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57 20 4d  _WINDOW_PARMSW M
1aa70 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50  CI_OVLY_WINDOW_P
1aa80 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSW;..alias ta
1aa90 67 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57  gMCI_OVLY_WINDOW
1aaa0 5f 50 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4f 56  _PARMSW* PMCI_OV
1aab0 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57  LY_WINDOW_PARMSW
1aac0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
1aad0 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  OVLY_WINDOW_PARM
1aae0 53 57 2a 20 4c 50 4d 43 49 5f 4f 56 4c 59 5f 57  SW* LPMCI_OVLY_W
1aaf0 49 4e 44 4f 57 5f 50 41 52 4d 53 57 3b 0d 0a 0d  INDOW_PARMSW;...
1ab00 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
1ab10 44 45 0d 0a 61 6c 69 61 73 20 4d 43 49 5f 4f 56  DE..alias MCI_OV
1ab20 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57  LY_WINDOW_PARMSW
1ab30 20 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57   MCI_OVLY_WINDOW
1ab40 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 50  _PARMS;..alias P
1ab50 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f  MCI_OVLY_WINDOW_
1ab60 50 41 52 4d 53 57 20 50 4d 43 49 5f 4f 56 4c 59  PARMSW PMCI_OVLY
1ab70 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 3b 0d 0a  _WINDOW_PARMS;..
1ab80 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4f 56 4c 59  alias LPMCI_OVLY
1ab90 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57 20 4c  _WINDOW_PARMSW L
1aba0 50 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57  PMCI_OVLY_WINDOW
1abb0 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73  _PARMS;..// #els
1abc0 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
1abd0 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
1abe0 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
1abf0 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  ...// #endif....
1ac00 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 4f 56  struct tagMCI_OV
1ac10 4c 59 5f 52 45 43 54 5f 50 41 52 4d 53 20 7b 0d  LY_RECT_PARMS {.
1ac20 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
1ac30 61 6c 6c 62 61 63 6b 3b 0d 0a 2f 2f 20 23 69 66  allback;..// #if
1ac40 64 65 66 20 4d 43 49 5f 55 53 45 5f 4f 46 46 45  def MCI_USE_OFFE
1ac50 58 54 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  XT..// .....// #
1ac60 65 6c 73 65 20 20 20 2f 2a 20 69 66 64 65 66 20  else   /* ifdef 
1ac70 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58 54 20 2a  MCI_USE_OFFEXT *
1ac80 2f 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a 2f  /..  RECT rc;../
1ac90 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69 66 64  / #endif  /* ifd
1aca0 65 66 20 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58  ef MCI_USE_OFFEX
1acb0 54 20 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  T */..}..alias t
1acc0 61 67 4d 43 49 5f 4f 56 4c 59 5f 52 45 43 54 5f  agMCI_OVLY_RECT_
1acd0 50 41 52 4d 53 20 4d 43 49 5f 4f 56 4c 59 5f 52  PARMS MCI_OVLY_R
1ace0 45 43 54 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61  ECT_PARMS;..alia
1acf0 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 52 45  s tagMCI_OVLY_RE
1ad00 43 54 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f 4f  CT_PARMS* PMCI_O
1ad10 56 4c 59 5f 52 45 43 54 5f 50 41 52 4d 53 3b 0d  VLY_RECT_PARMS;.
1ad20 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56  .alias tagMCI_OV
1ad30 4c 59 5f 52 45 43 54 5f 50 41 52 4d 53 2a 20 4c  LY_RECT_PARMS* L
1ad40 50 4d 43 49 5f 4f 56 4c 59 5f 52 45 43 54 5f 50  PMCI_OVLY_RECT_P
1ad50 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  ARMS;....// #ifd
1ad60 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72  ef _WIN32....str
1ad70 75 63 74 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f  uct tagMCI_OVLY_
1ad80 53 41 56 45 5f 50 41 52 4d 53 41 20 7b 0d 0a 20  SAVE_PARMSA {.. 
1ad90 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
1ada0 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43 53 54 52  lback;..  LPCSTR
1adb0 20 6c 70 66 69 6c 65 6e 61 6d 65 3b 0d 0a 20 20   lpfilename;..  
1adc0 52 45 43 54 20 72 63 3b 0d 0a 7d 0d 0a 61 6c 69  RECT rc;..}..ali
1add0 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 53  as tagMCI_OVLY_S
1ade0 41 56 45 5f 50 41 52 4d 53 41 20 4d 43 49 5f 4f  AVE_PARMSA MCI_O
1adf0 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 41 3b  VLY_SAVE_PARMSA;
1ae00 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f  ..alias tagMCI_O
1ae10 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 41 2a  VLY_SAVE_PARMSA*
1ae20 20 50 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f   PMCI_OVLY_SAVE_
1ae30 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74  PARMSA;..alias t
1ae40 61 67 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f  agMCI_OVLY_SAVE_
1ae50 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 4f 56  PARMSA* LPMCI_OV
1ae60 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 41 3b 0d  LY_SAVE_PARMSA;.
1ae70 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49  ...struct tagMCI
1ae80 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53  _OVLY_SAVE_PARMS
1ae90 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52  W {..  DWORD_PTR
1aea0 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20   dwCallback;..  
1aeb0 4c 50 43 57 53 54 52 20 6c 70 66 69 6c 65 6e 61  LPCWSTR lpfilena
1aec0 6d 65 3b 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d  me;..  RECT rc;.
1aed0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  .}..alias tagMCI
1aee0 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53  _OVLY_SAVE_PARMS
1aef0 57 20 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f  W MCI_OVLY_SAVE_
1af00 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74  PARMSW;..alias t
1af10 61 67 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f  agMCI_OVLY_SAVE_
1af20 50 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4f 56 4c  PARMSW* PMCI_OVL
1af30 59 5f 53 41 56 45 5f 50 41 52 4d 53 57 3b 0d 0a  Y_SAVE_PARMSW;..
1af40 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c  alias tagMCI_OVL
1af50 59 5f 53 41 56 45 5f 50 41 52 4d 53 57 2a 20 4c  Y_SAVE_PARMSW* L
1af60 50 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50  PMCI_OVLY_SAVE_P
1af70 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  ARMSW;....// #if
1af80 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
1af90 61 73 20 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45  as MCI_OVLY_SAVE
1afa0 5f 50 41 52 4d 53 57 20 4d 43 49 5f 4f 56 4c 59  _PARMSW MCI_OVLY
1afb0 5f 53 41 56 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c  _SAVE_PARMS;..al
1afc0 69 61 73 20 50 4d 43 49 5f 4f 56 4c 59 5f 53 41  ias PMCI_OVLY_SA
1afd0 56 45 5f 50 41 52 4d 53 57 20 50 4d 43 49 5f 4f  VE_PARMSW PMCI_O
1afe0 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 3b 0d  VLY_SAVE_PARMS;.
1aff0 0a 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4f 56 4c  .alias LPMCI_OVL
1b000 59 5f 53 41 56 45 5f 50 41 52 4d 53 57 20 4c 50  Y_SAVE_PARMSW LP
1b010 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41  MCI_OVLY_SAVE_PA
1b020 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  RMS;..// #else..
1b030 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
1b040 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  f // UNICODE..//
1b050 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
1b060 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
1b070 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
1b080 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 4f  .struct tagMCI_O
1b090 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 20  VLY_LOAD_PARMSA 
1b0a0 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  {..  DWORD_PTR d
1b0b0 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50  wCallback;..  LP
1b0c0 43 53 54 52 20 6c 70 66 69 6c 65 6e 61 6d 65 3b  CSTR lpfilename;
1b0d0 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a 7d 0d  ..  RECT rc;..}.
1b0e0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56  .alias tagMCI_OV
1b0f0 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 20 4d  LY_LOAD_PARMSA M
1b100 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52  CI_OVLY_LOAD_PAR
1b110 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSA;..alias tagM
1b120 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52  CI_OVLY_LOAD_PAR
1b130 4d 53 41 2a 20 50 4d 43 49 5f 4f 56 4c 59 5f 4c  MSA* PMCI_OVLY_L
1b140 4f 41 44 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69  OAD_PARMSA;..ali
1b150 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4c  as tagMCI_OVLY_L
1b160 4f 41 44 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43  OAD_PARMSA* LPMC
1b170 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d  I_OVLY_LOAD_PARM
1b180 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  SA;....struct ta
1b190 67 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50  gMCI_OVLY_LOAD_P
1b1a0 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44  ARMSW {..  DWORD
1b1b0 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
1b1c0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 66 69  ..  LPCWSTR lpfi
1b1d0 6c 65 6e 61 6d 65 3b 0d 0a 20 20 52 45 43 54 20  lename;..  RECT 
1b1e0 72 63 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  rc;..}..alias ta
1b1f0 67 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50  gMCI_OVLY_LOAD_P
1b200 41 52 4d 53 57 20 4d 43 49 5f 4f 56 4c 59 5f 4c  ARMSW MCI_OVLY_L
1b210 4f 41 44 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69  OAD_PARMSW;..ali
1b220 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4c  as tagMCI_OVLY_L
1b230 4f 41 44 5f 50 41 52 4d 53 57 2a 20 50 4d 43 49  OAD_PARMSW* PMCI
1b240 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53  _OVLY_LOAD_PARMS
1b250 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  W;..alias tagMCI
1b260 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53  _OVLY_LOAD_PARMS
1b270 57 2a 20 4c 50 4d 43 49 5f 4f 56 4c 59 5f 4c 4f  W* LPMCI_OVLY_LO
1b280 41 44 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f  AD_PARMSW;....//
1b290 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
1b2a0 0a 61 6c 69 61 73 20 4d 43 49 5f 4f 56 4c 59 5f  .alias MCI_OVLY_
1b2b0 4c 4f 41 44 5f 50 41 52 4d 53 57 20 4d 43 49 5f  LOAD_PARMSW MCI_
1b2c0 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 3b  OVLY_LOAD_PARMS;
1b2d0 0d 0a 61 6c 69 61 73 20 50 4d 43 49 5f 4f 56 4c  ..alias PMCI_OVL
1b2e0 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 20 50 4d  Y_LOAD_PARMSW PM
1b2f0 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52  CI_OVLY_LOAD_PAR
1b300 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 43 49  MS;..alias LPMCI
1b310 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53  _OVLY_LOAD_PARMS
1b320 57 20 4c 50 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41  W LPMCI_OVLY_LOA
1b330 44 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6c  D_PARMS;..// #el
1b340 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
1b350 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
1b360 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
1b370 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
1b380 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69  .// #endif  /* i
1b390 66 6e 64 65 66 20 4d 4d 4e 4f 4d 43 49 20 2a 2f  fndef MMNOMCI */
1b3a0 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e  ....// #ifndef N
1b3b0 45 57 54 52 41 4e 53 50 41 52 45 4e 54 0d 0a 65  EWTRANSPARENT..e
1b3c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 45 57  num : uint { NEW
1b3d0 54 52 41 4e 53 50 41 52 45 4e 54 20 3d 20 33 20  TRANSPARENT = 3 
1b3e0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1b3f0 20 7b 20 51 55 45 52 59 52 4f 50 53 55 50 50 4f   { QUERYROPSUPPO
1b400 52 54 20 3d 20 34 30 20 7d 0d 0a 2f 2f 20 23 65  RT = 40 }..// #e
1b410 6e 64 69 66 20 20 2f 2a 20 69 66 6e 64 65 66 20  ndif  /* ifndef 
1b420 4e 45 57 54 52 41 4e 53 50 41 52 45 4e 54 20 2a  NEWTRANSPARENT *
1b430 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  /....enum : uint
1b440 20 7b 20 53 45 4c 45 43 54 44 49 42 20 3d 20 34   { SELECTDIB = 4
1b450 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  1 }..// #define 
1b460 44 49 42 49 4e 44 45 58 28 6e 29 20 4d 41 4b 45  DIBINDEX(n) MAKE
1b470 4c 4f 4e 47 28 28 6e 29 2c 30 78 31 30 46 46 29  LONG((n),0x10FF)
1b480 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 53  ....// #ifndef S
1b490 43 5f 53 43 52 45 45 4e 53 41 56 45 0d 0a 0d 0a  C_SCREENSAVE....
1b4a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43  enum : uint { SC
1b4b0 5f 53 43 52 45 45 4e 53 41 56 45 20 3d 20 30 78  _SCREENSAVE = 0x
1b4c0 46 31 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e  F140 }....// #en
1b4d0 64 69 66 20 20 2f 2a 20 69 66 6e 64 65 66 20 53  dif  /* ifndef S
1b4e0 43 5f 53 43 52 45 45 4e 53 41 56 45 20 2a 2f 0d  C_SCREENSAVE */.
1b4f0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63  ...// #ifdef __c
1b500 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a  plusplus..// }..
1b510 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 5f 5f  // #endif  /* __
1b520 63 70 6c 75 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a  cplusplus */....
1b530 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
1b540 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f 2f 20 23 65 6c  ..align:..// #el
1b550 73 65 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 52  se..// #ifndef R
1b560 43 5f 49 4e 56 4f 4b 45 44 0d 0a 2f 2f 20 23 2e  C_INVOKED..// #.
1b570 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
1b580 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
1b590 65 6e 64 69 66 20 20 2f 2a 20 5f 49 4e 43 5f 4d  endif  /* _INC_M
1b5a0 4d 53 59 53 54 45 4d 20 2a 2f 0d 0a 0d 0a        MSYSTEM */....