Hex Artifact Content

Not logged in

Artifact 7155f134df58e8aabd928d85640ca01148ebe9d2:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 6d 6d 73 79 73 74 65 6d 3b 0d 0a 0d 0a 2f  i.mmsystem;..../
0020: 2f 20 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f  / Translated fro
0030: 6d 20 4d 69 63 72 6f 73 6f 66 74 20 50 6c 61 74  m Microsoft Plat
0040: 66 6f 72 6d 20 53 44 4b 20 41 75 67 75 73 74 20  form SDK August 
0050: 32 30 30 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f  2001 Edition..//
0060: 20 62 79 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65   by Y.Tomino (de
0070: 6d 6f 6f 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a  moonlit@inter7.j
0080: 70 29 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e  p)....import win
0090: 33 32 2e 61 6e 73 69 2e 77 69 6e 62 61 73 65 3b  32.ansi.winbase;
00a0: 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f  ....// #ifndef _
00b0: 49 4e 43 5f 4d 4d 53 59 53 54 45 4d 0d 0a 2f 2f  INC_MMSYSTEM..//
00c0: 20 23 64 65 66 69 6e 65 20 5f 49 4e 43 5f 4d 4d   #define _INC_MM
00d0: 53 59 53 54 45 4d 0d 0a 0d 0a 2f 2f 20 23 69 66  SYSTEM....// #if
00e0: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 61 6c 69 67  def _WIN32..alig
00f0: 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  n(1):..// #else.
0100: 0a 2f 2f 20 23 69 66 6e 64 65 66 20 52 43 5f 49  .// #ifndef RC_I
0110: 4e 56 4f 4b 45 44 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NVOKED..// #....
0120: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
0130: 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64  endif....// #ifd
0140: 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a  ef __cplusplus..
0150: 2f 2f 20 65 78 74 65 72 6e 20 22 43 22 20 7b 20  // extern "C" { 
0160: 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 41 73             /* As
0170: 73 75 6d 65 20 43 20 64 65 63 6c 61 72 61 74 69  sume C declarati
0180: 6f 6e 73 20 66 6f 72 20 43 2b 2b 20 2a 2f 0d 0a  ons for C++ */..
0190: 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 5f 5f  // #endif  /* __
01a0: 63 70 6c 75 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a  cplusplus */....
01b0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
01c0: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49  ..// #ifndef _WI
01d0: 4e 4d 4d 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65  NMM_..// #define
01e0: 20 57 49 4e 4d 4d 41 50 49 20 44 45 43 4c 53 50   WINMMAPI DECLSP
01f0: 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f 2f 20 23 65  EC_IMPORT..// #e
0200: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
0210: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 64 65 66   #endif..// #def
0220: 69 6e 65 20 5f 6c 6f 61 64 64 73 0d 0a 2f 2f 20  ine _loadds..// 
0230: 23 64 65 66 69 6e 65 20 5f 68 75 67 65 0d 0a 2f  #define _huge../
0240: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
0250: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
0260: 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 0d 0a 2f  / #ifdef _MAC../
0270: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
0280: 66 20 2f 2f 5f 4d 41 43 0d 0a 0d 0a 65 6e 75 6d  f //_MAC....enum
0290: 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58 50 4e 41   : uint { MAXPNA
02a0: 4d 45 4c 45 4e 20 3d 20 33 32 20 7d 0d 0a 65 6e  MELEN = 32 }..en
02b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58 45  um : uint { MAXE
02c0: 52 52 4f 52 4c 45 4e 47 54 48 20 3d 20 32 35 36  RRORLENGTH = 256
02d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
02e0: 7b 20 4d 41 58 5f 4a 4f 59 53 54 49 43 4b 4f 45  { MAX_JOYSTICKOE
02f0: 4d 56 58 44 4e 41 4d 45 20 3d 20 32 36 30 20 7d  MVXDNAME = 260 }
0300: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56  ....// #if (WINV
0310: 45 52 20 3c 3d 20 30 78 30 34 30 30 29 0d 0a 2f  ER <= 0x0400)../
0320: 2f 20 23 69 66 6e 64 65 66 20 4d 4d 5f 4d 49 43  / #ifndef MM_MIC
0330: 52 4f 53 4f 46 54 0d 0a 2f 2f 20 23 2e 2e 2e 0d  ROSOFT..// #....
0340: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
0350: 20 23 69 66 6e 64 65 66 20 4d 4d 5f 4d 49 44 49   #ifndef MM_MIDI
0360: 5f 4d 41 50 50 45 52 0d 0a 2f 2f 20 23 2e 2e 2e  _MAPPER..// #...
0370: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e  ..// #.....// #.
0380: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  ....// #.....// 
0390: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  #.....// #...../
03a0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
03b0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
03c0: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
03d0: 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e 64 69 66  endif..// #endif
03e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
03f0: 49 4e 33 32 0d 0a 61 6c 69 61 73 20 55 49 4e 54  IN32..alias UINT
0400: 20 4d 4d 56 45 52 53 49 4f 4e 3b 0d 0a 2f 2f 20   MMVERSION;..// 
0410: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
0420: 2f 20 23 65 6e 64 69 66 0d 0a 61 6c 69 61 73 20  / #endif..alias 
0430: 55 49 4e 54 20 4d 4d 52 45 53 55 4c 54 3b 0d 0a  UINT MMRESULT;..
0440: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 4d 4d  ..// #define _MM
0450: 52 45 53 55 4c 54 5f 0d 0a 0d 0a 61 6c 69 61 73  RESULT_....alias
0460: 20 55 49 4e 54 2a 20 4c 50 55 49 4e 54 3b 0d 0a   UINT* LPUINT;..
0470: 0d 0a 73 74 72 75 63 74 20 6d 6d 74 69 6d 65 5f  ..struct mmtime_
0480: 74 61 67 20 7b 0d 0a 20 20 55 49 4e 54 20 77 54  tag {..  UINT wT
0490: 79 70 65 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20  ype;..union {.. 
04a0: 20 44 57 4f 52 44 20 6d 73 3b 0d 0a 20 20 44 57   DWORD ms;..  DW
04b0: 4f 52 44 20 73 61 6d 70 6c 65 3b 0d 0a 20 20 44  ORD sample;..  D
04c0: 57 4f 52 44 20 63 62 3b 0d 0a 20 20 44 57 4f 52  WORD cb;..  DWOR
04d0: 44 20 74 69 63 6b 73 3b 0d 0a 0d 0a 73 74 72 75  D ticks;....stru
04e0: 63 74 20 7b 0d 0a 20 20 42 59 54 45 20 68 6f 75  ct {..  BYTE hou
04f0: 72 3b 0d 0a 20 20 42 59 54 45 20 6d 69 6e 3b 0d  r;..  BYTE min;.
0500: 0a 20 20 42 59 54 45 20 73 65 63 3b 0d 0a 20 20  .  BYTE sec;..  
0510: 42 59 54 45 20 66 72 61 6d 65 3b 0d 0a 20 20 42  BYTE frame;..  B
0520: 59 54 45 20 66 70 73 3b 0d 0a 20 20 42 59 54 45  YTE fps;..  BYTE
0530: 20 64 75 6d 6d 79 3b 0d 0a 2f 2f 20 23 69 66 64   dummy;..// #ifd
0540: 65 66 20 5f 57 49 4e 33 32 0d 0a 20 20 42 59 54  ef _WIN32..  BYT
0550: 45 20 70 61 64 5b 32 5d 3b 0d 0a 2f 2f 20 23 65  E pad[2];..// #e
0560: 6e 64 69 66 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63  ndif..}....struc
0570: 74 20 7b 0d 0a 20 20 44 57 4f 52 44 20 73 6f 6e  t {..  DWORD son
0580: 67 70 74 72 70 6f 73 3b 0d 0a 7d 0d 0a 0d 0a 7d  gptrpos;..}....}
0590: 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6d 6d 74  ....}..alias mmt
05a0: 69 6d 65 5f 74 61 67 20 4d 4d 54 49 4d 45 3b 0d  ime_tag MMTIME;.
05b0: 0a 61 6c 69 61 73 20 6d 6d 74 69 6d 65 5f 74 61  .alias mmtime_ta
05c0: 67 2a 20 50 4d 4d 54 49 4d 45 3b 0d 0a 61 6c 69  g* PMMTIME;..ali
05d0: 61 73 20 6d 6d 74 69 6d 65 5f 74 61 67 2a 20 4e  as mmtime_tag* N
05e0: 50 4d 4d 54 49 4d 45 3b 0d 0a 61 6c 69 61 73 20  PMMTIME;..alias 
05f0: 6d 6d 74 69 6d 65 5f 74 61 67 2a 20 4c 50 4d 4d  mmtime_tag* LPMM
0600: 54 49 4d 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  TIME;....enum : 
0610: 75 69 6e 74 20 7b 20 54 49 4d 45 5f 4d 53 20 3d  uint { TIME_MS =
0620: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
0630: 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f 53 41  : uint { TIME_SA
0640: 4d 50 4c 45 53 20 3d 20 30 78 30 30 30 32 20 7d  MPLES = 0x0002 }
0650: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0660: 54 49 4d 45 5f 42 59 54 45 53 20 3d 20 30 78 30  TIME_BYTES = 0x0
0670: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
0680: 6e 74 20 7b 20 54 49 4d 45 5f 53 4d 50 54 45 20  nt { TIME_SMPTE 
0690: 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
06a0: 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f 4d   : uint { TIME_M
06b0: 49 44 49 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  IDI = 0x0010 }..
06c0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49  enum : uint { TI
06d0: 4d 45 5f 54 49 43 4b 53 20 3d 20 30 78 30 30 32  ME_TICKS = 0x002
06e0: 30 20 7d 0d 0a 0d 0a 75 69 6e 74 20 4d 41 4b 45  0 }....uint MAKE
06f0: 46 4f 55 52 43 43 28 75 62 79 74 65 20 63 68 30  FOURCC(ubyte ch0
0700: 2c 20 75 62 79 74 65 20 63 68 31 2c 20 75 62 79  , ubyte ch1, uby
0710: 74 65 20 63 68 32 2c 20 75 62 79 74 65 20 63 68  te ch2, ubyte ch
0720: 33 29 7b 20 72 65 74 75 72 6e 20 63 68 30 20 7c  3){ return ch0 |
0730: 20 28 63 68 31 20 3c 3c 20 38 29 20 7c 20 28 63   (ch1 << 8) | (c
0740: 68 32 20 3c 3c 20 31 36 29 20 7c 20 28 63 68 33  h2 << 16) | (ch3
0750: 20 3c 3c 20 32 34 29 3b 20 7d 0d 0a 0d 0a 65 6e   << 24); }....en
0760: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4a  um : uint { MM_J
0770: 4f 59 31 4d 4f 56 45 20 3d 20 30 78 33 41 30 20  OY1MOVE = 0x3A0 
0780: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0790: 20 4d 4d 5f 4a 4f 59 32 4d 4f 56 45 20 3d 20 30   MM_JOY2MOVE = 0
07a0: 78 33 41 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  x3A1 }..enum : u
07b0: 69 6e 74 20 7b 20 4d 4d 5f 4a 4f 59 31 5a 4d 4f  int { MM_JOY1ZMO
07c0: 56 45 20 3d 20 30 78 33 41 32 20 7d 0d 0a 65 6e  VE = 0x3A2 }..en
07d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4a  um : uint { MM_J
07e0: 4f 59 32 5a 4d 4f 56 45 20 3d 20 30 78 33 41 33  OY2ZMOVE = 0x3A3
07f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0800: 7b 20 4d 4d 5f 4a 4f 59 31 42 55 54 54 4f 4e 44  { MM_JOY1BUTTOND
0810: 4f 57 4e 20 3d 20 30 78 33 42 35 20 7d 0d 0a 65  OWN = 0x3B5 }..e
0820: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f  num : uint { MM_
0830: 4a 4f 59 32 42 55 54 54 4f 4e 44 4f 57 4e 20 3d  JOY2BUTTONDOWN =
0840: 20 30 78 33 42 36 20 7d 0d 0a 65 6e 75 6d 20 3a   0x3B6 }..enum :
0850: 20 75 69 6e 74 20 7b 20 4d 4d 5f 4a 4f 59 31 42   uint { MM_JOY1B
0860: 55 54 54 4f 4e 55 50 20 3d 20 30 78 33 42 37 20  UTTONUP = 0x3B7 
0870: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0880: 20 4d 4d 5f 4a 4f 59 32 42 55 54 54 4f 4e 55 50   MM_JOY2BUTTONUP
0890: 20 3d 20 30 78 33 42 38 20 7d 0d 0a 0d 0a 65 6e   = 0x3B8 }....en
08a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d  um : uint { MM_M
08b0: 43 49 4e 4f 54 49 46 59 20 3d 20 30 78 33 42 39  CINOTIFY = 0x3B9
08c0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
08d0: 74 20 7b 20 4d 4d 5f 57 4f 4d 5f 4f 50 45 4e 20  t { MM_WOM_OPEN 
08e0: 3d 20 30 78 33 42 42 20 7d 0d 0a 65 6e 75 6d 20  = 0x3BB }..enum 
08f0: 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 57 4f 4d 5f  : uint { MM_WOM_
0900: 43 4c 4f 53 45 20 3d 20 30 78 33 42 43 20 7d 0d  CLOSE = 0x3BC }.
0910: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
0920: 4d 5f 57 4f 4d 5f 44 4f 4e 45 20 3d 20 30 78 33  M_WOM_DONE = 0x3
0930: 42 44 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  BD }....enum : u
0940: 69 6e 74 20 7b 20 4d 4d 5f 57 49 4d 5f 4f 50 45  int { MM_WIM_OPE
0950: 4e 20 3d 20 30 78 33 42 45 20 7d 0d 0a 65 6e 75  N = 0x3BE }..enu
0960: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 57 49  m : uint { MM_WI
0970: 4d 5f 43 4c 4f 53 45 20 3d 20 30 78 33 42 46 20  M_CLOSE = 0x3BF 
0980: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0990: 20 4d 4d 5f 57 49 4d 5f 44 41 54 41 20 3d 20 30   MM_WIM_DATA = 0
09a0: 78 33 43 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  x3C0 }....enum :
09b0: 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 49 4d 5f 4f   uint { MM_MIM_O
09c0: 50 45 4e 20 3d 20 30 78 33 43 31 20 7d 0d 0a 65  PEN = 0x3C1 }..e
09d0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f  num : uint { MM_
09e0: 4d 49 4d 5f 43 4c 4f 53 45 20 3d 20 30 78 33 43  MIM_CLOSE = 0x3C
09f0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
0a00: 20 7b 20 4d 4d 5f 4d 49 4d 5f 44 41 54 41 20 3d   { MM_MIM_DATA =
0a10: 20 30 78 33 43 33 20 7d 0d 0a 65 6e 75 6d 20 3a   0x3C3 }..enum :
0a20: 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 49 4d 5f 4c   uint { MM_MIM_L
0a30: 4f 4e 47 44 41 54 41 20 3d 20 30 78 33 43 34 20  ONGDATA = 0x3C4 
0a40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0a50: 20 4d 4d 5f 4d 49 4d 5f 45 52 52 4f 52 20 3d 20   MM_MIM_ERROR = 
0a60: 30 78 33 43 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  0x3C5 }..enum : 
0a70: 75 69 6e 74 20 7b 20 4d 4d 5f 4d 49 4d 5f 4c 4f  uint { MM_MIM_LO
0a80: 4e 47 45 52 52 4f 52 20 3d 20 30 78 33 43 36 20  NGERROR = 0x3C6 
0a90: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
0aa0: 20 7b 20 4d 4d 5f 4d 4f 4d 5f 4f 50 45 4e 20 3d   { MM_MOM_OPEN =
0ab0: 20 30 78 33 43 37 20 7d 0d 0a 65 6e 75 6d 20 3a   0x3C7 }..enum :
0ac0: 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 4f 4d 5f 43   uint { MM_MOM_C
0ad0: 4c 4f 53 45 20 3d 20 30 78 33 43 38 20 7d 0d 0a  LOSE = 0x3C8 }..
0ae0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0af0: 5f 4d 4f 4d 5f 44 4f 4e 45 20 3d 20 30 78 33 43  _MOM_DONE = 0x3C
0b00: 39 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  9 }....// #ifnde
0b10: 66 20 4d 4d 5f 44 52 56 4d 5f 4f 50 45 4e 0d 0a  f MM_DRVM_OPEN..
0b20: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0b30: 5f 44 52 56 4d 5f 4f 50 45 4e 20 3d 20 30 78 33  _DRVM_OPEN = 0x3
0b40: 44 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  D0 }..enum : uin
0b50: 74 20 7b 20 4d 4d 5f 44 52 56 4d 5f 43 4c 4f 53  t { MM_DRVM_CLOS
0b60: 45 20 3d 20 30 78 33 44 31 20 7d 0d 0a 65 6e 75  E = 0x3D1 }..enu
0b70: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 44 52  m : uint { MM_DR
0b80: 56 4d 5f 44 41 54 41 20 3d 20 30 78 33 44 32 20  VM_DATA = 0x3D2 
0b90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0ba0: 20 4d 4d 5f 44 52 56 4d 5f 45 52 52 4f 52 20 3d   MM_DRVM_ERROR =
0bb0: 20 30 78 33 44 33 20 7d 0d 0a 2f 2f 20 23 65 6e   0x3D3 }..// #en
0bc0: 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  dif....enum : ui
0bd0: 6e 74 20 7b 20 4d 4d 5f 53 54 52 45 41 4d 5f 4f  nt { MM_STREAM_O
0be0: 50 45 4e 20 3d 20 30 78 33 44 34 20 7d 0d 0a 65  PEN = 0x3D4 }..e
0bf0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f  num : uint { MM_
0c00: 53 54 52 45 41 4d 5f 43 4c 4f 53 45 20 3d 20 30  STREAM_CLOSE = 0
0c10: 78 33 44 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  x3D5 }..enum : u
0c20: 69 6e 74 20 7b 20 4d 4d 5f 53 54 52 45 41 4d 5f  int { MM_STREAM_
0c30: 44 4f 4e 45 20 3d 20 30 78 33 44 36 20 7d 0d 0a  DONE = 0x3D6 }..
0c40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0c50: 5f 53 54 52 45 41 4d 5f 45 52 52 4f 52 20 3d 20  _STREAM_ERROR = 
0c60: 30 78 33 44 37 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  0x3D7 }....// #i
0c70: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
0c80: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  00)..enum : uint
0c90: 20 7b 20 4d 4d 5f 4d 4f 4d 5f 50 4f 53 49 54 49   { MM_MOM_POSITI
0ca0: 4f 4e 43 42 20 3d 20 30 78 33 43 41 20 7d 0d 0a  ONCB = 0x3CA }..
0cb0: 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4d 4d 5f  ..// #ifndef MM_
0cc0: 4d 43 49 53 49 47 4e 41 4c 0d 0a 65 6e 75 6d 20  MCISIGNAL..enum 
0cd0: 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 43 49 53  : uint { MM_MCIS
0ce0: 49 47 4e 41 4c 20 3d 20 30 78 33 43 42 20 7d 0d  IGNAL = 0x3CB }.
0cf0: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e  .// #endif....en
0d00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d  um : uint { MM_M
0d10: 49 4d 5f 4d 4f 52 45 44 41 54 41 20 3d 20 30 78  IM_MOREDATA = 0x
0d20: 33 43 43 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  3CC }....// #end
0d30: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20  if /* WINVER >= 
0d40: 30 78 30 34 30 30 20 2a 2f 0d 0a 65 6e 75 6d 20  0x0400 */..enum 
0d50: 3a 20 75 69 6e 74 20 7b 20 4d 4d 5f 4d 49 58 4d  : uint { MM_MIXM
0d60: 5f 4c 49 4e 45 5f 43 48 41 4e 47 45 20 3d 20 30  _LINE_CHANGE = 0
0d70: 78 33 44 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  x3D0 }..enum : u
0d80: 69 6e 74 20 7b 20 4d 4d 5f 4d 49 58 4d 5f 43 4f  int { MM_MIXM_CO
0d90: 4e 54 52 4f 4c 5f 43 48 41 4e 47 45 20 3d 20 30  NTROL_CHANGE = 0
0da0: 78 33 44 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  x3D1 }....enum :
0db0: 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52   uint { MMSYSERR
0dc0: 5f 42 41 53 45 20 3d 20 30 20 7d 0d 0a 65 6e 75  _BASE = 0 }..enu
0dd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 52  m : uint { WAVER
0de0: 52 5f 42 41 53 45 20 3d 20 33 32 20 7d 0d 0a 65  R_BASE = 32 }..e
0df0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44  num : uint { MID
0e00: 49 45 52 52 5f 42 41 53 45 20 3d 20 36 34 20 7d  IERR_BASE = 64 }
0e10: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0e20: 54 49 4d 45 52 52 5f 42 41 53 45 20 3d 20 39 36  TIMERR_BASE = 96
0e30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0e40: 7b 20 4a 4f 59 45 52 52 5f 42 41 53 45 20 3d 20  { JOYERR_BASE = 
0e50: 31 36 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  160 }..enum : ui
0e60: 6e 74 20 7b 20 4d 43 49 45 52 52 5f 42 41 53 45  nt { MCIERR_BASE
0e70: 20 3d 20 32 35 36 20 7d 0d 0a 65 6e 75 6d 20 3a   = 256 }..enum :
0e80: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 52 5f 42   uint { MIXERR_B
0e90: 41 53 45 20 3d 20 31 30 32 34 20 7d 0d 0a 0d 0a  ASE = 1024 }....
0ea0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
0eb0: 49 5f 53 54 52 49 4e 47 5f 4f 46 46 53 45 54 20  I_STRING_OFFSET 
0ec0: 3d 20 35 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 512 }..enum : 
0ed0: 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 4f 46  uint { MCI_VD_OF
0ee0: 46 53 45 54 20 3d 20 31 30 32 34 20 7d 0d 0a 65  FSET = 1024 }..e
0ef0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
0f00: 5f 43 44 5f 4f 46 46 53 45 54 20 3d 20 31 30 38  _CD_OFFSET = 108
0f10: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
0f20: 20 7b 20 4d 43 49 5f 57 41 56 45 5f 4f 46 46 53   { MCI_WAVE_OFFS
0f30: 45 54 20 3d 20 31 31 35 32 20 7d 0d 0a 65 6e 75  ET = 1152 }..enu
0f40: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
0f50: 45 51 5f 4f 46 46 53 45 54 20 3d 20 31 32 31 36  EQ_OFFSET = 1216
0f60: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
0f70: 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 4e 4f 45  t { MMSYSERR_NOE
0f80: 52 52 4f 52 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d  RROR = 0 }..enum
0f90: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45   : uint { MMSYSE
0fa0: 52 52 5f 45 52 52 4f 52 20 3d 20 4d 4d 53 59 53  RR_ERROR = MMSYS
0fb0: 45 52 52 5f 42 41 53 45 20 2b 20 31 20 7d 0d 0a  ERR_BASE + 1 }..
0fc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
0fd0: 53 59 53 45 52 52 5f 42 41 44 44 45 56 49 43 45  SYSERR_BADDEVICE
0fe0: 49 44 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42 41  ID = MMSYSERR_BA
0ff0: 53 45 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 2 }..enum :
1000: 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52   uint { MMSYSERR
1010: 5f 4e 4f 54 45 4e 41 42 4c 45 44 20 3d 20 4d 4d  _NOTENABLED = MM
1020: 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20 33 20  SYSERR_BASE + 3 
1030: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1040: 20 4d 4d 53 59 53 45 52 52 5f 41 4c 4c 4f 43 41   MMSYSERR_ALLOCA
1050: 54 45 44 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42  TED = MMSYSERR_B
1060: 41 53 45 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20  ASE + 4 }..enum 
1070: 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52  : uint { MMSYSER
1080: 52 5f 49 4e 56 41 4c 48 41 4e 44 4c 45 20 3d 20  R_INVALHANDLE = 
1090: 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20  MMSYSERR_BASE + 
10a0: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
10b0: 20 7b 20 4d 4d 53 59 53 45 52 52 5f 4e 4f 44 52   { MMSYSERR_NODR
10c0: 49 56 45 52 20 3d 20 4d 4d 53 59 53 45 52 52 5f  IVER = MMSYSERR_
10d0: 42 41 53 45 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d  BASE + 6 }..enum
10e0: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45   : uint { MMSYSE
10f0: 52 52 5f 4e 4f 4d 45 4d 20 3d 20 4d 4d 53 59 53  RR_NOMEM = MMSYS
1100: 45 52 52 5f 42 41 53 45 20 2b 20 37 20 7d 0d 0a  ERR_BASE + 7 }..
1110: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
1120: 53 59 53 45 52 52 5f 4e 4f 54 53 55 50 50 4f 52  SYSERR_NOTSUPPOR
1130: 54 45 44 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42  TED = MMSYSERR_B
1140: 41 53 45 20 2b 20 38 20 7d 0d 0a 65 6e 75 6d 20  ASE + 8 }..enum 
1150: 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52  : uint { MMSYSER
1160: 52 5f 42 41 44 45 52 52 4e 55 4d 20 3d 20 4d 4d  R_BADERRNUM = MM
1170: 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20 39 20  SYSERR_BASE + 9 
1180: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1190: 20 4d 4d 53 59 53 45 52 52 5f 49 4e 56 41 4c 46   MMSYSERR_INVALF
11a0: 4c 41 47 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42  LAG = MMSYSERR_B
11b0: 41 53 45 20 2b 20 31 30 20 7d 0d 0a 65 6e 75 6d  ASE + 10 }..enum
11c0: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45   : uint { MMSYSE
11d0: 52 52 5f 49 4e 56 41 4c 50 41 52 41 4d 20 3d 20  RR_INVALPARAM = 
11e0: 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b 20  MMSYSERR_BASE + 
11f0: 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  11 }..enum : uin
1200: 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 48 41 4e  t { MMSYSERR_HAN
1210: 44 4c 45 42 55 53 59 20 3d 20 4d 4d 53 59 53 45  DLEBUSY = MMSYSE
1220: 52 52 5f 42 41 53 45 20 2b 20 31 32 20 7d 0d 0a  RR_BASE + 12 }..
1230: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1240: 4d 4d 53 59 53 45 52 52 5f 49 4e 56 41 4c 49 44  MMSYSERR_INVALID
1250: 41 4c 49 41 53 20 3d 20 4d 4d 53 59 53 45 52 52  ALIAS = MMSYSERR
1260: 5f 42 41 53 45 20 2b 20 31 33 20 7d 0d 0a 65 6e  _BASE + 13 }..en
1270: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59  um : uint { MMSY
1280: 53 45 52 52 5f 42 41 44 44 42 20 3d 20 4d 4d 53  SERR_BADDB = MMS
1290: 59 53 45 52 52 5f 42 41 53 45 20 2b 20 31 34 20  YSERR_BASE + 14 
12a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12b0: 20 4d 4d 53 59 53 45 52 52 5f 4b 45 59 4e 4f 54   MMSYSERR_KEYNOT
12c0: 46 4f 55 4e 44 20 3d 20 4d 4d 53 59 53 45 52 52  FOUND = MMSYSERR
12d0: 5f 42 41 53 45 20 2b 20 31 35 20 7d 0d 0a 65 6e  _BASE + 15 }..en
12e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59  um : uint { MMSY
12f0: 53 45 52 52 5f 52 45 41 44 45 52 52 4f 52 20 3d  SERR_READERROR =
1300: 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b   MMSYSERR_BASE +
1310: 20 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   16 }..enum : ui
1320: 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 57 52  nt { MMSYSERR_WR
1330: 49 54 45 45 52 52 4f 52 20 3d 20 4d 4d 53 59 53  ITEERROR = MMSYS
1340: 45 52 52 5f 42 41 53 45 20 2b 20 31 37 20 7d 0d  ERR_BASE + 17 }.
1350: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1360: 4d 53 59 53 45 52 52 5f 44 45 4c 45 54 45 45 52  MSYSERR_DELETEER
1370: 52 4f 52 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42  ROR = MMSYSERR_B
1380: 41 53 45 20 2b 20 31 38 20 7d 0d 0a 65 6e 75 6d  ASE + 18 }..enum
1390: 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45   : uint { MMSYSE
13a0: 52 52 5f 56 41 4c 4e 4f 54 46 4f 55 4e 44 20 3d  RR_VALNOTFOUND =
13b0: 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45 20 2b   MMSYSERR_BASE +
13c0: 20 31 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   19 }..enum : ui
13d0: 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f 4e 4f  nt { MMSYSERR_NO
13e0: 44 52 49 56 45 52 43 42 20 3d 20 4d 4d 53 59 53  DRIVERCB = MMSYS
13f0: 45 52 52 5f 42 41 53 45 20 2b 20 32 30 20 7d 0d  ERR_BASE + 20 }.
1400: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1410: 4d 53 59 53 45 52 52 5f 4d 4f 52 45 44 41 54 41  MSYSERR_MOREDATA
1420: 20 3d 20 4d 4d 53 59 53 45 52 52 5f 42 41 53 45   = MMSYSERR_BASE
1430: 20 2b 20 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 21 }..enum : 
1440: 75 69 6e 74 20 7b 20 4d 4d 53 59 53 45 52 52 5f  uint { MMSYSERR_
1450: 4c 41 53 54 45 52 52 4f 52 20 3d 20 4d 4d 53 59  LASTERROR = MMSY
1460: 53 45 52 52 5f 42 41 53 45 20 2b 20 32 31 20 7d  SERR_BASE + 21 }
1470: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56  ....// #if (WINV
1480: 45 52 20 3c 20 30 78 30 33 30 61 29 20 7c 7c 20  ER < 0x030a) || 
1490: 64 65 66 69 6e 65 64 28 5f 57 49 4e 33 32 29 0d  defined(_WIN32).
14a0: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 44 52  .alias void* HDR
14b0: 56 52 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  VR;..// #endif /
14c0: 2a 20 69 66 64 65 66 20 57 49 4e 56 45 52 20 3c  * ifdef WINVER <
14d0: 20 30 78 30 33 30 61 20 2a 2f 0d 0a 0d 0a 2f 2f   0x030a */....//
14e0: 20 23 69 66 6e 64 65 66 20 4d 4d 4e 4f 44 52 56   #ifndef MMNODRV
14f0: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
1500: 49 4e 33 32 0d 0a 73 74 72 75 63 74 20 44 52 56  IN32..struct DRV
1510: 43 4f 4e 46 49 47 49 4e 46 4f 45 58 20 7b 0d 0a  CONFIGINFOEX {..
1520: 20 20 44 57 4f 52 44 20 64 77 44 43 49 53 69 7a    DWORD dwDCISiz
1530: 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  e;..  LPCWSTR lp
1540: 73 7a 44 43 49 53 65 63 74 69 6f 6e 4e 61 6d 65  szDCISectionName
1550: 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73  ;..  LPCWSTR lps
1560: 7a 44 43 49 41 6c 69 61 73 4e 61 6d 65 3b 0d 0a  zDCIAliasName;..
1570: 20 20 44 57 4f 52 44 20 64 6e 44 65 76 4e 6f 64    DWORD dnDevNod
1580: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 52 56  e;..}..alias DRV
1590: 43 4f 4e 46 49 47 49 4e 46 4f 45 58 2a 20 50 44  CONFIGINFOEX* PD
15a0: 52 56 43 4f 4e 46 49 47 49 4e 46 4f 45 58 3b 0d  RVCONFIGINFOEX;.
15b0: 0a 61 6c 69 61 73 20 44 52 56 43 4f 4e 46 49 47  .alias DRVCONFIG
15c0: 49 4e 46 4f 45 58 2a 20 4e 50 44 52 56 43 4f 4e  INFOEX* NPDRVCON
15d0: 46 49 47 49 4e 46 4f 45 58 3b 0d 0a 61 6c 69 61  FIGINFOEX;..alia
15e0: 73 20 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f 45  s DRVCONFIGINFOE
15f0: 58 2a 20 4c 50 44 52 56 43 4f 4e 46 49 47 49 4e  X* LPDRVCONFIGIN
1600: 46 4f 45 58 3b 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  FOEX;....// #els
1610: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
1620: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ndif....// #if (
1630: 57 49 4e 56 45 52 20 3c 20 30 78 30 33 30 61 29  WINVER < 0x030a)
1640: 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 57 49 4e   || defined(_WIN
1650: 33 32 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  32)....// #ifnde
1660: 66 20 44 52 56 5f 4c 4f 41 44 0d 0a 0d 0a 65 6e  f DRV_LOAD....en
1670: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f  um : uint { DRV_
1680: 4c 4f 41 44 20 3d 20 30 78 30 30 30 31 20 7d 0d  LOAD = 0x0001 }.
1690: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
16a0: 52 56 5f 45 4e 41 42 4c 45 20 3d 20 30 78 30 30  RV_ENABLE = 0x00
16b0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
16c0: 74 20 7b 20 44 52 56 5f 4f 50 45 4e 20 3d 20 30  t { DRV_OPEN = 0
16d0: 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0003 }..enum : 
16e0: 75 69 6e 74 20 7b 20 44 52 56 5f 43 4c 4f 53 45  uint { DRV_CLOSE
16f0: 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75   = 0x0004 }..enu
1700: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f 44  m : uint { DRV_D
1710: 49 53 41 42 4c 45 20 3d 20 30 78 30 30 30 35 20  ISABLE = 0x0005 
1720: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1730: 20 44 52 56 5f 46 52 45 45 20 3d 20 30 78 30 30   DRV_FREE = 0x00
1740: 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  06 }..enum : uin
1750: 74 20 7b 20 44 52 56 5f 43 4f 4e 46 49 47 55 52  t { DRV_CONFIGUR
1760: 45 20 3d 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e  E = 0x0007 }..en
1770: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f  um : uint { DRV_
1780: 51 55 45 52 59 43 4f 4e 46 49 47 55 52 45 20 3d  QUERYCONFIGURE =
1790: 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
17a0: 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f 49 4e 53  : uint { DRV_INS
17b0: 54 41 4c 4c 20 3d 20 30 78 30 30 30 39 20 7d 0d  TALL = 0x0009 }.
17c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
17d0: 52 56 5f 52 45 4d 4f 56 45 20 3d 20 30 78 30 30  RV_REMOVE = 0x00
17e0: 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0A }..enum : uin
17f0: 74 20 7b 20 44 52 56 5f 45 58 49 54 53 45 53 53  t { DRV_EXITSESS
1800: 49 4f 4e 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a  ION = 0x000B }..
1810: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52  enum : uint { DR
1820: 56 5f 50 4f 57 45 52 20 3d 20 30 78 30 30 30 46  V_POWER = 0x000F
1830: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1840: 7b 20 44 52 56 5f 52 45 53 45 52 56 45 44 20 3d  { DRV_RESERVED =
1850: 20 30 78 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x0800 }..enum 
1860: 3a 20 75 69 6e 74 20 7b 20 44 52 56 5f 55 53 45  : uint { DRV_USE
1870: 52 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 0d 0a  R = 0x4000 }....
1880: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
1890: 0d 0a 73 74 72 75 63 74 20 74 61 67 44 52 56 43  ..struct tagDRVC
18a0: 4f 4e 46 49 47 49 4e 46 4f 20 7b 0d 0a 20 20 44  ONFIGINFO {..  D
18b0: 57 4f 52 44 20 64 77 44 43 49 53 69 7a 65 3b 0d  WORD dwDCISize;.
18c0: 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 44  .  LPCWSTR lpszD
18d0: 43 49 53 65 63 74 69 6f 6e 4e 61 6d 65 3b 0d 0a  CISectionName;..
18e0: 20 20 4c 50 43 57 53 54 52 20 6c 70 73 7a 44 43    LPCWSTR lpszDC
18f0: 49 41 6c 69 61 73 4e 61 6d 65 3b 0d 0a 7d 0d 0a  IAliasName;..}..
1900: 61 6c 69 61 73 20 74 61 67 44 52 56 43 4f 4e 46  alias tagDRVCONF
1910: 49 47 49 4e 46 4f 20 44 52 56 43 4f 4e 46 49 47  IGINFO DRVCONFIG
1920: 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 74 61 67  INFO;..alias tag
1930: 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f 2a 20 50  DRVCONFIGINFO* P
1940: 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f 3b 0d 0a  DRVCONFIGINFO;..
1950: 61 6c 69 61 73 20 74 61 67 44 52 56 43 4f 4e 46  alias tagDRVCONF
1960: 49 47 49 4e 46 4f 2a 20 4e 50 44 52 56 43 4f 4e  IGINFO* NPDRVCON
1970: 46 49 47 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  FIGINFO;..alias 
1980: 74 61 67 44 52 56 43 4f 4e 46 49 47 49 4e 46 4f  tagDRVCONFIGINFO
1990: 2a 20 4c 50 44 52 56 43 4f 4e 46 49 47 49 4e 46  * LPDRVCONFIGINF
19a0: 4f 3b 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  O;....// #else..
19b0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
19c0: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
19d0: 20 7b 20 44 52 56 43 4e 46 5f 43 41 4e 43 45 4c   { DRVCNF_CANCEL
19e0: 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75   = 0x0000 }..enu
19f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 56 43 4e  m : uint { DRVCN
1a00: 46 5f 4f 4b 20 3d 20 30 78 30 30 30 31 20 7d 0d  F_OK = 0x0001 }.
1a10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
1a20: 52 56 43 4e 46 5f 52 45 53 54 41 52 54 20 3d 20  RVCNF_RESTART = 
1a30: 30 78 30 30 30 32 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x0002 }....// #
1a40: 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a  ifdef _WIN32....
1a50: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1a60: 61 6c 69 61 73 20 4c 52 45 53 55 4c 54 20 66 75  alias LRESULT fu
1a70: 6e 63 74 69 6f 6e 28 44 57 4f 52 44 5f 50 54 52  nction(DWORD_PTR
1a80: 2c 20 48 44 52 56 52 2c 20 55 49 4e 54 2c 20 4c  , HDRVR, UINT, L
1a90: 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 20 44  PARAM, LPARAM) D
1aa0: 52 49 56 45 52 50 52 4f 43 3b 0d 0a 0d 0a 65 78  RIVERPROC;....ex
1ab0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1ac0: 70 6f 72 74 20 4c 52 45 53 55 4c 54 20 43 6c 6f  port LRESULT Clo
1ad0: 73 65 44 72 69 76 65 72 28 48 44 52 56 52 20 68  seDriver(HDRVR h
1ae0: 44 72 69 76 65 72 2c 20 4c 50 41 52 41 4d 20 6c  Driver, LPARAM l
1af0: 50 61 72 61 6d 31 2c 20 4c 50 41 52 41 4d 20 6c  Param1, LPARAM l
1b00: 50 61 72 61 6d 32 29 3b 0d 0a 65 78 74 65 72 6e  Param2);..extern
1b10: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1b20: 20 48 44 52 56 52 20 4f 70 65 6e 44 72 69 76 65   HDRVR OpenDrive
1b30: 72 28 4c 50 43 57 53 54 52 20 73 7a 44 72 69 76  r(LPCWSTR szDriv
1b40: 65 72 4e 61 6d 65 2c 20 4c 50 43 57 53 54 52 20  erName, LPCWSTR 
1b50: 73 7a 53 65 63 74 69 6f 6e 4e 61 6d 65 2c 20 4c  szSectionName, L
1b60: 50 41 52 41 4d 20 6c 50 61 72 61 6d 32 29 3b 0d  PARAM lParam2);.
1b70: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1b80: 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20   export LRESULT 
1b90: 53 65 6e 64 44 72 69 76 65 72 4d 65 73 73 61 67  SendDriverMessag
1ba0: 65 28 48 44 52 56 52 20 68 44 72 69 76 65 72 2c  e(HDRVR hDriver,
1bb0: 20 55 49 4e 54 20 6d 65 73 73 61 67 65 2c 20 4c   UINT message, L
1bc0: 50 41 52 41 4d 20 6c 50 61 72 61 6d 31 2c 20 4c  PARAM lParam1, L
1bd0: 50 41 52 41 4d 20 6c 50 61 72 61 6d 32 29 3b 0d  PARAM lParam2);.
1be0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1bf0: 20 65 78 70 6f 72 74 20 48 4d 4f 44 55 4c 45 20   export HMODULE 
1c00: 44 72 76 47 65 74 4d 6f 64 75 6c 65 48 61 6e 64  DrvGetModuleHand
1c10: 6c 65 28 48 44 52 56 52 20 68 44 72 69 76 65 72  le(HDRVR hDriver
1c20: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1c30: 77 73 29 20 65 78 70 6f 72 74 20 48 4d 4f 44 55  ws) export HMODU
1c40: 4c 45 20 47 65 74 44 72 69 76 65 72 4d 6f 64 75  LE GetDriverModu
1c50: 6c 65 48 61 6e 64 6c 65 28 48 44 52 56 52 20 68  leHandle(HDRVR h
1c60: 44 72 69 76 65 72 29 3b 0d 0a 65 78 74 65 72 6e  Driver);..extern
1c70: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1c80: 20 4c 52 45 53 55 4c 54 20 44 65 66 44 72 69 76   LRESULT DefDriv
1c90: 65 72 50 72 6f 63 28 44 57 4f 52 44 5f 50 54 52  erProc(DWORD_PTR
1ca0: 20 64 77 44 72 69 76 65 72 49 64 65 6e 74 69 66   dwDriverIdentif
1cb0: 69 65 72 2c 20 48 44 52 56 52 20 68 64 72 76 72  ier, HDRVR hdrvr
1cc0: 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 4c 50 41  , UINT uMsg, LPA
1cd0: 52 41 4d 20 6c 50 61 72 61 6d 31 2c 20 4c 50 41  RAM lParam1, LPA
1ce0: 52 41 4d 20 6c 50 61 72 61 6d 32 29 3b 0d 0a 2f  RAM lParam2);../
1cf0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
1d00: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
1d10: 64 69 66 20 2f 2a 20 69 66 64 65 66 20 5f 57 49  dif /* ifdef _WI
1d20: 4e 33 32 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69  N32 */..// #endi
1d30: 66 20 2f 2a 20 44 52 56 5f 4c 4f 41 44 20 2a 2f  f /* DRV_LOAD */
1d40: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69  ..// #endif /* i
1d50: 66 64 65 66 20 28 57 49 4e 56 45 52 20 3c 20 30  fdef (WINVER < 0
1d60: 78 30 33 30 61 29 20 7c 7c 20 64 65 66 69 6e 65  x030a) || define
1d70: 64 28 5f 57 49 4e 33 32 29 20 2a 2f 0d 0a 0d 0a  d(_WIN32) */....
1d80: 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e  // #if (WINVER >
1d90: 3d 20 30 78 30 33 30 61 29 0d 0a 0d 0a 61 6c 69  = 0x030a)....ali
1da0: 61 73 20 44 52 56 43 4e 46 5f 43 41 4e 43 45 4c  as DRVCNF_CANCEL
1db0: 20 44 52 56 5f 43 41 4e 43 45 4c 3b 0d 0a 61 6c   DRV_CANCEL;..al
1dc0: 69 61 73 20 44 52 56 43 4e 46 5f 4f 4b 20 44 52  ias DRVCNF_OK DR
1dd0: 56 5f 4f 4b 3b 0d 0a 61 6c 69 61 73 20 44 52 56  V_OK;..alias DRV
1de0: 43 4e 46 5f 52 45 53 54 41 52 54 20 44 52 56 5f  CNF_RESTART DRV_
1df0: 52 45 53 54 41 52 54 3b 0d 0a 0d 0a 2f 2f 20 23  RESTART;....// #
1e00: 65 6e 64 69 66 20 2f 2a 20 69 66 64 65 66 20 57  endif /* ifdef W
1e10: 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61 20  INVER >= 0x030a 
1e20: 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 44 52 56 5f  */....alias DRV_
1e30: 52 45 53 45 52 56 45 44 20 44 52 56 5f 4d 43 49  RESERVED DRV_MCI
1e40: 5f 46 49 52 53 54 3b 0d 0a 65 6e 75 6d 20 3a 20  _FIRST;..enum : 
1e50: 75 69 6e 74 20 7b 20 44 52 56 5f 4d 43 49 5f 4c  uint { DRV_MCI_L
1e60: 41 53 54 20 3d 20 44 52 56 5f 52 45 53 45 52 56  AST = DRV_RESERV
1e70: 45 44 20 2b 20 30 78 46 46 46 20 7d 0d 0a 0d 0a  ED + 0xFFF }....
1e80: 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69 66  // #endif  /* if
1e90: 6e 64 65 66 20 4d 4d 4e 4f 44 52 56 20 2a 2f 0d  ndef MMNODRV */.
1ea0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1eb0: 20 43 41 4c 4c 42 41 43 4b 5f 54 59 50 45 4d 41   CALLBACK_TYPEMA
1ec0: 53 4b 20 3d 20 30 78 30 30 30 37 30 30 30 30 20  SK = 0x00070000 
1ed0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1ee0: 20 43 41 4c 4c 42 41 43 4b 5f 4e 55 4c 4c 20 3d   CALLBACK_NULL =
1ef0: 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
1f00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 41 4c  num : uint { CAL
1f10: 4c 42 41 43 4b 5f 57 49 4e 44 4f 57 20 3d 20 30  LBACK_WINDOW = 0
1f20: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
1f30: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 41 4c 4c 42  m : uint { CALLB
1f40: 41 43 4b 5f 54 41 53 4b 20 3d 20 30 78 30 30 30  ACK_TASK = 0x000
1f50: 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  20000 }..enum : 
1f60: 75 69 6e 74 20 7b 20 43 41 4c 4c 42 41 43 4b 5f  uint { CALLBACK_
1f70: 46 55 4e 43 54 49 4f 4e 20 3d 20 30 78 30 30 30  FUNCTION = 0x000
1f80: 33 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 64  30000 }..// #ifd
1f90: 65 66 20 5f 57 49 4e 33 32 0d 0a 65 6e 75 6d 20  ef _WIN32..enum 
1fa0: 3a 20 75 69 6e 74 20 7b 20 43 41 4c 4c 42 41 43  : uint { CALLBAC
1fb0: 4b 5f 54 48 52 45 41 44 20 3d 20 43 41 4c 4c 42  K_THREAD = CALLB
1fc0: 41 43 4b 5f 54 41 53 4b 20 7d 0d 0a 65 6e 75 6d  ACK_TASK }..enum
1fd0: 20 3a 20 75 69 6e 74 20 7b 20 43 41 4c 4c 42 41   : uint { CALLBA
1fe0: 43 4b 5f 45 56 45 4e 54 20 3d 20 30 78 30 30 30  CK_EVENT = 0x000
1ff0: 35 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64  50000 }..// #end
2000: 69 66 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20 76  if..// typedef v
2010: 6f 69 64 20 28 43 41 4c 4c 42 41 43 4b 20 44 52  oid (CALLBACK DR
2020: 56 43 41 4c 4c 42 41 43 4b 29 28 48 44 52 56 52  VCALLBACK)(HDRVR
2030: 20 68 64 72 76 72 2c 20 55 49 4e 54 20 75 4d 73   hdrvr, UINT uMs
2040: 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 55  g, DWORD_PTR dwU
2050: 73 65 72 2c 20 44 57 4f 52 44 5f 50 54 52 20 64  ser, DWORD_PTR d
2060: 77 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77  w1, DWORD_PTR dw
2070: 32 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  2);....extern(Wi
2080: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 76 6f 69  ndows) alias voi
2090: 64 20 66 75 6e 63 74 69 6f 6e 28 48 44 52 56 52  d function(HDRVR
20a0: 20 68 64 72 76 72 2c 20 55 49 4e 54 20 75 4d 73   hdrvr, UINT uMs
20b0: 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 55  g, DWORD_PTR dwU
20c0: 73 65 72 2c 20 44 57 4f 52 44 5f 50 54 52 20 64  ser, DWORD_PTR d
20d0: 77 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77  w1, DWORD_PTR dw
20e0: 32 29 20 4c 50 44 52 56 43 41 4c 4c 42 41 43 4b  2) LPDRVCALLBACK
20f0: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ;..// #ifdef _WI
2100: 4e 33 32 0d 0a 61 6c 69 61 73 20 4c 50 44 52 56  N32..alias LPDRV
2110: 43 41 4c 4c 42 41 43 4b 20 50 44 52 56 43 41 4c  CALLBACK PDRVCAL
2120: 4c 42 41 43 4b 3b 0d 0a 2f 2f 20 23 65 6e 64 69  LBACK;..// #endi
2130: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  f....// #ifndef 
2140: 4d 4d 4e 4f 4d 4d 53 59 53 54 45 4d 0d 0a 0d 0a  MMNOMMSYSTEM....
2150: 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3c  // #if (WINVER <
2160: 3d 20 30 78 30 33 30 41 29 0d 0a 2f 2f 20 2e 2e  = 0x030A)..// ..
2170: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f  ...// #endif..//
2180: 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
2190: 61 6c 69 61 73 20 4f 75 74 70 75 74 44 65 62 75  alias OutputDebu
21a0: 67 53 74 72 69 6e 67 20 4f 75 74 70 75 74 44 65  gString OutputDe
21b0: 62 75 67 53 74 72 3b 0d 0a 2f 2f 20 23 65 6c 73  bugStr;..// #els
21c0: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
21d0: 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  ndif....// #endi
21e0: 66 20 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e  f  /* ifndef MMN
21f0: 4f 4d 4d 53 59 53 54 45 4d 20 2a 2f 0d 0a 0d 0a  OMMSYSTEM */....
2200: 2f 2f 20 23 69 66 6e 64 65 66 20 4d 4d 4e 4f 53  // #ifndef MMNOS
2210: 4f 55 4e 44 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  OUND....// #ifde
2220: 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 65  f _WIN32....exte
2230: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
2240: 72 74 20 42 4f 4f 4c 20 73 6e 64 50 6c 61 79 53  rt BOOL sndPlayS
2250: 6f 75 6e 64 41 28 4c 50 43 53 54 52 20 70 73 7a  oundA(LPCSTR psz
2260: 53 6f 75 6e 64 2c 20 55 49 4e 54 20 66 75 53 6f  Sound, UINT fuSo
2270: 75 6e 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  und);..extern(Wi
2280: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
2290: 4f 4c 20 73 6e 64 50 6c 61 79 53 6f 75 6e 64 57  OL sndPlaySoundW
22a0: 28 4c 50 43 57 53 54 52 20 70 73 7a 53 6f 75 6e  (LPCWSTR pszSoun
22b0: 64 2c 20 55 49 4e 54 20 66 75 53 6f 75 6e 64 29  d, UINT fuSound)
22c0: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
22d0: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
22e0: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 73  / #else..alias s
22f0: 6e 64 50 6c 61 79 53 6f 75 6e 64 41 20 73 6e 64  ndPlaySoundA snd
2300: 50 6c 61 79 53 6f 75 6e 64 3b 0d 0a 2f 2f 20 23  PlaySound;..// #
2310: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
2320: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
2330: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
2340: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
2350: 7b 20 53 4e 44 5f 53 59 4e 43 20 3d 20 30 78 30  { SND_SYNC = 0x0
2360: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
2370: 6e 74 20 7b 20 53 4e 44 5f 41 53 59 4e 43 20 3d  nt { SND_ASYNC =
2380: 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20   0x0001 }..enum 
2390: 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f 4e 4f 44  : uint { SND_NOD
23a0: 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30 32 20  EFAULT = 0x0002 
23b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
23c0: 20 53 4e 44 5f 4d 45 4d 4f 52 59 20 3d 20 30 78   SND_MEMORY = 0x
23d0: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
23e0: 69 6e 74 20 7b 20 53 4e 44 5f 4c 4f 4f 50 20 3d  int { SND_LOOP =
23f0: 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20   0x0008 }..enum 
2400: 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f 4e 4f 53  : uint { SND_NOS
2410: 54 4f 50 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  TOP = 0x0010 }..
2420: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2430: 53 4e 44 5f 4e 4f 57 41 49 54 20 3d 20 30 78 30  SND_NOWAIT = 0x0
2440: 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0002000 }..enum 
2450: 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f 41 4c 49  : uint { SND_ALI
2460: 41 53 20 3d 20 30 78 30 30 30 31 30 30 30 30 20  AS = 0x00010000 
2470: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2480: 20 53 4e 44 5f 41 4c 49 41 53 5f 49 44 20 3d 20   SND_ALIAS_ID = 
2490: 30 78 30 30 31 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00110000 }..en
24a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f  um : uint { SND_
24b0: 46 49 4c 45 4e 41 4d 45 20 3d 20 30 78 30 30 30  FILENAME = 0x000
24c0: 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  20000 }..enum : 
24d0: 75 69 6e 74 20 7b 20 53 4e 44 5f 52 45 53 4f 55  uint { SND_RESOU
24e0: 52 43 45 20 3d 20 30 78 30 30 30 34 30 30 30 34  RCE = 0x00040004
24f0: 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45   }..// #if(WINVE
2500: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 6e  R >= 0x0400)..en
2510: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4e 44 5f  um : uint { SND_
2520: 50 55 52 47 45 20 3d 20 30 78 30 30 34 30 20 7d  PURGE = 0x0040 }
2530: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2540: 53 4e 44 5f 41 50 50 4c 49 43 41 54 49 4f 4e 20  SND_APPLICATION 
2550: 3d 20 30 78 30 30 38 30 20 7d 0d 0a 2f 2f 20 23  = 0x0080 }..// #
2560: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
2570: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
2580: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 4e  enum : uint { SN
2590: 44 5f 41 4c 49 41 53 5f 53 54 41 52 54 20 3d 20  D_ALIAS_START = 
25a0: 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  0 }....// #ifdef
25b0: 20 5f 57 49 4e 33 32 0d 0a 2f 2f 20 23 64 65 66   _WIN32..// #def
25c0: 69 6e 65 20 73 6e 64 41 6c 69 61 73 28 63 68 30  ine sndAlias(ch0
25d0: 2c 20 63 68 31 29 20 28 53 4e 44 5f 41 4c 49 41  , ch1) (SND_ALIA
25e0: 53 5f 53 54 41 52 54 20 2b 20 28 44 57 4f 52 44  S_START + (DWORD
25f0: 29 28 42 59 54 45 29 28 63 68 30 29 20 7c 20 28  )(BYTE)(ch0) | (
2600: 28 44 57 4f 52 44 29 28 42 59 54 45 29 28 63 68  (DWORD)(BYTE)(ch
2610: 31 29 20 3c 3c 20 38 29 29 0d 0a 0d 0a 2f 2f 20  1) << 8))....// 
2620: 23 64 65 66 69 6e 65 20 53 4e 44 5f 41 4c 49 41  #define SND_ALIA
2630: 53 5f 53 59 53 54 45 4d 41 53 54 45 52 49 53 4b  S_SYSTEMASTERISK
2640: 20 73 6e 64 41 6c 69 61 73 28 27 53 27 2c 20 27   sndAlias('S', '
2650: 2a 27 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  *')..// #define 
2660: 53 4e 44 5f 41 4c 49 41 53 5f 53 59 53 54 45 4d  SND_ALIAS_SYSTEM
2670: 51 55 45 53 54 49 4f 4e 20 73 6e 64 41 6c 69 61  QUESTION sndAlia
2680: 73 28 27 53 27 2c 20 27 3f 27 29 0d 0a 2f 2f 20  s('S', '?')..// 
2690: 23 64 65 66 69 6e 65 20 53 4e 44 5f 41 4c 49 41  #define SND_ALIA
26a0: 53 5f 53 59 53 54 45 4d 48 41 4e 44 20 73 6e 64  S_SYSTEMHAND snd
26b0: 41 6c 69 61 73 28 27 53 27 2c 20 27 48 27 29 0d  Alias('S', 'H').
26c0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e 44 5f  .// #define SND_
26d0: 41 4c 49 41 53 5f 53 59 53 54 45 4d 45 58 49 54  ALIAS_SYSTEMEXIT
26e0: 20 73 6e 64 41 6c 69 61 73 28 27 53 27 2c 20 27   sndAlias('S', '
26f0: 45 27 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20  E')..// #define 
2700: 53 4e 44 5f 41 4c 49 41 53 5f 53 59 53 54 45 4d  SND_ALIAS_SYSTEM
2710: 53 54 41 52 54 20 73 6e 64 41 6c 69 61 73 28 27  START sndAlias('
2720: 53 27 2c 20 27 53 27 29 0d 0a 2f 2f 20 23 64 65  S', 'S')..// #de
2730: 66 69 6e 65 20 53 4e 44 5f 41 4c 49 41 53 5f 53  fine SND_ALIAS_S
2740: 59 53 54 45 4d 57 45 4c 43 4f 4d 45 20 73 6e 64  YSTEMWELCOME snd
2750: 41 6c 69 61 73 28 27 53 27 2c 20 27 57 27 29 0d  Alias('S', 'W').
2760: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 53 4e 44 5f  .// #define SND_
2770: 41 4c 49 41 53 5f 53 59 53 54 45 4d 45 58 43 4c  ALIAS_SYSTEMEXCL
2780: 41 4d 41 54 49 4f 4e 20 73 6e 64 41 6c 69 61 73  AMATION sndAlias
2790: 28 27 53 27 2c 20 27 21 27 29 0d 0a 2f 2f 20 23  ('S', '!')..// #
27a0: 64 65 66 69 6e 65 20 53 4e 44 5f 41 4c 49 41 53  define SND_ALIAS
27b0: 5f 53 59 53 54 45 4d 44 45 46 41 55 4c 54 20 73  _SYSTEMDEFAULT s
27c0: 6e 64 41 6c 69 61 73 28 27 53 27 2c 20 27 44 27  ndAlias('S', 'D'
27d0: 29 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  )....extern(Wind
27e0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
27f0: 20 50 6c 61 79 53 6f 75 6e 64 41 28 4c 50 43 53   PlaySoundA(LPCS
2800: 54 52 20 70 73 7a 53 6f 75 6e 64 2c 20 48 4d 4f  TR pszSound, HMO
2810: 44 55 4c 45 20 68 6d 6f 64 2c 20 44 57 4f 52 44  DULE hmod, DWORD
2820: 20 66 64 77 53 6f 75 6e 64 29 3b 0d 0a 65 78 74   fdwSound);..ext
2830: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
2840: 6f 72 74 20 42 4f 4f 4c 20 50 6c 61 79 53 6f 75  ort BOOL PlaySou
2850: 6e 64 57 28 4c 50 43 57 53 54 52 20 70 73 7a 53  ndW(LPCWSTR pszS
2860: 6f 75 6e 64 2c 20 48 4d 4f 44 55 4c 45 20 68 6d  ound, HMODULE hm
2870: 6f 64 2c 20 44 57 4f 52 44 20 66 64 77 53 6f 75  od, DWORD fdwSou
2880: 6e 64 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  nd);..// #ifdef 
2890: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
28a0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
28b0: 73 20 50 6c 61 79 53 6f 75 6e 64 41 20 50 6c 61  s PlaySoundA Pla
28c0: 79 53 6f 75 6e 64 3b 0d 0a 2f 2f 20 23 65 6e 64  ySound;..// #end
28d0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
28e0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
28f0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
2900: 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69  .// #endif  /* i
2910: 66 6e 64 65 66 20 4d 4d 4e 4f 53 4f 55 4e 44 20  fndef MMNOSOUND 
2920: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
2930: 20 4d 4d 4e 4f 57 41 56 45 0d 0a 0d 0a 65 6e 75   MMNOWAVE....enu
2940: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 52  m : uint { WAVER
2950: 52 5f 42 41 44 46 4f 52 4d 41 54 20 3d 20 57 41  R_BADFORMAT = WA
2960: 56 45 52 52 5f 42 41 53 45 20 2b 20 30 20 7d 0d  VERR_BASE + 0 }.
2970: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
2980: 41 56 45 52 52 5f 53 54 49 4c 4c 50 4c 41 59 49  AVERR_STILLPLAYI
2990: 4e 47 20 3d 20 57 41 56 45 52 52 5f 42 41 53 45  NG = WAVERR_BASE
29a0: 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 1 }..enum : u
29b0: 69 6e 74 20 7b 20 57 41 56 45 52 52 5f 55 4e 50  int { WAVERR_UNP
29c0: 52 45 50 41 52 45 44 20 3d 20 57 41 56 45 52 52  REPARED = WAVERR
29d0: 5f 42 41 53 45 20 2b 20 32 20 7d 0d 0a 65 6e 75  _BASE + 2 }..enu
29e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 52  m : uint { WAVER
29f0: 52 5f 53 59 4e 43 20 3d 20 57 41 56 45 52 52 5f  R_SYNC = WAVERR_
2a00: 42 41 53 45 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d  BASE + 3 }..enum
2a10: 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 52 52   : uint { WAVERR
2a20: 5f 4c 41 53 54 45 52 52 4f 52 20 3d 20 57 41 56  _LASTERROR = WAV
2a30: 45 52 52 5f 42 41 53 45 20 2b 20 33 20 7d 0d 0a  ERR_BASE + 3 }..
2a40: 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 57  ..alias void* HW
2a50: 41 56 45 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64  AVE;..alias void
2a60: 2a 20 48 57 41 56 45 49 4e 3b 0d 0a 61 6c 69 61  * HWAVEIN;..alia
2a70: 73 20 76 6f 69 64 2a 20 48 57 41 56 45 4f 55 54  s void* HWAVEOUT
2a80: 3b 0d 0a 61 6c 69 61 73 20 48 57 41 56 45 49 4e  ;..alias HWAVEIN
2a90: 2a 20 4c 50 48 57 41 56 45 49 4e 3b 0d 0a 61 6c  * LPHWAVEIN;..al
2aa0: 69 61 73 20 48 57 41 56 45 4f 55 54 2a 20 4c 50  ias HWAVEOUT* LP
2ab0: 48 57 41 56 45 4f 55 54 3b 0d 0a 2f 2f 20 74 79  HWAVEOUT;..// ty
2ac0: 70 65 64 65 66 20 44 52 56 43 41 4c 4c 42 41 43  pedef DRVCALLBAC
2ad0: 4b 20 57 41 56 45 43 41 4c 4c 42 41 43 4b 3b 0d  K WAVECALLBACK;.
2ae0: 0a 61 6c 69 61 73 20 4c 50 44 52 56 43 41 4c 4c  .alias LPDRVCALL
2af0: 42 41 43 4b 20 4c 50 57 41 56 45 43 41 4c 4c 42  BACK LPWAVECALLB
2b00: 41 43 4b 3b 0d 0a 0d 0a 61 6c 69 61 73 20 4d 4d  ACK;....alias MM
2b10: 5f 57 4f 4d 5f 4f 50 45 4e 20 57 4f 4d 5f 4f 50  _WOM_OPEN WOM_OP
2b20: 45 4e 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f 57 4f  EN;..alias MM_WO
2b30: 4d 5f 43 4c 4f 53 45 20 57 4f 4d 5f 43 4c 4f 53  M_CLOSE WOM_CLOS
2b40: 45 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f 57 4f 4d  E;..alias MM_WOM
2b50: 5f 44 4f 4e 45 20 57 4f 4d 5f 44 4f 4e 45 3b 0d  _DONE WOM_DONE;.
2b60: 0a 61 6c 69 61 73 20 4d 4d 5f 57 49 4d 5f 4f 50  .alias MM_WIM_OP
2b70: 45 4e 20 57 49 4d 5f 4f 50 45 4e 3b 0d 0a 61 6c  EN WIM_OPEN;..al
2b80: 69 61 73 20 4d 4d 5f 57 49 4d 5f 43 4c 4f 53 45  ias MM_WIM_CLOSE
2b90: 20 57 49 4d 5f 43 4c 4f 53 45 3b 0d 0a 61 6c 69   WIM_CLOSE;..ali
2ba0: 61 73 20 4d 4d 5f 57 49 4d 5f 44 41 54 41 20 57  as MM_WIM_DATA W
2bb0: 49 4d 5f 44 41 54 41 3b 0d 0a 0d 0a 65 6e 75 6d  IM_DATA;....enum
2bc0: 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 4d   : uint { WAVE_M
2bd0: 41 50 50 45 52 20 3d 20 63 61 73 74 28 55 49 4e  APPER = cast(UIN
2be0: 54 29 2d 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  T)-1 }....enum :
2bf0: 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52   uint { WAVE_FOR
2c00: 4d 41 54 5f 51 55 45 52 59 20 3d 20 30 78 30 30  MAT_QUERY = 0x00
2c10: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
2c20: 74 20 7b 20 57 41 56 45 5f 41 4c 4c 4f 57 53 59  t { WAVE_ALLOWSY
2c30: 4e 43 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 2f  NC = 0x0002 }../
2c40: 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
2c50: 30 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20  0x0400)..enum : 
2c60: 75 69 6e 74 20 7b 20 57 41 56 45 5f 4d 41 50 50  uint { WAVE_MAPP
2c70: 45 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65  ED = 0x0004 }..e
2c80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56  num : uint { WAV
2c90: 45 5f 46 4f 52 4d 41 54 5f 44 49 52 45 43 54 20  E_FORMAT_DIRECT 
2ca0: 3d 20 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0008 }..enum
2cb0: 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46   : uint { WAVE_F
2cc0: 4f 52 4d 41 54 5f 44 49 52 45 43 54 5f 51 55 45  ORMAT_DIRECT_QUE
2cd0: 52 59 20 3d 20 57 41 56 45 5f 46 4f 52 4d 41 54  RY = WAVE_FORMAT
2ce0: 5f 51 55 45 52 59 20 7c 20 57 41 56 45 5f 46 4f  _QUERY | WAVE_FO
2cf0: 52 4d 41 54 5f 44 49 52 45 43 54 20 7d 0d 0a 2f  RMAT_DIRECT }../
2d00: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
2d10: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
2d20: 0a 0d 0a 73 74 72 75 63 74 20 77 61 76 65 68 64  ...struct wavehd
2d30: 72 5f 74 61 67 20 7b 0d 0a 20 20 4c 50 53 54 52  r_tag {..  LPSTR
2d40: 20 6c 70 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52   lpData;..  DWOR
2d50: 44 20 64 77 42 75 66 66 65 72 4c 65 6e 67 74 68  D dwBufferLength
2d60: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 42 79 74  ;..  DWORD dwByt
2d70: 65 73 52 65 63 6f 72 64 65 64 3b 0d 0a 20 20 44  esRecorded;..  D
2d80: 57 4f 52 44 5f 50 54 52 20 64 77 55 73 65 72 3b  WORD_PTR dwUser;
2d90: 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
2da0: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c 6f  s;..  DWORD dwLo
2db0: 6f 70 73 3b 0d 0a 20 20 77 61 76 65 68 64 72 5f  ops;..  wavehdr_
2dc0: 74 61 67 20 2a 6c 70 4e 65 78 74 3b 0d 0a 20 20  tag *lpNext;..  
2dd0: 44 57 4f 52 44 5f 50 54 52 20 72 65 73 65 72 76  DWORD_PTR reserv
2de0: 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 77 61  ed;..}..alias wa
2df0: 76 65 68 64 72 5f 74 61 67 20 57 41 56 45 48 44  vehdr_tag WAVEHD
2e00: 52 3b 0d 0a 61 6c 69 61 73 20 77 61 76 65 68 64  R;..alias wavehd
2e10: 72 5f 74 61 67 2a 20 50 57 41 56 45 48 44 52 3b  r_tag* PWAVEHDR;
2e20: 0d 0a 61 6c 69 61 73 20 77 61 76 65 68 64 72 5f  ..alias wavehdr_
2e30: 74 61 67 2a 20 4e 50 57 41 56 45 48 44 52 3b 0d  tag* NPWAVEHDR;.
2e40: 0a 61 6c 69 61 73 20 77 61 76 65 68 64 72 5f 74  .alias wavehdr_t
2e50: 61 67 2a 20 4c 50 57 41 56 45 48 44 52 3b 0d 0a  ag* LPWAVEHDR;..
2e60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2e70: 57 48 44 52 5f 44 4f 4e 45 20 3d 20 30 78 30 30  WHDR_DONE = 0x00
2e80: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
2e90: 20 75 69 6e 74 20 7b 20 57 48 44 52 5f 50 52 45   uint { WHDR_PRE
2ea0: 50 41 52 45 44 20 3d 20 30 78 30 30 30 30 30 30  PARED = 0x000000
2eb0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
2ec0: 74 20 7b 20 57 48 44 52 5f 42 45 47 49 4e 4c 4f  t { WHDR_BEGINLO
2ed0: 4f 50 20 3d 20 30 78 30 30 30 30 30 30 30 34 20  OP = 0x00000004 
2ee0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2ef0: 20 57 48 44 52 5f 45 4e 44 4c 4f 4f 50 20 3d 20   WHDR_ENDLOOP = 
2f00: 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
2f10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 48 44 52  um : uint { WHDR
2f20: 5f 49 4e 51 55 45 55 45 20 3d 20 30 78 30 30 30  _INQUEUE = 0x000
2f30: 30 30 30 31 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  00010 }....// #i
2f40: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73  fdef _WIN32....s
2f50: 74 72 75 63 74 20 74 61 67 57 41 56 45 4f 55 54  truct tagWAVEOUT
2f60: 43 41 50 53 41 20 7b 0d 0a 20 20 57 4f 52 44 20  CAPSA {..  WORD 
2f70: 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50  wMid;..  WORD wP
2f80: 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e  id;..  MMVERSION
2f90: 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b   vDriverVersion;
2fa0: 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d 65  ..  CHAR szPname
2fb0: 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a  [MAXPNAMELEN];..
2fc0: 20 20 44 57 4f 52 44 20 64 77 46 6f 72 6d 61 74    DWORD dwFormat
2fd0: 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43 68 61 6e  s;..  WORD wChan
2fe0: 6e 65 6c 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52  nels;..  WORD wR
2ff0: 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57 4f  eserved1;..  DWO
3000: 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 7d  RD dwSupport;..}
3010: 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f  ..alias tagWAVEO
3020: 55 54 43 41 50 53 41 20 57 41 56 45 4f 55 54 43  UTCAPSA WAVEOUTC
3030: 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  APSA;..alias tag
3040: 57 41 56 45 4f 55 54 43 41 50 53 41 2a 20 50 57  WAVEOUTCAPSA* PW
3050: 41 56 45 4f 55 54 43 41 50 53 41 3b 0d 0a 61 6c  AVEOUTCAPSA;..al
3060: 69 61 73 20 74 61 67 57 41 56 45 4f 55 54 43 41  ias tagWAVEOUTCA
3070: 50 53 41 2a 20 4e 50 57 41 56 45 4f 55 54 43 41  PSA* NPWAVEOUTCA
3080: 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  PSA;..alias tagW
3090: 41 56 45 4f 55 54 43 41 50 53 41 2a 20 4c 50 57  AVEOUTCAPSA* LPW
30a0: 41 56 45 4f 55 54 43 41 50 53 41 3b 0d 0a 0d 0a  AVEOUTCAPSA;....
30b0: 73 74 72 75 63 74 20 74 61 67 57 41 56 45 4f 55  struct tagWAVEOU
30c0: 54 43 41 50 53 57 20 7b 0d 0a 20 20 57 4f 52 44  TCAPSW {..  WORD
30d0: 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77   wMid;..  WORD w
30e0: 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f  Pid;..  MMVERSIO
30f0: 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e  N vDriverVersion
3100: 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50 6e 61  ;..  WCHAR szPna
3110: 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b  me[MAXPNAMELEN];
3120: 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6f 72 6d  ..  DWORD dwForm
3130: 61 74 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43 68  ats;..  WORD wCh
3140: 61 6e 6e 65 6c 73 3b 0d 0a 20 20 57 4f 52 44 20  annels;..  WORD 
3150: 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44  wReserved1;..  D
3160: 57 4f 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d  WORD dwSupport;.
3170: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56  .}..alias tagWAV
3180: 45 4f 55 54 43 41 50 53 57 20 57 41 56 45 4f 55  EOUTCAPSW WAVEOU
3190: 54 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20 74  TCAPSW;..alias t
31a0: 61 67 57 41 56 45 4f 55 54 43 41 50 53 57 2a 20  agWAVEOUTCAPSW* 
31b0: 50 57 41 56 45 4f 55 54 43 41 50 53 57 3b 0d 0a  PWAVEOUTCAPSW;..
31c0: 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f 55 54  alias tagWAVEOUT
31d0: 43 41 50 53 57 2a 20 4e 50 57 41 56 45 4f 55 54  CAPSW* NPWAVEOUT
31e0: 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61  CAPSW;..alias ta
31f0: 67 57 41 56 45 4f 55 54 43 41 50 53 57 2a 20 4c  gWAVEOUTCAPSW* L
3200: 50 57 41 56 45 4f 55 54 43 41 50 53 57 3b 0d 0a  PWAVEOUTCAPSW;..
3210: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
3220: 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  ODE..// .....// 
3230: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57 41 56  #else..alias WAV
3240: 45 4f 55 54 43 41 50 53 41 20 57 41 56 45 4f 55  EOUTCAPSA WAVEOU
3250: 54 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 50 57  TCAPS;..alias PW
3260: 41 56 45 4f 55 54 43 41 50 53 41 20 50 57 41 56  AVEOUTCAPSA PWAV
3270: 45 4f 55 54 43 41 50 53 3b 0d 0a 61 6c 69 61 73  EOUTCAPS;..alias
3280: 20 4e 50 57 41 56 45 4f 55 54 43 41 50 53 41 20   NPWAVEOUTCAPSA 
3290: 4e 50 57 41 56 45 4f 55 54 43 41 50 53 3b 0d 0a  NPWAVEOUTCAPS;..
32a0: 61 6c 69 61 73 20 4c 50 57 41 56 45 4f 55 54 43  alias LPWAVEOUTC
32b0: 41 50 53 41 20 4c 50 57 41 56 45 4f 55 54 43 41  APSA LPWAVEOUTCA
32c0: 50 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  PS;..// #endif /
32d0: 2f 20 55 4e 49 43 4f 44 45 0d 0a 73 74 72 75 63  / UNICODE..struc
32e0: 74 20 74 61 67 57 41 56 45 4f 55 54 43 41 50 53  t tagWAVEOUTCAPS
32f0: 32 41 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69  2A {..  WORD wMi
3300: 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b  d;..  WORD wPid;
3310: 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44  ..  MMVERSION vD
3320: 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  riverVersion;.. 
3330: 20 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41   CHAR szPname[MA
3340: 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 44  XPNAMELEN];..  D
3350: 57 4f 52 44 20 64 77 46 6f 72 6d 61 74 73 3b 0d  WORD dwFormats;.
3360: 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e 65 6c  .  WORD wChannel
3370: 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 73 65  s;..  WORD wRese
3380: 72 76 65 64 31 3b 0d 0a 20 20 44 57 4f 52 44 20  rved1;..  DWORD 
3390: 64 77 53 75 70 70 6f 72 74 3b 0d 0a 20 20 47 55  dwSupport;..  GU
33a0: 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72 47  ID ManufacturerG
33b0: 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f  uid;..  GUID Pro
33c0: 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55 49  ductGuid;..  GUI
33d0: 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a  D NameGuid;..}..
33e0: 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f 55 54  alias tagWAVEOUT
33f0: 43 41 50 53 32 41 20 57 41 56 45 4f 55 54 43 41  CAPS2A WAVEOUTCA
3400: 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2A;..alias tag
3410: 57 41 56 45 4f 55 54 43 41 50 53 32 41 2a 20 50  WAVEOUTCAPS2A* P
3420: 57 41 56 45 4f 55 54 43 41 50 53 32 41 3b 0d 0a  WAVEOUTCAPS2A;..
3430: 61 6c 69 61 73 20 74 61 67 57 41 56 45 4f 55 54  alias tagWAVEOUT
3440: 43 41 50 53 32 41 2a 20 4e 50 57 41 56 45 4f 55  CAPS2A* NPWAVEOU
3450: 54 43 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20  TCAPS2A;..alias 
3460: 74 61 67 57 41 56 45 4f 55 54 43 41 50 53 32 41  tagWAVEOUTCAPS2A
3470: 2a 20 4c 50 57 41 56 45 4f 55 54 43 41 50 53 32  * LPWAVEOUTCAPS2
3480: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
3490: 57 41 56 45 4f 55 54 43 41 50 53 32 57 20 7b 0d  WAVEOUTCAPS2W {.
34a0: 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20  .  WORD wMid;.. 
34b0: 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d   WORD wPid;..  M
34c0: 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72  MVERSION vDriver
34d0: 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48 41  Version;..  WCHA
34e0: 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41  R szPname[MAXPNA
34f0: 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 44 57 4f 52 44  MELEN];..  DWORD
3500: 20 64 77 46 6f 72 6d 61 74 73 3b 0d 0a 20 20 57   dwFormats;..  W
3510: 4f 52 44 20 77 43 68 61 6e 6e 65 6c 73 3b 0d 0a  ORD wChannels;..
3520: 20 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64    WORD wReserved
3530: 31 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 75  1;..  DWORD dwSu
3540: 70 70 6f 72 74 3b 0d 0a 20 20 47 55 49 44 20 4d  pport;..  GUID M
3550: 61 6e 75 66 61 63 74 75 72 65 72 47 75 69 64 3b  anufacturerGuid;
3560: 0d 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63 74  ..  GUID Product
3570: 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e 61  Guid;..  GUID Na
3580: 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61  meGuid;..}..alia
3590: 73 20 74 61 67 57 41 56 45 4f 55 54 43 41 50 53  s tagWAVEOUTCAPS
35a0: 32 57 20 57 41 56 45 4f 55 54 43 41 50 53 32 57  2W WAVEOUTCAPS2W
35b0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45  ;..alias tagWAVE
35c0: 4f 55 54 43 41 50 53 32 57 2a 20 50 57 41 56 45  OUTCAPS2W* PWAVE
35d0: 4f 55 54 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61  OUTCAPS2W;..alia
35e0: 73 20 74 61 67 57 41 56 45 4f 55 54 43 41 50 53  s tagWAVEOUTCAPS
35f0: 32 57 2a 20 4e 50 57 41 56 45 4f 55 54 43 41 50  2W* NPWAVEOUTCAP
3600: 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57  S2W;..alias tagW
3610: 41 56 45 4f 55 54 43 41 50 53 32 57 2a 20 4c 50  AVEOUTCAPS2W* LP
3620: 57 41 56 45 4f 55 54 43 41 50 53 32 57 3b 0d 0a  WAVEOUTCAPS2W;..
3630: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
3640: 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  ODE..// .....// 
3650: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 57 41 56  #else..alias WAV
3660: 45 4f 55 54 43 41 50 53 32 41 20 57 41 56 45 4f  EOUTCAPS2A WAVEO
3670: 55 54 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20  UTCAPS2;..alias 
3680: 50 57 41 56 45 4f 55 54 43 41 50 53 32 41 20 50  PWAVEOUTCAPS2A P
3690: 57 41 56 45 4f 55 54 43 41 50 53 32 3b 0d 0a 61  WAVEOUTCAPS2;..a
36a0: 6c 69 61 73 20 4e 50 57 41 56 45 4f 55 54 43 41  lias NPWAVEOUTCA
36b0: 50 53 32 41 20 4e 50 57 41 56 45 4f 55 54 43 41  PS2A NPWAVEOUTCA
36c0: 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 57 41  PS2;..alias LPWA
36d0: 56 45 4f 55 54 43 41 50 53 32 41 20 4c 50 57 41  VEOUTCAPS2A LPWA
36e0: 56 45 4f 55 54 43 41 50 53 32 3b 0d 0a 2f 2f 20  VEOUTCAPS2;..// 
36f0: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
3700: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
3710: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
3720: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
3730: 7b 20 57 41 56 45 43 41 50 53 5f 50 49 54 43 48  { WAVECAPS_PITCH
3740: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
3750: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 43  m : uint { WAVEC
3760: 41 50 53 5f 50 4c 41 59 42 41 43 4b 52 41 54 45  APS_PLAYBACKRATE
3770: 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75   = 0x0002 }..enu
3780: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 43  m : uint { WAVEC
3790: 41 50 53 5f 56 4f 4c 55 4d 45 20 3d 20 30 78 30  APS_VOLUME = 0x0
37a0: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
37b0: 6e 74 20 7b 20 57 41 56 45 43 41 50 53 5f 4c 52  nt { WAVECAPS_LR
37c0: 56 4f 4c 55 4d 45 20 3d 20 30 78 30 30 30 38 20  VOLUME = 0x0008 
37d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
37e0: 20 57 41 56 45 43 41 50 53 5f 53 59 4e 43 20 3d   WAVECAPS_SYNC =
37f0: 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20   0x0010 }..enum 
3800: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 43 41 50  : uint { WAVECAP
3810: 53 5f 53 41 4d 50 4c 45 41 43 43 55 52 41 54 45  S_SAMPLEACCURATE
3820: 20 3d 20 30 78 30 30 32 30 20 7d 0d 0a 0d 0a 2f   = 0x0020 }..../
3830: 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
3840: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 57 41 56  ...struct tagWAV
3850: 45 49 4e 43 41 50 53 41 20 7b 0d 0a 20 20 57 4f  EINCAPSA {..  WO
3860: 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44  RD wMid;..  WORD
3870: 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53   wPid;..  MMVERS
3880: 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69  ION vDriverVersi
3890: 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e  on;..  CHAR szPn
38a0: 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d  ame[MAXPNAMELEN]
38b0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6f 72  ;..  DWORD dwFor
38c0: 6d 61 74 73 3b 0d 0a 20 20 57 4f 52 44 20 77 43  mats;..  WORD wC
38d0: 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 57 4f 52 44  hannels;..  WORD
38e0: 20 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 7d 0d   wReserved1;..}.
38f0: 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e  .alias tagWAVEIN
3900: 43 41 50 53 41 20 57 41 56 45 49 4e 43 41 50 53  CAPSA WAVEINCAPS
3910: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56  A;..alias tagWAV
3920: 45 49 4e 43 41 50 53 41 2a 20 50 57 41 56 45 49  EINCAPSA* PWAVEI
3930: 4e 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74  NCAPSA;..alias t
3940: 61 67 57 41 56 45 49 4e 43 41 50 53 41 2a 20 4e  agWAVEINCAPSA* N
3950: 50 57 41 56 45 49 4e 43 41 50 53 41 3b 0d 0a 61  PWAVEINCAPSA;..a
3960: 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e 43 41  lias tagWAVEINCA
3970: 50 53 41 2a 20 4c 50 57 41 56 45 49 4e 43 41 50  PSA* LPWAVEINCAP
3980: 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  SA;....struct ta
3990: 67 57 41 56 45 49 4e 43 41 50 53 57 20 7b 0d 0a  gWAVEINCAPSW {..
39a0: 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20    WORD wMid;..  
39b0: 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d  WORD wPid;..  MM
39c0: 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56  VERSION vDriverV
39d0: 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48 41 52  ersion;..  WCHAR
39e0: 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d   szPname[MAXPNAM
39f0: 45 4c 45 4e 5d 3b 0d 0a 20 20 44 57 4f 52 44 20  ELEN];..  DWORD 
3a00: 64 77 46 6f 72 6d 61 74 73 3b 0d 0a 20 20 57 4f  dwFormats;..  WO
3a10: 52 44 20 77 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20  RD wChannels;.. 
3a20: 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64 31   WORD wReserved1
3a30: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 57  ;..}..alias tagW
3a40: 41 56 45 49 4e 43 41 50 53 57 20 57 41 56 45 49  AVEINCAPSW WAVEI
3a50: 4e 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20 74  NCAPSW;..alias t
3a60: 61 67 57 41 56 45 49 4e 43 41 50 53 57 2a 20 50  agWAVEINCAPSW* P
3a70: 57 41 56 45 49 4e 43 41 50 53 57 3b 0d 0a 61 6c  WAVEINCAPSW;..al
3a80: 69 61 73 20 74 61 67 57 41 56 45 49 4e 43 41 50  ias tagWAVEINCAP
3a90: 53 57 2a 20 4e 50 57 41 56 45 49 4e 43 41 50 53  SW* NPWAVEINCAPS
3aa0: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56  W;..alias tagWAV
3ab0: 45 49 4e 43 41 50 53 57 2a 20 4c 50 57 41 56 45  EINCAPSW* LPWAVE
3ac0: 49 4e 43 41 50 53 57 3b 0d 0a 0d 0a 2f 2f 20 23  INCAPSW;....// #
3ad0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
3ae0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
3af0: 0a 61 6c 69 61 73 20 57 41 56 45 49 4e 43 41 50  .alias WAVEINCAP
3b00: 53 41 20 57 41 56 45 49 4e 43 41 50 53 3b 0d 0a  SA WAVEINCAPS;..
3b10: 61 6c 69 61 73 20 50 57 41 56 45 49 4e 43 41 50  alias PWAVEINCAP
3b20: 53 41 20 50 57 41 56 45 49 4e 43 41 50 53 3b 0d  SA PWAVEINCAPS;.
3b30: 0a 61 6c 69 61 73 20 4e 50 57 41 56 45 49 4e 43  .alias NPWAVEINC
3b40: 41 50 53 41 20 4e 50 57 41 56 45 49 4e 43 41 50  APSA NPWAVEINCAP
3b50: 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 57 41 56 45  S;..alias LPWAVE
3b60: 49 4e 43 41 50 53 41 20 4c 50 57 41 56 45 49 4e  INCAPSA LPWAVEIN
3b70: 43 41 50 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  CAPS;..// #endif
3b80: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 73 74 72   // UNICODE..str
3b90: 75 63 74 20 74 61 67 57 41 56 45 49 4e 43 41 50  uct tagWAVEINCAP
3ba0: 53 32 41 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d  S2A {..  WORD wM
3bb0: 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64  id;..  WORD wPid
3bc0: 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76  ;..  MMVERSION v
3bd0: 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a  DriverVersion;..
3be0: 20 20 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d    CHAR szPname[M
3bf0: 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20  AXPNAMELEN];..  
3c00: 44 57 4f 52 44 20 64 77 46 6f 72 6d 61 74 73 3b  DWORD dwFormats;
3c10: 0d 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e 65  ..  WORD wChanne
3c20: 6c 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 73  ls;..  WORD wRes
3c30: 65 72 76 65 64 31 3b 0d 0a 20 20 47 55 49 44 20  erved1;..  GUID 
3c40: 4d 61 6e 75 66 61 63 74 75 72 65 72 47 75 69 64  ManufacturerGuid
3c50: 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63  ;..  GUID Produc
3c60: 74 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e  tGuid;..  GUID N
3c70: 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69  ameGuid;..}..ali
3c80: 61 73 20 74 61 67 57 41 56 45 49 4e 43 41 50 53  as tagWAVEINCAPS
3c90: 32 41 20 57 41 56 45 49 4e 43 41 50 53 32 41 3b  2A WAVEINCAPS2A;
3ca0: 0d 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 49  ..alias tagWAVEI
3cb0: 4e 43 41 50 53 32 41 2a 20 50 57 41 56 45 49 4e  NCAPS2A* PWAVEIN
3cc0: 43 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74  CAPS2A;..alias t
3cd0: 61 67 57 41 56 45 49 4e 43 41 50 53 32 41 2a 20  agWAVEINCAPS2A* 
3ce0: 4e 50 57 41 56 45 49 4e 43 41 50 53 32 41 3b 0d  NPWAVEINCAPS2A;.
3cf0: 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e  .alias tagWAVEIN
3d00: 43 41 50 53 32 41 2a 20 4c 50 57 41 56 45 49 4e  CAPS2A* LPWAVEIN
3d10: 43 41 50 53 32 41 3b 0d 0a 0d 0a 73 74 72 75 63  CAPS2A;....struc
3d20: 74 20 74 61 67 57 41 56 45 49 4e 43 41 50 53 32  t tagWAVEINCAPS2
3d30: 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64  W {..  WORD wMid
3d40: 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d  ;..  WORD wPid;.
3d50: 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72  .  MMVERSION vDr
3d60: 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  iverVersion;..  
3d70: 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41  WCHAR szPname[MA
3d80: 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 44  XPNAMELEN];..  D
3d90: 57 4f 52 44 20 64 77 46 6f 72 6d 61 74 73 3b 0d  WORD dwFormats;.
3da0: 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e 65 6c  .  WORD wChannel
3db0: 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 73 65  s;..  WORD wRese
3dc0: 72 76 65 64 31 3b 0d 0a 20 20 47 55 49 44 20 4d  rved1;..  GUID M
3dd0: 61 6e 75 66 61 63 74 75 72 65 72 47 75 69 64 3b  anufacturerGuid;
3de0: 0d 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63 74  ..  GUID Product
3df0: 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e 61  Guid;..  GUID Na
3e00: 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61  meGuid;..}..alia
3e10: 73 20 74 61 67 57 41 56 45 49 4e 43 41 50 53 32  s tagWAVEINCAPS2
3e20: 57 20 57 41 56 45 49 4e 43 41 50 53 32 57 3b 0d  W WAVEINCAPS2W;.
3e30: 0a 61 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e  .alias tagWAVEIN
3e40: 43 41 50 53 32 57 2a 20 50 57 41 56 45 49 4e 43  CAPS2W* PWAVEINC
3e50: 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61  APS2W;..alias ta
3e60: 67 57 41 56 45 49 4e 43 41 50 53 32 57 2a 20 4e  gWAVEINCAPS2W* N
3e70: 50 57 41 56 45 49 4e 43 41 50 53 32 57 3b 0d 0a  PWAVEINCAPS2W;..
3e80: 61 6c 69 61 73 20 74 61 67 57 41 56 45 49 4e 43  alias tagWAVEINC
3e90: 41 50 53 32 57 2a 20 4c 50 57 41 56 45 49 4e 43  APS2W* LPWAVEINC
3ea0: 41 50 53 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66  APS2W;....// #if
3eb0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
3ec0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
3ed0: 6c 69 61 73 20 57 41 56 45 49 4e 43 41 50 53 32  lias WAVEINCAPS2
3ee0: 41 20 57 41 56 45 49 4e 43 41 50 53 32 3b 0d 0a  A WAVEINCAPS2;..
3ef0: 61 6c 69 61 73 20 50 57 41 56 45 49 4e 43 41 50  alias PWAVEINCAP
3f00: 53 32 41 20 50 57 41 56 45 49 4e 43 41 50 53 32  S2A PWAVEINCAPS2
3f10: 3b 0d 0a 61 6c 69 61 73 20 4e 50 57 41 56 45 49  ;..alias NPWAVEI
3f20: 4e 43 41 50 53 32 41 20 4e 50 57 41 56 45 49 4e  NCAPS2A NPWAVEIN
3f30: 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4c 50  CAPS2;..alias LP
3f40: 57 41 56 45 49 4e 43 41 50 53 32 41 20 4c 50 57  WAVEINCAPS2A LPW
3f50: 41 56 45 49 4e 43 41 50 53 32 3b 0d 0a 2f 2f 20  AVEINCAPS2;..// 
3f60: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
3f70: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
3f80: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
3f90: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
3fa0: 7b 20 57 41 56 45 5f 49 4e 56 41 4c 49 44 46 4f  { WAVE_INVALIDFO
3fb0: 52 4d 41 54 20 3d 20 30 78 30 30 30 30 30 30 30  RMAT = 0x0000000
3fc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
3fd0: 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 31   { WAVE_FORMAT_1
3fe0: 4d 30 38 20 3d 20 30 78 30 30 30 30 30 30 30 31  M08 = 0x00000001
3ff0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4000: 7b 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 31 53  { WAVE_FORMAT_1S
4010: 30 38 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  08 = 0x00000002 
4020: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
4030: 20 57 41 56 45 5f 46 4f 52 4d 41 54 5f 31 4d 31   WAVE_FORMAT_1M1
4040: 36 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  6 = 0x00000004 }
4050: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
4060: 57 41 56 45 5f 46 4f 52 4d 41 54 5f 31 53 31 36  WAVE_FORMAT_1S16
4070: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
4080: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57  .enum : uint { W
4090: 41 56 45 5f 46 4f 52 4d 41 54 5f 32 4d 30 38 20  AVE_FORMAT_2M08 
40a0: 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x00000010 }..
40b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41  enum : uint { WA
40c0: 56 45 5f 46 4f 52 4d 41 54 5f 32 53 30 38 20 3d  VE_FORMAT_2S08 =
40d0: 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65   0x00000020 }..e
40e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56  num : uint { WAV
40f0: 45 5f 46 4f 52 4d 41 54 5f 32 4d 31 36 20 3d 20  E_FORMAT_2M16 = 
4100: 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e  0x00000040 }..en
4110: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45  um : uint { WAVE
4120: 5f 46 4f 52 4d 41 54 5f 32 53 31 36 20 3d 20 30  _FORMAT_2S16 = 0
4130: 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75  x00000080 }..enu
4140: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f  m : uint { WAVE_
4150: 46 4f 52 4d 41 54 5f 34 4d 30 38 20 3d 20 30 78  FORMAT_4M08 = 0x
4160: 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  00000100 }..enum
4170: 20 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46   : uint { WAVE_F
4180: 4f 52 4d 41 54 5f 34 53 30 38 20 3d 20 30 78 30  ORMAT_4S08 = 0x0
4190: 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
41a0: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
41b0: 52 4d 41 54 5f 34 4d 31 36 20 3d 20 30 78 30 30  RMAT_4M16 = 0x00
41c0: 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000400 }..enum :
41d0: 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52   uint { WAVE_FOR
41e0: 4d 41 54 5f 34 53 31 36 20 3d 20 30 78 30 30 30  MAT_4S16 = 0x000
41f0: 30 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00800 }....enum 
4200: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4210: 52 4d 41 54 5f 34 34 4d 30 38 20 3d 20 30 78 30  RMAT_44M08 = 0x0
4220: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
4230: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4240: 52 4d 41 54 5f 34 34 53 30 38 20 3d 20 30 78 30  RMAT_44S08 = 0x0
4250: 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
4260: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4270: 52 4d 41 54 5f 34 34 4d 31 36 20 3d 20 30 78 30  RMAT_44M16 = 0x0
4280: 30 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000400 }..enum 
4290: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
42a0: 52 4d 41 54 5f 34 34 53 31 36 20 3d 20 30 78 30  RMAT_44S16 = 0x0
42b0: 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000800 }..enum 
42c0: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
42d0: 52 4d 41 54 5f 34 38 4d 30 38 20 3d 20 30 78 30  RMAT_48M08 = 0x0
42e0: 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0001000 }..enum 
42f0: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4300: 52 4d 41 54 5f 34 38 53 30 38 20 3d 20 30 78 30  RMAT_48S08 = 0x0
4310: 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0002000 }..enum 
4320: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4330: 52 4d 41 54 5f 34 38 4d 31 36 20 3d 20 30 78 30  RMAT_48M16 = 0x0
4340: 30 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0004000 }..enum 
4350: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4360: 52 4d 41 54 5f 34 38 53 31 36 20 3d 20 30 78 30  RMAT_48S16 = 0x0
4370: 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0008000 }..enum 
4380: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4390: 52 4d 41 54 5f 39 36 4d 30 38 20 3d 20 30 78 30  RMAT_96M08 = 0x0
43a0: 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
43b0: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
43c0: 52 4d 41 54 5f 39 36 53 30 38 20 3d 20 30 78 30  RMAT_96S08 = 0x0
43d0: 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0020000 }..enum 
43e0: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
43f0: 52 4d 41 54 5f 39 36 4d 31 36 20 3d 20 30 78 30  RMAT_96M16 = 0x0
4400: 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0040000 }..enum 
4410: 3a 20 75 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f  : uint { WAVE_FO
4420: 52 4d 41 54 5f 39 36 53 31 36 20 3d 20 30 78 30  RMAT_96S16 = 0x0
4430: 30 30 38 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20  0080000 }....// 
4440: 23 69 66 6e 64 65 66 20 57 41 56 45 5f 46 4f 52  #ifndef WAVE_FOR
4450: 4d 41 54 5f 50 43 4d 0d 0a 0d 0a 73 74 72 75 63  MAT_PCM....struc
4460: 74 20 77 61 76 65 66 6f 72 6d 61 74 5f 74 61 67  t waveformat_tag
4470: 20 7b 0d 0a 20 20 57 4f 52 44 20 77 46 6f 72 6d   {..  WORD wForm
4480: 61 74 54 61 67 3b 0d 0a 20 20 57 4f 52 44 20 6e  atTag;..  WORD n
4490: 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 44 57 4f  Channels;..  DWO
44a0: 52 44 20 6e 53 61 6d 70 6c 65 73 50 65 72 53 65  RD nSamplesPerSe
44b0: 63 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 41 76 67  c;..  DWORD nAvg
44c0: 42 79 74 65 73 50 65 72 53 65 63 3b 0d 0a 20 20  BytesPerSec;..  
44d0: 57 4f 52 44 20 6e 42 6c 6f 63 6b 41 6c 69 67 6e  WORD nBlockAlign
44e0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 77 61 76 65  ;..}..alias wave
44f0: 66 6f 72 6d 61 74 5f 74 61 67 20 57 41 56 45 46  format_tag WAVEF
4500: 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20 77 61  ORMAT;..alias wa
4510: 76 65 66 6f 72 6d 61 74 5f 74 61 67 2a 20 50 57  veformat_tag* PW
4520: 41 56 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61  AVEFORMAT;..alia
4530: 73 20 77 61 76 65 66 6f 72 6d 61 74 5f 74 61 67  s waveformat_tag
4540: 2a 20 4e 50 57 41 56 45 46 4f 52 4d 41 54 3b 0d  * NPWAVEFORMAT;.
4550: 0a 61 6c 69 61 73 20 77 61 76 65 66 6f 72 6d 61  .alias waveforma
4560: 74 5f 74 61 67 2a 20 4c 50 57 41 56 45 46 4f 52  t_tag* LPWAVEFOR
4570: 4d 41 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  MAT;....enum : u
4580: 69 6e 74 20 7b 20 57 41 56 45 5f 46 4f 52 4d 41  int { WAVE_FORMA
4590: 54 5f 50 43 4d 20 3d 20 31 20 7d 0d 0a 0d 0a 73  T_PCM = 1 }....s
45a0: 74 72 75 63 74 20 70 63 6d 77 61 76 65 66 6f 72  truct pcmwavefor
45b0: 6d 61 74 5f 74 61 67 20 7b 0d 0a 20 20 57 41 56  mat_tag {..  WAV
45c0: 45 46 4f 52 4d 41 54 20 77 66 3b 0d 0a 20 20 57  EFORMAT wf;..  W
45d0: 4f 52 44 20 77 42 69 74 73 50 65 72 53 61 6d 70  ORD wBitsPerSamp
45e0: 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 70 63  le;..}..alias pc
45f0: 6d 77 61 76 65 66 6f 72 6d 61 74 5f 74 61 67 20  mwaveformat_tag 
4600: 50 43 4d 57 41 56 45 46 4f 52 4d 41 54 3b 0d 0a  PCMWAVEFORMAT;..
4610: 61 6c 69 61 73 20 70 63 6d 77 61 76 65 66 6f 72  alias pcmwavefor
4620: 6d 61 74 5f 74 61 67 2a 20 50 50 43 4d 57 41 56  mat_tag* PPCMWAV
4630: 45 46 4f 52 4d 41 54 3b 0d 0a 61 6c 69 61 73 20  EFORMAT;..alias 
4640: 70 63 6d 77 61 76 65 66 6f 72 6d 61 74 5f 74 61  pcmwaveformat_ta
4650: 67 2a 20 4e 50 50 43 4d 57 41 56 45 46 4f 52 4d  g* NPPCMWAVEFORM
4660: 41 54 3b 0d 0a 61 6c 69 61 73 20 70 63 6d 77 61  AT;..alias pcmwa
4670: 76 65 66 6f 72 6d 61 74 5f 74 61 67 2a 20 4c 50  veformat_tag* LP
4680: 50 43 4d 57 41 56 45 46 4f 52 4d 41 54 3b 0d 0a  PCMWAVEFORMAT;..
4690: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57  ..// #endif /* W
46a0: 41 56 45 5f 46 4f 52 4d 41 54 5f 50 43 4d 20 2a  AVE_FORMAT_PCM *
46b0: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
46c0: 5f 57 41 56 45 46 4f 52 4d 41 54 45 58 5f 0d 0a  _WAVEFORMATEX_..
46d0: 2f 2f 20 23 64 65 66 69 6e 65 20 5f 57 41 56 45  // #define _WAVE
46e0: 46 4f 52 4d 41 54 45 58 5f 0d 0a 0d 0a 73 74 72  FORMATEX_....str
46f0: 75 63 74 20 74 57 41 56 45 46 4f 52 4d 41 54 45  uct tWAVEFORMATE
4700: 58 20 7b 0d 0a 20 20 57 4f 52 44 20 77 46 6f 72  X {..  WORD wFor
4710: 6d 61 74 54 61 67 3b 0d 0a 20 20 57 4f 52 44 20  matTag;..  WORD 
4720: 6e 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 44 57  nChannels;..  DW
4730: 4f 52 44 20 6e 53 61 6d 70 6c 65 73 50 65 72 53  ORD nSamplesPerS
4740: 65 63 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 41 76  ec;..  DWORD nAv
4750: 67 42 79 74 65 73 50 65 72 53 65 63 3b 0d 0a 20  gBytesPerSec;.. 
4760: 20 57 4f 52 44 20 6e 42 6c 6f 63 6b 41 6c 69 67   WORD nBlockAlig
4770: 6e 3b 0d 0a 20 20 57 4f 52 44 20 77 42 69 74 73  n;..  WORD wBits
4780: 50 65 72 53 61 6d 70 6c 65 3b 0d 0a 20 20 57 4f  PerSample;..  WO
4790: 52 44 20 63 62 53 69 7a 65 3b 0d 0a 0d 0a 7d 0d  RD cbSize;....}.
47a0: 0a 61 6c 69 61 73 20 74 57 41 56 45 46 4f 52 4d  .alias tWAVEFORM
47b0: 41 54 45 58 20 57 41 56 45 46 4f 52 4d 41 54 45  ATEX WAVEFORMATE
47c0: 58 3b 0d 0a 61 6c 69 61 73 20 74 57 41 56 45 46  X;..alias tWAVEF
47d0: 4f 52 4d 41 54 45 58 2a 20 50 57 41 56 45 46 4f  ORMATEX* PWAVEFO
47e0: 52 4d 41 54 45 58 3b 0d 0a 61 6c 69 61 73 20 74  RMATEX;..alias t
47f0: 57 41 56 45 46 4f 52 4d 41 54 45 58 2a 20 4e 50  WAVEFORMATEX* NP
4800: 57 41 56 45 46 4f 52 4d 41 54 45 58 3b 0d 0a 61  WAVEFORMATEX;..a
4810: 6c 69 61 73 20 74 57 41 56 45 46 4f 52 4d 41 54  lias tWAVEFORMAT
4820: 45 58 2a 20 4c 50 57 41 56 45 46 4f 52 4d 41 54  EX* LPWAVEFORMAT
4830: 45 58 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66  EX;....// #endif
4840: 20 2f 2a 20 5f 57 41 56 45 46 4f 52 4d 41 54 45   /* _WAVEFORMATE
4850: 58 5f 20 2a 2f 0d 0a 61 6c 69 61 73 20 57 41 56  X_ */..alias WAV
4860: 45 46 4f 52 4d 41 54 45 58 2a 20 4c 50 43 57 41  EFORMATEX* LPCWA
4870: 56 45 46 4f 52 4d 41 54 45 58 3b 0d 0a 0d 0a 65  VEFORMATEX;....e
4880: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
4890: 78 70 6f 72 74 20 55 49 4e 54 20 77 61 76 65 4f  xport UINT waveO
48a0: 75 74 47 65 74 4e 75 6d 44 65 76 73 28 29 3b 0d  utGetNumDevs();.
48b0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  ...// #ifdef _WI
48c0: 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  N32....extern(Wi
48d0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
48e0: 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 47 65  RESULT waveOutGe
48f0: 74 44 65 76 43 61 70 73 41 28 55 49 4e 54 5f 50  tDevCapsA(UINT_P
4900: 54 52 20 75 44 65 76 69 63 65 49 44 2c 20 4c 50  TR uDeviceID, LP
4910: 57 41 56 45 4f 55 54 43 41 50 53 41 20 70 77 6f  WAVEOUTCAPSA pwo
4920: 63 2c 20 55 49 4e 54 20 63 62 77 6f 63 29 3b 0d  c, UINT cbwoc);.
4930: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
4940: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
4950: 20 77 61 76 65 4f 75 74 47 65 74 44 65 76 43 61   waveOutGetDevCa
4960: 70 73 57 28 55 49 4e 54 5f 50 54 52 20 75 44 65  psW(UINT_PTR uDe
4970: 76 69 63 65 49 44 2c 20 4c 50 57 41 56 45 4f 55  viceID, LPWAVEOU
4980: 54 43 41 50 53 57 20 70 77 6f 63 2c 20 55 49 4e  TCAPSW pwoc, UIN
4990: 54 20 63 62 77 6f 63 29 3b 0d 0a 2f 2f 20 23 69  T cbwoc);..// #i
49a0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
49b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
49c0: 0a 61 6c 69 61 73 20 77 61 76 65 4f 75 74 47 65  .alias waveOutGe
49d0: 74 44 65 76 43 61 70 73 41 20 77 61 76 65 4f 75  tDevCapsA waveOu
49e0: 74 47 65 74 44 65 76 43 61 70 73 3b 0d 0a 2f 2f  tGetDevCaps;..//
49f0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
4a00: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
4a10: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
4a20: 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49  if....// #if (WI
4a30: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
4a40: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
4a50: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
4a60: 20 77 61 76 65 4f 75 74 47 65 74 56 6f 6c 75 6d   waveOutGetVolum
4a70: 65 28 48 57 41 56 45 4f 55 54 20 68 77 6f 2c 20  e(HWAVEOUT hwo, 
4a80: 4c 50 44 57 4f 52 44 20 70 64 77 56 6f 6c 75 6d  LPDWORD pdwVolum
4a90: 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  e);..extern(Wind
4aa0: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
4ab0: 53 55 4c 54 20 77 61 76 65 4f 75 74 53 65 74 56  SULT waveOutSetV
4ac0: 6f 6c 75 6d 65 28 48 57 41 56 45 4f 55 54 20 68  olume(HWAVEOUT h
4ad0: 77 6f 2c 20 44 57 4f 52 44 20 64 77 56 6f 6c 75  wo, DWORD dwVolu
4ae0: 6d 65 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  me);..// #else..
4af0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
4b00: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  f....// #ifdef _
4b10: 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28  WIN32....extern(
4b20: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
4b30: 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74  MMRESULT waveOut
4b40: 47 65 74 45 72 72 6f 72 54 65 78 74 41 28 4d 4d  GetErrorTextA(MM
4b50: 52 45 53 55 4c 54 20 6d 6d 72 45 72 72 6f 72 2c  RESULT mmrError,
4b60: 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 2c 20   LPSTR pszText, 
4b70: 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a  UINT cchText);..
4b80: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
4b90: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
4ba0: 77 61 76 65 4f 75 74 47 65 74 45 72 72 6f 72 54  waveOutGetErrorT
4bb0: 65 78 74 57 28 4d 4d 52 45 53 55 4c 54 20 6d 6d  extW(MMRESULT mm
4bc0: 72 45 72 72 6f 72 2c 20 4c 50 57 53 54 52 20 70  rError, LPWSTR p
4bd0: 73 7a 54 65 78 74 2c 20 55 49 4e 54 20 63 63 68  szText, UINT cch
4be0: 54 65 78 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Text);..// #ifde
4bf0: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
4c00: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
4c10: 69 61 73 20 77 61 76 65 4f 75 74 47 65 74 45 72  ias waveOutGetEr
4c20: 72 6f 72 54 65 78 74 41 20 77 61 76 65 4f 75 74  rorTextA waveOut
4c30: 47 65 74 45 72 72 6f 72 54 65 78 74 3b 0d 0a 2f  GetErrorText;../
4c40: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
4c50: 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  CODE....// #else
4c60: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
4c70: 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  dif....extern(Wi
4c80: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
4c90: 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 4f 70  RESULT waveOutOp
4ca0: 65 6e 28 4c 50 48 57 41 56 45 4f 55 54 20 70 68  en(LPHWAVEOUT ph
4cb0: 77 6f 2c 20 55 49 4e 54 20 75 44 65 76 69 63 65  wo, UINT uDevice
4cc0: 49 44 2c 0d 0a 20 20 4c 50 43 57 41 56 45 46 4f  ID,..  LPCWAVEFO
4cd0: 52 4d 41 54 45 58 20 70 77 66 78 2c 20 44 57 4f  RMATEX pwfx, DWO
4ce0: 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
4cf0: 6b 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 49  k, DWORD_PTR dwI
4d00: 6e 73 74 61 6e 63 65 2c 20 44 57 4f 52 44 20 66  nstance, DWORD f
4d10: 64 77 4f 70 65 6e 29 3b 0d 0a 0d 0a 65 78 74 65  dwOpen);....exte
4d20: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
4d30: 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65  rt MMRESULT wave
4d40: 4f 75 74 43 6c 6f 73 65 28 48 57 41 56 45 4f 55  OutClose(HWAVEOU
4d50: 54 20 68 77 6f 29 3b 0d 0a 65 78 74 65 72 6e 28  T hwo);..extern(
4d60: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
4d70: 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74  MMRESULT waveOut
4d80: 50 72 65 70 61 72 65 48 65 61 64 65 72 28 48 57  PrepareHeader(HW
4d90: 41 56 45 4f 55 54 20 68 77 6f 2c 20 4c 50 57 41  AVEOUT hwo, LPWA
4da0: 56 45 48 44 52 20 70 77 68 2c 20 55 49 4e 54 20  VEHDR pwh, UINT 
4db0: 63 62 77 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57  cbwh);..extern(W
4dc0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
4dd0: 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 55  MRESULT waveOutU
4de0: 6e 70 72 65 70 61 72 65 48 65 61 64 65 72 28 48  nprepareHeader(H
4df0: 57 41 56 45 4f 55 54 20 68 77 6f 2c 20 4c 50 57  WAVEOUT hwo, LPW
4e00: 41 56 45 48 44 52 20 70 77 68 2c 20 55 49 4e 54  AVEHDR pwh, UINT
4e10: 20 63 62 77 68 29 3b 0d 0a 65 78 74 65 72 6e 28   cbwh);..extern(
4e20: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
4e30: 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74  MMRESULT waveOut
4e40: 57 72 69 74 65 28 48 57 41 56 45 4f 55 54 20 68  Write(HWAVEOUT h
4e50: 77 6f 2c 20 4c 50 57 41 56 45 48 44 52 20 70 77  wo, LPWAVEHDR pw
4e60: 68 2c 20 55 49 4e 54 20 63 62 77 68 29 3b 0d 0a  h, UINT cbwh);..
4e70: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
4e80: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
4e90: 77 61 76 65 4f 75 74 50 61 75 73 65 28 48 57 41  waveOutPause(HWA
4ea0: 56 45 4f 55 54 20 68 77 6f 29 3b 0d 0a 65 78 74  VEOUT hwo);..ext
4eb0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
4ec0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76  ort MMRESULT wav
4ed0: 65 4f 75 74 52 65 73 74 61 72 74 28 48 57 41 56  eOutRestart(HWAV
4ee0: 45 4f 55 54 20 68 77 6f 29 3b 0d 0a 65 78 74 65  EOUT hwo);..exte
4ef0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
4f00: 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65  rt MMRESULT wave
4f10: 4f 75 74 52 65 73 65 74 28 48 57 41 56 45 4f 55  OutReset(HWAVEOU
4f20: 54 20 68 77 6f 29 3b 0d 0a 65 78 74 65 72 6e 28  T hwo);..extern(
4f30: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
4f40: 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74  MMRESULT waveOut
4f50: 42 72 65 61 6b 4c 6f 6f 70 28 48 57 41 56 45 4f  BreakLoop(HWAVEO
4f60: 55 54 20 68 77 6f 29 3b 0d 0a 65 78 74 65 72 6e  UT hwo);..extern
4f70: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
4f80: 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75   MMRESULT waveOu
4f90: 74 47 65 74 50 6f 73 69 74 69 6f 6e 28 48 57 41  tGetPosition(HWA
4fa0: 56 45 4f 55 54 20 68 77 6f 2c 20 4c 50 4d 4d 54  VEOUT hwo, LPMMT
4fb0: 49 4d 45 20 70 6d 6d 74 2c 20 55 49 4e 54 20 63  IME pmmt, UINT c
4fc0: 62 6d 6d 74 29 3b 0d 0a 65 78 74 65 72 6e 28 57  bmmt);..extern(W
4fd0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
4fe0: 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74 47  MRESULT waveOutG
4ff0: 65 74 50 69 74 63 68 28 48 57 41 56 45 4f 55 54  etPitch(HWAVEOUT
5000: 20 68 77 6f 2c 20 4c 50 44 57 4f 52 44 20 70 64   hwo, LPDWORD pd
5010: 77 50 69 74 63 68 29 3b 0d 0a 65 78 74 65 72 6e  wPitch);..extern
5020: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
5030: 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75   MMRESULT waveOu
5040: 74 53 65 74 50 69 74 63 68 28 48 57 41 56 45 4f  tSetPitch(HWAVEO
5050: 55 54 20 68 77 6f 2c 20 44 57 4f 52 44 20 64 77  UT hwo, DWORD dw
5060: 50 69 74 63 68 29 3b 0d 0a 65 78 74 65 72 6e 28  Pitch);..extern(
5070: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
5080: 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 4f 75 74  MMRESULT waveOut
5090: 47 65 74 50 6c 61 79 62 61 63 6b 52 61 74 65 28  GetPlaybackRate(
50a0: 48 57 41 56 45 4f 55 54 20 68 77 6f 2c 20 4c 50  HWAVEOUT hwo, LP
50b0: 44 57 4f 52 44 20 70 64 77 52 61 74 65 29 3b 0d  DWORD pdwRate);.
50c0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
50d0: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
50e0: 20 77 61 76 65 4f 75 74 53 65 74 50 6c 61 79 62   waveOutSetPlayb
50f0: 61 63 6b 52 61 74 65 28 48 57 41 56 45 4f 55 54  ackRate(HWAVEOUT
5100: 20 68 77 6f 2c 20 44 57 4f 52 44 20 64 77 52 61   hwo, DWORD dwRa
5110: 74 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  te);..extern(Win
5120: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
5130: 45 53 55 4c 54 20 77 61 76 65 4f 75 74 47 65 74  ESULT waveOutGet
5140: 49 44 28 48 57 41 56 45 4f 55 54 20 68 77 6f 2c  ID(HWAVEOUT hwo,
5150: 20 4c 50 55 49 4e 54 20 70 75 44 65 76 69 63 65   LPUINT puDevice
5160: 49 44 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28  ID);....// #if (
5170: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61  WINVER >= 0x030a
5180: 29 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49  )..// #ifdef _WI
5190: 4e 33 32 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  N32..extern(Wind
51a0: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
51b0: 53 55 4c 54 20 77 61 76 65 4f 75 74 4d 65 73 73  SULT waveOutMess
51c0: 61 67 65 28 48 57 41 56 45 4f 55 54 20 68 77 6f  age(HWAVEOUT hwo
51d0: 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 44 57 4f  , UINT uMsg, DWO
51e0: 52 44 5f 50 54 52 20 64 77 31 2c 20 44 57 4f 52  RD_PTR dw1, DWOR
51f0: 44 5f 50 54 52 20 64 77 32 29 3b 0d 0a 2f 2f 20  D_PTR dw2);..// 
5200: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
5210: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
5220: 64 69 66 20 2f 2a 20 69 66 64 65 66 20 57 49 4e  dif /* ifdef WIN
5230: 56 45 52 20 3e 3d 20 30 78 30 33 30 61 20 2a 2f  VER >= 0x030a */
5240: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
5250: 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20  ws) export UINT 
5260: 77 61 76 65 49 6e 47 65 74 4e 75 6d 44 65 76 73  waveInGetNumDevs
5270: 28 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  ();....// #ifdef
5280: 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72   _WIN32....exter
5290: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
52a0: 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 49  t MMRESULT waveI
52b0: 6e 47 65 74 44 65 76 43 61 70 73 41 28 55 49 4e  nGetDevCapsA(UIN
52c0: 54 5f 50 54 52 20 75 44 65 76 69 63 65 49 44 2c  T_PTR uDeviceID,
52d0: 20 4c 50 57 41 56 45 49 4e 43 41 50 53 41 20 70   LPWAVEINCAPSA p
52e0: 77 69 63 2c 20 55 49 4e 54 20 63 62 77 69 63 29  wic, UINT cbwic)
52f0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
5300: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
5310: 4c 54 20 77 61 76 65 49 6e 47 65 74 44 65 76 43  LT waveInGetDevC
5320: 61 70 73 57 28 55 49 4e 54 5f 50 54 52 20 75 44  apsW(UINT_PTR uD
5330: 65 76 69 63 65 49 44 2c 20 4c 50 57 41 56 45 49  eviceID, LPWAVEI
5340: 4e 43 41 50 53 57 20 70 77 69 63 2c 20 55 49 4e  NCAPSW pwic, UIN
5350: 54 20 63 62 77 69 63 29 3b 0d 0a 2f 2f 20 23 69  T cbwic);..// #i
5360: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
5370: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
5380: 0a 61 6c 69 61 73 20 77 61 76 65 49 6e 47 65 74  .alias waveInGet
5390: 44 65 76 43 61 70 73 41 20 77 61 76 65 49 6e 47  DevCapsA waveInG
53a0: 65 74 44 65 76 43 61 70 73 3b 0d 0a 2f 2f 20 23  etDevCaps;..// #
53b0: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
53c0: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
53d0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
53e0: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
53f0: 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  IN32....extern(W
5400: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
5410: 4d 52 45 53 55 4c 54 20 77 61 76 65 49 6e 47 65  MRESULT waveInGe
5420: 74 45 72 72 6f 72 54 65 78 74 41 28 4d 4d 52 45  tErrorTextA(MMRE
5430: 53 55 4c 54 20 6d 6d 72 45 72 72 6f 72 2c 20 4c  SULT mmrError, L
5440: 50 53 54 52 20 70 73 7a 54 65 78 74 2c 20 55 49  PSTR pszText, UI
5450: 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a 65 78  NT cchText);..ex
5460: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
5470: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61  port MMRESULT wa
5480: 76 65 49 6e 47 65 74 45 72 72 6f 72 54 65 78 74  veInGetErrorText
5490: 57 28 4d 4d 52 45 53 55 4c 54 20 6d 6d 72 45 72  W(MMRESULT mmrEr
54a0: 72 6f 72 2c 20 4c 50 57 53 54 52 20 70 73 7a 54  ror, LPWSTR pszT
54b0: 65 78 74 2c 20 55 49 4e 54 20 63 63 68 54 65 78  ext, UINT cchTex
54c0: 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
54d0: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
54e0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
54f0: 20 77 61 76 65 49 6e 47 65 74 45 72 72 6f 72 54   waveInGetErrorT
5500: 65 78 74 41 20 77 61 76 65 49 6e 47 65 74 45 72  extA waveInGetEr
5510: 72 6f 72 54 65 78 74 3b 0d 0a 2f 2f 20 23 65 6e  rorText;..// #en
5520: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
5530: 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
5540: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
5550: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
5560: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
5570: 54 20 77 61 76 65 49 6e 4f 70 65 6e 28 4c 50 48  T waveInOpen(LPH
5580: 57 41 56 45 49 4e 20 70 68 77 69 2c 20 55 49 4e  WAVEIN phwi, UIN
5590: 54 20 75 44 65 76 69 63 65 49 44 2c 0d 0a 20 20  T uDeviceID,..  
55a0: 4c 50 43 57 41 56 45 46 4f 52 4d 41 54 45 58 20  LPCWAVEFORMATEX 
55b0: 70 77 66 78 2c 20 44 57 4f 52 44 5f 50 54 52 20  pwfx, DWORD_PTR 
55c0: 64 77 43 61 6c 6c 62 61 63 6b 2c 20 44 57 4f 52  dwCallback, DWOR
55d0: 44 5f 50 54 52 20 64 77 49 6e 73 74 61 6e 63 65  D_PTR dwInstance
55e0: 2c 20 44 57 4f 52 44 20 66 64 77 4f 70 65 6e 29  , DWORD fdwOpen)
55f0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
5600: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
5610: 53 55 4c 54 20 77 61 76 65 49 6e 43 6c 6f 73 65  SULT waveInClose
5620: 28 48 57 41 56 45 49 4e 20 68 77 69 29 3b 0d 0a  (HWAVEIN hwi);..
5630: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
5640: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
5650: 77 61 76 65 49 6e 50 72 65 70 61 72 65 48 65 61  waveInPrepareHea
5660: 64 65 72 28 48 57 41 56 45 49 4e 20 68 77 69 2c  der(HWAVEIN hwi,
5670: 20 4c 50 57 41 56 45 48 44 52 20 70 77 68 2c 20   LPWAVEHDR pwh, 
5680: 55 49 4e 54 20 63 62 77 68 29 3b 0d 0a 65 78 74  UINT cbwh);..ext
5690: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
56a0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76  ort MMRESULT wav
56b0: 65 49 6e 55 6e 70 72 65 70 61 72 65 48 65 61 64  eInUnprepareHead
56c0: 65 72 28 48 57 41 56 45 49 4e 20 68 77 69 2c 20  er(HWAVEIN hwi, 
56d0: 4c 50 57 41 56 45 48 44 52 20 70 77 68 2c 20 55  LPWAVEHDR pwh, U
56e0: 49 4e 54 20 63 62 77 68 29 3b 0d 0a 65 78 74 65  INT cbwh);..exte
56f0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
5700: 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65  rt MMRESULT wave
5710: 49 6e 41 64 64 42 75 66 66 65 72 28 48 57 41 56  InAddBuffer(HWAV
5720: 45 49 4e 20 68 77 69 2c 20 4c 50 57 41 56 45 48  EIN hwi, LPWAVEH
5730: 44 52 20 70 77 68 2c 20 55 49 4e 54 20 63 62 77  DR pwh, UINT cbw
5740: 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  h);..extern(Wind
5750: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
5760: 53 55 4c 54 20 77 61 76 65 49 6e 53 74 61 72 74  SULT waveInStart
5770: 28 48 57 41 56 45 49 4e 20 68 77 69 29 3b 0d 0a  (HWAVEIN hwi);..
5780: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
5790: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
57a0: 77 61 76 65 49 6e 53 74 6f 70 28 48 57 41 56 45  waveInStop(HWAVE
57b0: 49 4e 20 68 77 69 29 3b 0d 0a 65 78 74 65 72 6e  IN hwi);..extern
57c0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
57d0: 20 4d 4d 52 45 53 55 4c 54 20 77 61 76 65 49 6e   MMRESULT waveIn
57e0: 52 65 73 65 74 28 48 57 41 56 45 49 4e 20 68 77  Reset(HWAVEIN hw
57f0: 69 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  i);..extern(Wind
5800: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
5810: 53 55 4c 54 20 77 61 76 65 49 6e 47 65 74 50 6f  SULT waveInGetPo
5820: 73 69 74 69 6f 6e 28 48 57 41 56 45 49 4e 20 68  sition(HWAVEIN h
5830: 77 69 2c 20 4c 50 4d 4d 54 49 4d 45 20 70 6d 6d  wi, LPMMTIME pmm
5840: 74 2c 20 55 49 4e 54 20 63 62 6d 6d 74 29 3b 0d  t, UINT cbmmt);.
5850: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
5860: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
5870: 20 77 61 76 65 49 6e 47 65 74 49 44 28 48 57 41   waveInGetID(HWA
5880: 56 45 49 4e 20 68 77 69 2c 20 4c 50 55 49 4e 54  VEIN hwi, LPUINT
5890: 20 70 75 44 65 76 69 63 65 49 44 29 3b 0d 0a 0d   puDeviceID);...
58a0: 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20  .// #if (WINVER 
58b0: 3e 3d 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 23  >= 0x030a)..// #
58c0: 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78  ifdef _WIN32..ex
58d0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
58e0: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 77 61  port MMRESULT wa
58f0: 76 65 49 6e 4d 65 73 73 61 67 65 28 48 57 41 56  veInMessage(HWAV
5900: 45 49 4e 20 68 77 69 2c 20 55 49 4e 54 20 75 4d  EIN hwi, UINT uM
5910: 73 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77  sg, DWORD_PTR dw
5920: 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 32  1, DWORD_PTR dw2
5930: 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  );..// #else..//
5940: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
5950: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66  .// #endif /* if
5960: 64 65 66 20 57 49 4e 56 45 52 20 3e 3d 20 30 78  def WINVER >= 0x
5970: 30 33 30 61 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65  030a */....// #e
5980: 6e 64 69 66 20 20 2f 2a 20 69 66 6e 64 65 66 20  ndif  /* ifndef 
5990: 4d 4d 4e 4f 57 41 56 45 20 2a 2f 0d 0a 0d 0a 2f  MMNOWAVE */..../
59a0: 2f 20 23 69 66 6e 64 65 66 20 4d 4d 4e 4f 4d 49  / #ifndef MMNOMI
59b0: 44 49 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  DI....enum : uin
59c0: 74 20 7b 20 4d 49 44 49 45 52 52 5f 55 4e 50 52  t { MIDIERR_UNPR
59d0: 45 50 41 52 45 44 20 3d 20 4d 49 44 49 45 52 52  EPARED = MIDIERR
59e0: 5f 42 41 53 45 20 2b 20 30 20 7d 0d 0a 65 6e 75  _BASE + 0 }..enu
59f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 45  m : uint { MIDIE
5a00: 52 52 5f 53 54 49 4c 4c 50 4c 41 59 49 4e 47 20  RR_STILLPLAYING 
5a10: 3d 20 4d 49 44 49 45 52 52 5f 42 41 53 45 20 2b  = MIDIERR_BASE +
5a20: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
5a30: 74 20 7b 20 4d 49 44 49 45 52 52 5f 4e 4f 4d 41  t { MIDIERR_NOMA
5a40: 50 20 3d 20 4d 49 44 49 45 52 52 5f 42 41 53 45  P = MIDIERR_BASE
5a50: 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 2 }..enum : u
5a60: 69 6e 74 20 7b 20 4d 49 44 49 45 52 52 5f 4e 4f  int { MIDIERR_NO
5a70: 54 52 45 41 44 59 20 3d 20 4d 49 44 49 45 52 52  TREADY = MIDIERR
5a80: 5f 42 41 53 45 20 2b 20 33 20 7d 0d 0a 65 6e 75  _BASE + 3 }..enu
5a90: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 45  m : uint { MIDIE
5aa0: 52 52 5f 4e 4f 44 45 56 49 43 45 20 3d 20 4d 49  RR_NODEVICE = MI
5ab0: 44 49 45 52 52 5f 42 41 53 45 20 2b 20 34 20 7d  DIERR_BASE + 4 }
5ac0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5ad0: 4d 49 44 49 45 52 52 5f 49 4e 56 41 4c 49 44 53  MIDIERR_INVALIDS
5ae0: 45 54 55 50 20 3d 20 4d 49 44 49 45 52 52 5f 42  ETUP = MIDIERR_B
5af0: 41 53 45 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20  ASE + 5 }..enum 
5b00: 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 45 52 52  : uint { MIDIERR
5b10: 5f 42 41 44 4f 50 45 4e 4d 4f 44 45 20 3d 20 4d  _BADOPENMODE = M
5b20: 49 44 49 45 52 52 5f 42 41 53 45 20 2b 20 36 20  IDIERR_BASE + 6 
5b30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5b40: 20 4d 49 44 49 45 52 52 5f 44 4f 4e 54 5f 43 4f   MIDIERR_DONT_CO
5b50: 4e 54 49 4e 55 45 20 3d 20 4d 49 44 49 45 52 52  NTINUE = MIDIERR
5b60: 5f 42 41 53 45 20 2b 20 37 20 7d 0d 0a 65 6e 75  _BASE + 7 }..enu
5b70: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 45  m : uint { MIDIE
5b80: 52 52 5f 4c 41 53 54 45 52 52 4f 52 20 3d 20 4d  RR_LASTERROR = M
5b90: 49 44 49 45 52 52 5f 42 41 53 45 20 2b 20 37 20  IDIERR_BASE + 7 
5ba0: 7d 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  }....alias void*
5bb0: 20 48 4d 49 44 49 3b 0d 0a 61 6c 69 61 73 20 76   HMIDI;..alias v
5bc0: 6f 69 64 2a 20 48 4d 49 44 49 49 4e 3b 0d 0a 61  oid* HMIDIIN;..a
5bd0: 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 49 44 49  lias void* HMIDI
5be0: 4f 55 54 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64  OUT;..alias void
5bf0: 2a 20 48 4d 49 44 49 53 54 52 4d 3b 0d 0a 61 6c  * HMIDISTRM;..al
5c00: 69 61 73 20 48 4d 49 44 49 2a 20 4c 50 48 4d 49  ias HMIDI* LPHMI
5c10: 44 49 3b 0d 0a 61 6c 69 61 73 20 48 4d 49 44 49  DI;..alias HMIDI
5c20: 49 4e 2a 20 4c 50 48 4d 49 44 49 49 4e 3b 0d 0a  IN* LPHMIDIIN;..
5c30: 61 6c 69 61 73 20 48 4d 49 44 49 4f 55 54 2a 20  alias HMIDIOUT* 
5c40: 4c 50 48 4d 49 44 49 4f 55 54 3b 0d 0a 61 6c 69  LPHMIDIOUT;..ali
5c50: 61 73 20 48 4d 49 44 49 53 54 52 4d 2a 20 4c 50  as HMIDISTRM* LP
5c60: 48 4d 49 44 49 53 54 52 4d 3b 0d 0a 2f 2f 20 74  HMIDISTRM;..// t
5c70: 79 70 65 64 65 66 20 44 52 56 43 41 4c 4c 42 41  ypedef DRVCALLBA
5c80: 43 4b 20 4d 49 44 49 43 41 4c 4c 42 41 43 4b 3b  CK MIDICALLBACK;
5c90: 0d 0a 61 6c 69 61 73 20 4c 50 44 52 56 43 41 4c  ..alias LPDRVCAL
5ca0: 4c 42 41 43 4b 20 4c 50 4d 49 44 49 43 41 4c 4c  LBACK LPMIDICALL
5cb0: 42 41 43 4b 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69  BACK;..enum : ui
5cc0: 6e 74 20 7b 20 4d 49 44 49 50 41 54 43 48 53 49  nt { MIDIPATCHSI
5cd0: 5a 45 20 3d 20 31 32 38 20 7d 0d 0a 61 6c 69 61  ZE = 128 }..alia
5ce0: 73 20 57 4f 52 44 20 50 41 54 43 48 41 52 52 41  s WORD PATCHARRA
5cf0: 59 5b 4d 49 44 49 50 41 54 43 48 53 49 5a 45 5d  Y[MIDIPATCHSIZE]
5d00: 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44 2a 20 4c  ;..alias WORD* L
5d10: 50 50 41 54 43 48 41 52 52 41 59 3b 0d 0a 61 6c  PPATCHARRAY;..al
5d20: 69 61 73 20 57 4f 52 44 20 4b 45 59 41 52 52 41  ias WORD KEYARRA
5d30: 59 5b 4d 49 44 49 50 41 54 43 48 53 49 5a 45 5d  Y[MIDIPATCHSIZE]
5d40: 3b 0d 0a 61 6c 69 61 73 20 57 4f 52 44 2a 20 4c  ;..alias WORD* L
5d50: 50 4b 45 59 41 52 52 41 59 3b 0d 0a 0d 0a 61 6c  PKEYARRAY;....al
5d60: 69 61 73 20 4d 4d 5f 4d 49 4d 5f 4f 50 45 4e 20  ias MM_MIM_OPEN 
5d70: 4d 49 4d 5f 4f 50 45 4e 3b 0d 0a 61 6c 69 61 73  MIM_OPEN;..alias
5d80: 20 4d 4d 5f 4d 49 4d 5f 43 4c 4f 53 45 20 4d 49   MM_MIM_CLOSE MI
5d90: 4d 5f 43 4c 4f 53 45 3b 0d 0a 61 6c 69 61 73 20  M_CLOSE;..alias 
5da0: 4d 4d 5f 4d 49 4d 5f 44 41 54 41 20 4d 49 4d 5f  MM_MIM_DATA MIM_
5db0: 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 4d 4d 5f  DATA;..alias MM_
5dc0: 4d 49 4d 5f 4c 4f 4e 47 44 41 54 41 20 4d 49 4d  MIM_LONGDATA MIM
5dd0: 5f 4c 4f 4e 47 44 41 54 41 3b 0d 0a 61 6c 69 61  _LONGDATA;..alia
5de0: 73 20 4d 4d 5f 4d 49 4d 5f 45 52 52 4f 52 20 4d  s MM_MIM_ERROR M
5df0: 49 4d 5f 45 52 52 4f 52 3b 0d 0a 61 6c 69 61 73  IM_ERROR;..alias
5e00: 20 4d 4d 5f 4d 49 4d 5f 4c 4f 4e 47 45 52 52 4f   MM_MIM_LONGERRO
5e10: 52 20 4d 49 4d 5f 4c 4f 4e 47 45 52 52 4f 52 3b  R MIM_LONGERROR;
5e20: 0d 0a 61 6c 69 61 73 20 4d 4d 5f 4d 4f 4d 5f 4f  ..alias MM_MOM_O
5e30: 50 45 4e 20 4d 4f 4d 5f 4f 50 45 4e 3b 0d 0a 61  PEN MOM_OPEN;..a
5e40: 6c 69 61 73 20 4d 4d 5f 4d 4f 4d 5f 43 4c 4f 53  lias MM_MOM_CLOS
5e50: 45 20 4d 4f 4d 5f 43 4c 4f 53 45 3b 0d 0a 61 6c  E MOM_CLOSE;..al
5e60: 69 61 73 20 4d 4d 5f 4d 4f 4d 5f 44 4f 4e 45 20  ias MM_MOM_DONE 
5e70: 4d 4f 4d 5f 44 4f 4e 45 3b 0d 0a 0d 0a 2f 2f 20  MOM_DONE;....// 
5e80: 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78  #if(WINVER >= 0x
5e90: 30 34 30 30 29 0d 0a 61 6c 69 61 73 20 4d 4d 5f  0400)..alias MM_
5ea0: 4d 49 4d 5f 4d 4f 52 45 44 41 54 41 20 4d 49 4d  MIM_MOREDATA MIM
5eb0: 5f 4d 4f 52 45 44 41 54 41 3b 0d 0a 61 6c 69 61  _MOREDATA;..alia
5ec0: 73 20 4d 4d 5f 4d 4f 4d 5f 50 4f 53 49 54 49 4f  s MM_MOM_POSITIO
5ed0: 4e 43 42 20 4d 4f 4d 5f 50 4f 53 49 54 49 4f 4e  NCB MOM_POSITION
5ee0: 43 42 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  CB;..// #endif /
5ef0: 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  * WINVER >= 0x04
5f00: 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  00 */....enum : 
5f10: 75 69 6e 74 20 7b 20 4d 49 44 49 4d 41 50 50 45  uint { MIDIMAPPE
5f20: 52 20 3d 20 63 61 73 74 28 55 49 4e 54 29 2d 31  R = cast(UINT)-1
5f30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5f40: 7b 20 4d 49 44 49 5f 4d 41 50 50 45 52 20 3d 20  { MIDI_MAPPER = 
5f50: 63 61 73 74 28 55 49 4e 54 29 2d 31 20 7d 0d 0a  cast(UINT)-1 }..
5f60: 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 20  ..// #if(WINVER 
5f70: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d 0a 65 6e  >= 0x0400)....en
5f80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49  um : uint { MIDI
5f90: 5f 49 4f 5f 53 54 41 54 55 53 20 3d 20 30 78 30  _IO_STATUS = 0x0
5fa0: 30 30 30 30 30 32 30 20 7d 0d 0a 2f 2f 20 23 65  0000020 }..// #e
5fb0: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e  ndif /* WINVER >
5fc0: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65  = 0x0400 */....e
5fd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 44  num : uint { MID
5fe0: 49 5f 43 41 43 48 45 5f 41 4c 4c 20 3d 20 31 20  I_CACHE_ALL = 1 
5ff0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
6000: 20 4d 49 44 49 5f 43 41 43 48 45 5f 42 45 53 54   MIDI_CACHE_BEST
6010: 46 49 54 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20  FIT = 2 }..enum 
6020: 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 5f 43 41  : uint { MIDI_CA
6030: 43 48 45 5f 51 55 45 52 59 20 3d 20 33 20 7d 0d  CHE_QUERY = 3 }.
6040: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
6050: 49 44 49 5f 55 4e 43 41 43 48 45 20 3d 20 34 20  IDI_UNCACHE = 4 
6060: 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f  }....// #ifdef _
6070: 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20  WIN32....struct 
6080: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 41 20  tagMIDIOUTCAPSA 
6090: 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d  {..  WORD wMid;.
60a0: 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20  .  WORD wPid;.. 
60b0: 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76   MMVERSION vDriv
60c0: 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 43 48  erVersion;..  CH
60d0: 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e  AR szPname[MAXPN
60e0: 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57 4f 52 44  AMELEN];..  WORD
60f0: 20 77 54 65 63 68 6e 6f 6c 6f 67 79 3b 0d 0a 20   wTechnology;.. 
6100: 20 57 4f 52 44 20 77 56 6f 69 63 65 73 3b 0d 0a   WORD wVoices;..
6110: 20 20 57 4f 52 44 20 77 4e 6f 74 65 73 3b 0d 0a    WORD wNotes;..
6120: 20 20 57 4f 52 44 20 77 43 68 61 6e 6e 65 6c 4d    WORD wChannelM
6130: 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ask;..  DWORD dw
6140: 53 75 70 70 6f 72 74 3b 0d 0a 7d 0d 0a 61 6c 69  Support;..}..ali
6150: 61 73 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50  as tagMIDIOUTCAP
6160: 53 41 20 4d 49 44 49 4f 55 54 43 41 50 53 41 3b  SA MIDIOUTCAPSA;
6170: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f  ..alias tagMIDIO
6180: 55 54 43 41 50 53 41 2a 20 50 4d 49 44 49 4f 55  UTCAPSA* PMIDIOU
6190: 54 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74  TCAPSA;..alias t
61a0: 61 67 4d 49 44 49 4f 55 54 43 41 50 53 41 2a 20  agMIDIOUTCAPSA* 
61b0: 4e 50 4d 49 44 49 4f 55 54 43 41 50 53 41 3b 0d  NPMIDIOUTCAPSA;.
61c0: 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f 55  .alias tagMIDIOU
61d0: 54 43 41 50 53 41 2a 20 4c 50 4d 49 44 49 4f 55  TCAPSA* LPMIDIOU
61e0: 54 43 41 50 53 41 3b 0d 0a 0d 0a 73 74 72 75 63  TCAPSA;....struc
61f0: 74 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53  t tagMIDIOUTCAPS
6200: 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64  W {..  WORD wMid
6210: 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d  ;..  WORD wPid;.
6220: 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72  .  MMVERSION vDr
6230: 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  iverVersion;..  
6240: 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41  WCHAR szPname[MA
6250: 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57  XPNAMELEN];..  W
6260: 4f 52 44 20 77 54 65 63 68 6e 6f 6c 6f 67 79 3b  ORD wTechnology;
6270: 0d 0a 20 20 57 4f 52 44 20 77 56 6f 69 63 65 73  ..  WORD wVoices
6280: 3b 0d 0a 20 20 57 4f 52 44 20 77 4e 6f 74 65 73  ;..  WORD wNotes
6290: 3b 0d 0a 20 20 57 4f 52 44 20 77 43 68 61 6e 6e  ;..  WORD wChann
62a0: 65 6c 4d 61 73 6b 3b 0d 0a 20 20 44 57 4f 52 44  elMask;..  DWORD
62b0: 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 7d 0d 0a   dwSupport;..}..
62c0: 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f 55 54  alias tagMIDIOUT
62d0: 43 41 50 53 57 20 4d 49 44 49 4f 55 54 43 41 50  CAPSW MIDIOUTCAP
62e0: 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  SW;..alias tagMI
62f0: 44 49 4f 55 54 43 41 50 53 57 2a 20 50 4d 49 44  DIOUTCAPSW* PMID
6300: 49 4f 55 54 43 41 50 53 57 3b 0d 0a 61 6c 69 61  IOUTCAPSW;..alia
6310: 73 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53  s tagMIDIOUTCAPS
6320: 57 2a 20 4e 50 4d 49 44 49 4f 55 54 43 41 50 53  W* NPMIDIOUTCAPS
6330: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44  W;..alias tagMID
6340: 49 4f 55 54 43 41 50 53 57 2a 20 4c 50 4d 49 44  IOUTCAPSW* LPMID
6350: 49 4f 55 54 43 41 50 53 57 3b 0d 0a 0d 0a 2f 2f  IOUTCAPSW;....//
6360: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
6370: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  .// .....// #els
6380: 65 0d 0a 61 6c 69 61 73 20 4d 49 44 49 4f 55 54  e..alias MIDIOUT
6390: 43 41 50 53 41 20 4d 49 44 49 4f 55 54 43 41 50  CAPSA MIDIOUTCAP
63a0: 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 44 49 4f  S;..alias PMIDIO
63b0: 55 54 43 41 50 53 41 20 50 4d 49 44 49 4f 55 54  UTCAPSA PMIDIOUT
63c0: 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4e 50 4d  CAPS;..alias NPM
63d0: 49 44 49 4f 55 54 43 41 50 53 41 20 4e 50 4d 49  IDIOUTCAPSA NPMI
63e0: 44 49 4f 55 54 43 41 50 53 3b 0d 0a 61 6c 69 61  DIOUTCAPS;..alia
63f0: 73 20 4c 50 4d 49 44 49 4f 55 54 43 41 50 53 41  s LPMIDIOUTCAPSA
6400: 20 4c 50 4d 49 44 49 4f 55 54 43 41 50 53 3b 0d   LPMIDIOUTCAPS;.
6410: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
6420: 49 43 4f 44 45 0d 0a 73 74 72 75 63 74 20 74 61  ICODE..struct ta
6430: 67 4d 49 44 49 4f 55 54 43 41 50 53 32 41 20 7b  gMIDIOUTCAPS2A {
6440: 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a  ..  WORD wMid;..
6450: 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20    WORD wPid;..  
6460: 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65  MMVERSION vDrive
6470: 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 43 48 41  rVersion;..  CHA
6480: 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41  R szPname[MAXPNA
6490: 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57 4f 52 44 20  MELEN];..  WORD 
64a0: 77 54 65 63 68 6e 6f 6c 6f 67 79 3b 0d 0a 20 20  wTechnology;..  
64b0: 57 4f 52 44 20 77 56 6f 69 63 65 73 3b 0d 0a 20  WORD wVoices;.. 
64c0: 20 57 4f 52 44 20 77 4e 6f 74 65 73 3b 0d 0a 20   WORD wNotes;.. 
64d0: 20 57 4f 52 44 20 77 43 68 61 6e 6e 65 6c 4d 61   WORD wChannelMa
64e0: 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  sk;..  DWORD dwS
64f0: 75 70 70 6f 72 74 3b 0d 0a 20 20 47 55 49 44 20  upport;..  GUID 
6500: 4d 61 6e 75 66 61 63 74 75 72 65 72 47 75 69 64  ManufacturerGuid
6510: 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63  ;..  GUID Produc
6520: 74 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e  tGuid;..  GUID N
6530: 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69  ameGuid;..}..ali
6540: 61 73 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50  as tagMIDIOUTCAP
6550: 53 32 41 20 4d 49 44 49 4f 55 54 43 41 50 53 32  S2A MIDIOUTCAPS2
6560: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44  A;..alias tagMID
6570: 49 4f 55 54 43 41 50 53 32 41 2a 20 50 4d 49 44  IOUTCAPS2A* PMID
6580: 49 4f 55 54 43 41 50 53 32 41 3b 0d 0a 61 6c 69  IOUTCAPS2A;..ali
6590: 61 73 20 74 61 67 4d 49 44 49 4f 55 54 43 41 50  as tagMIDIOUTCAP
65a0: 53 32 41 2a 20 4e 50 4d 49 44 49 4f 55 54 43 41  S2A* NPMIDIOUTCA
65b0: 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2A;..alias tag
65c0: 4d 49 44 49 4f 55 54 43 41 50 53 32 41 2a 20 4c  MIDIOUTCAPS2A* L
65d0: 50 4d 49 44 49 4f 55 54 43 41 50 53 32 41 3b 0d  PMIDIOUTCAPS2A;.
65e0: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 44  ...struct tagMID
65f0: 49 4f 55 54 43 41 50 53 32 57 20 7b 0d 0a 20 20  IOUTCAPS2W {..  
6600: 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f  WORD wMid;..  WO
6610: 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45  RD wPid;..  MMVE
6620: 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72  RSION vDriverVer
6630: 73 69 6f 6e 3b 0d 0a 20 20 57 43 48 41 52 20 73  sion;..  WCHAR s
6640: 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c  zPname[MAXPNAMEL
6650: 45 4e 5d 3b 0d 0a 20 20 57 4f 52 44 20 77 54 65  EN];..  WORD wTe
6660: 63 68 6e 6f 6c 6f 67 79 3b 0d 0a 20 20 57 4f 52  chnology;..  WOR
6670: 44 20 77 56 6f 69 63 65 73 3b 0d 0a 20 20 57 4f  D wVoices;..  WO
6680: 52 44 20 77 4e 6f 74 65 73 3b 0d 0a 20 20 57 4f  RD wNotes;..  WO
6690: 52 44 20 77 43 68 61 6e 6e 65 6c 4d 61 73 6b 3b  RD wChannelMask;
66a0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 75 70 70  ..  DWORD dwSupp
66b0: 6f 72 74 3b 0d 0a 20 20 47 55 49 44 20 4d 61 6e  ort;..  GUID Man
66c0: 75 66 61 63 74 75 72 65 72 47 75 69 64 3b 0d 0a  ufacturerGuid;..
66d0: 20 20 47 55 49 44 20 50 72 6f 64 75 63 74 47 75    GUID ProductGu
66e0: 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e 61 6d 65  id;..  GUID Name
66f0: 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Guid;..}..alias 
6700: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 32 57  tagMIDIOUTCAPS2W
6710: 20 4d 49 44 49 4f 55 54 43 41 50 53 32 57 3b 0d   MIDIOUTCAPS2W;.
6720: 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 4f 55  .alias tagMIDIOU
6730: 54 43 41 50 53 32 57 2a 20 50 4d 49 44 49 4f 55  TCAPS2W* PMIDIOU
6740: 54 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20  TCAPS2W;..alias 
6750: 74 61 67 4d 49 44 49 4f 55 54 43 41 50 53 32 57  tagMIDIOUTCAPS2W
6760: 2a 20 4e 50 4d 49 44 49 4f 55 54 43 41 50 53 32  * NPMIDIOUTCAPS2
6770: 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44  W;..alias tagMID
6780: 49 4f 55 54 43 41 50 53 32 57 2a 20 4c 50 4d 49  IOUTCAPS2W* LPMI
6790: 44 49 4f 55 54 43 41 50 53 32 57 3b 0d 0a 0d 0a  DIOUTCAPS2W;....
67a0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
67b0: 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  E..// .....// #e
67c0: 6c 73 65 0d 0a 61 6c 69 61 73 20 4d 49 44 49 4f  lse..alias MIDIO
67d0: 55 54 43 41 50 53 32 41 20 4d 49 44 49 4f 55 54  UTCAPS2A MIDIOUT
67e0: 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 50 4d  CAPS2;..alias PM
67f0: 49 44 49 4f 55 54 43 41 50 53 32 41 20 50 4d 49  IDIOUTCAPS2A PMI
6800: 44 49 4f 55 54 43 41 50 53 32 3b 0d 0a 61 6c 69  DIOUTCAPS2;..ali
6810: 61 73 20 4e 50 4d 49 44 49 4f 55 54 43 41 50 53  as NPMIDIOUTCAPS
6820: 32 41 20 4e 50 4d 49 44 49 4f 55 54 43 41 50 53  2A NPMIDIOUTCAPS
6830: 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 49 44 49  2;..alias LPMIDI
6840: 4f 55 54 43 41 50 53 32 41 20 4c 50 4d 49 44 49  OUTCAPS2A LPMIDI
6850: 4f 55 54 43 41 50 53 32 3b 0d 0a 2f 2f 20 23 65  OUTCAPS2;..// #e
6860: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
6870: 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
6880: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
6890: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
68a0: 4d 4f 44 5f 4d 49 44 49 50 4f 52 54 20 3d 20 31  MOD_MIDIPORT = 1
68b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
68c0: 7b 20 4d 4f 44 5f 53 59 4e 54 48 20 3d 20 32 20  { MOD_SYNTH = 2 
68d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
68e0: 20 4d 4f 44 5f 53 51 53 59 4e 54 48 20 3d 20 33   MOD_SQSYNTH = 3
68f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6900: 7b 20 4d 4f 44 5f 46 4d 53 59 4e 54 48 20 3d 20  { MOD_FMSYNTH = 
6910: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
6920: 20 7b 20 4d 4f 44 5f 4d 41 50 50 45 52 20 3d 20   { MOD_MAPPER = 
6930: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
6940: 20 7b 20 4d 4f 44 5f 57 41 56 45 54 41 42 4c 45   { MOD_WAVETABLE
6950: 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 6 }..enum : u
6960: 69 6e 74 20 7b 20 4d 4f 44 5f 53 57 53 59 4e 54  int { MOD_SWSYNT
6970: 48 20 3d 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  H = 7 }....enum 
6980: 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 43 41 50  : uint { MIDICAP
6990: 53 5f 56 4f 4c 55 4d 45 20 3d 20 30 78 30 30 30  S_VOLUME = 0x000
69a0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
69b0: 20 7b 20 4d 49 44 49 43 41 50 53 5f 4c 52 56 4f   { MIDICAPS_LRVO
69c0: 4c 55 4d 45 20 3d 20 30 78 30 30 30 32 20 7d 0d  LUME = 0x0002 }.
69d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
69e0: 49 44 49 43 41 50 53 5f 43 41 43 48 45 20 3d 20  IDICAPS_CACHE = 
69f0: 30 78 30 30 30 34 20 7d 0d 0a 2f 2f 20 23 69 66  0x0004 }..// #if
6a00: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
6a10: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  0)..enum : uint 
6a20: 7b 20 4d 49 44 49 43 41 50 53 5f 53 54 52 45 41  { MIDICAPS_STREA
6a30: 4d 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 2f 2f  M = 0x0008 }..//
6a40: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
6a50: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
6a60: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
6a70: 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  32....struct tag
6a80: 4d 49 44 49 49 4e 43 41 50 53 41 20 7b 0d 0a 20  MIDIINCAPSA {.. 
6a90: 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57   WORD wMid;..  W
6aa0: 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56  ORD wPid;..  MMV
6ab0: 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65  ERSION vDriverVe
6ac0: 72 73 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73  rsion;..  CHAR s
6ad0: 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c  zPname[MAXPNAMEL
6ae0: 45 4e 5d 3b 0d 0a 2f 2f 20 23 69 66 20 28 57 49  EN];..// #if (WI
6af0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
6b00: 0a 20 20 44 57 4f 52 44 20 64 77 53 75 70 70 6f  .  DWORD dwSuppo
6b10: 72 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  rt;..// #endif..
6b20: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49  }..alias tagMIDI
6b30: 49 4e 43 41 50 53 41 20 4d 49 44 49 49 4e 43 41  INCAPSA MIDIINCA
6b40: 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  PSA;..alias tagM
6b50: 49 44 49 49 4e 43 41 50 53 41 2a 20 50 4d 49 44  IDIINCAPSA* PMID
6b60: 49 49 4e 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73  IINCAPSA;..alias
6b70: 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53 41 2a   tagMIDIINCAPSA*
6b80: 20 4e 50 4d 49 44 49 49 4e 43 41 50 53 41 3b 0d   NPMIDIINCAPSA;.
6b90: 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e  .alias tagMIDIIN
6ba0: 43 41 50 53 41 2a 20 4c 50 4d 49 44 49 49 4e 43  CAPSA* LPMIDIINC
6bb0: 41 50 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  APSA;....struct 
6bc0: 74 61 67 4d 49 44 49 49 4e 43 41 50 53 57 20 7b  tagMIDIINCAPSW {
6bd0: 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a  ..  WORD wMid;..
6be0: 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20    WORD wPid;..  
6bf0: 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65  MMVERSION vDrive
6c00: 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48  rVersion;..  WCH
6c10: 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e  AR szPname[MAXPN
6c20: 41 4d 45 4c 45 4e 5d 3b 0d 0a 2f 2f 20 23 69 66  AMELEN];..// #if
6c30: 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34   (WINVER >= 0x04
6c40: 30 30 29 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  00)..  DWORD dwS
6c50: 75 70 70 6f 72 74 3b 0d 0a 2f 2f 20 23 65 6e 64  upport;..// #end
6c60: 69 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  if..}..alias tag
6c70: 4d 49 44 49 49 4e 43 41 50 53 57 20 4d 49 44 49  MIDIINCAPSW MIDI
6c80: 49 4e 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20  INCAPSW;..alias 
6c90: 74 61 67 4d 49 44 49 49 4e 43 41 50 53 57 2a 20  tagMIDIINCAPSW* 
6ca0: 50 4d 49 44 49 49 4e 43 41 50 53 57 3b 0d 0a 61  PMIDIINCAPSW;..a
6cb0: 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e 43 41  lias tagMIDIINCA
6cc0: 50 53 57 2a 20 4e 50 4d 49 44 49 49 4e 43 41 50  PSW* NPMIDIINCAP
6cd0: 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  SW;..alias tagMI
6ce0: 44 49 49 4e 43 41 50 53 57 2a 20 4c 50 4d 49 44  DIINCAPSW* LPMID
6cf0: 49 49 4e 43 41 50 53 57 3b 0d 0a 0d 0a 2f 2f 20  IINCAPSW;....// 
6d00: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
6d10: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  // .....// #else
6d20: 0d 0a 61 6c 69 61 73 20 4d 49 44 49 49 4e 43 41  ..alias MIDIINCA
6d30: 50 53 41 20 4d 49 44 49 49 4e 43 41 50 53 3b 0d  PSA MIDIINCAPS;.
6d40: 0a 61 6c 69 61 73 20 50 4d 49 44 49 49 4e 43 41  .alias PMIDIINCA
6d50: 50 53 41 20 50 4d 49 44 49 49 4e 43 41 50 53 3b  PSA PMIDIINCAPS;
6d60: 0d 0a 61 6c 69 61 73 20 4e 50 4d 49 44 49 49 4e  ..alias NPMIDIIN
6d70: 43 41 50 53 41 20 4e 50 4d 49 44 49 49 4e 43 41  CAPSA NPMIDIINCA
6d80: 50 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 49 44  PS;..alias LPMID
6d90: 49 49 4e 43 41 50 53 41 20 4c 50 4d 49 44 49 49  IINCAPSA LPMIDII
6da0: 4e 43 41 50 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69  NCAPS;..// #endi
6db0: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 73 74  f // UNICODE..st
6dc0: 72 75 63 74 20 74 61 67 4d 49 44 49 49 4e 43 41  ruct tagMIDIINCA
6dd0: 50 53 32 41 20 7b 0d 0a 20 20 57 4f 52 44 20 77  PS2A {..  WORD w
6de0: 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69  Mid;..  WORD wPi
6df0: 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20  d;..  MMVERSION 
6e00: 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d  vDriverVersion;.
6e10: 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b  .  CHAR szPname[
6e20: 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 2f  MAXPNAMELEN];../
6e30: 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  / #if (WINVER >=
6e40: 20 30 78 30 34 30 30 29 0d 0a 20 20 44 57 4f 52   0x0400)..  DWOR
6e50: 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 2f 2f  D dwSupport;..//
6e60: 20 23 65 6e 64 69 66 0d 0a 20 20 47 55 49 44 20   #endif..  GUID 
6e70: 4d 61 6e 75 66 61 63 74 75 72 65 72 47 75 69 64  ManufacturerGuid
6e80: 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63  ;..  GUID Produc
6e90: 74 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e  tGuid;..  GUID N
6ea0: 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69  ameGuid;..}..ali
6eb0: 61 73 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53  as tagMIDIINCAPS
6ec0: 32 41 20 4d 49 44 49 49 4e 43 41 50 53 32 41 3b  2A MIDIINCAPS2A;
6ed0: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49  ..alias tagMIDII
6ee0: 4e 43 41 50 53 32 41 2a 20 50 4d 49 44 49 49 4e  NCAPS2A* PMIDIIN
6ef0: 43 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74  CAPS2A;..alias t
6f00: 61 67 4d 49 44 49 49 4e 43 41 50 53 32 41 2a 20  agMIDIINCAPS2A* 
6f10: 4e 50 4d 49 44 49 49 4e 43 41 50 53 32 41 3b 0d  NPMIDIINCAPS2A;.
6f20: 0a 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e  .alias tagMIDIIN
6f30: 43 41 50 53 32 41 2a 20 4c 50 4d 49 44 49 49 4e  CAPS2A* LPMIDIIN
6f40: 43 41 50 53 32 41 3b 0d 0a 0d 0a 73 74 72 75 63  CAPS2A;....struc
6f50: 74 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53 32  t tagMIDIINCAPS2
6f60: 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64  W {..  WORD wMid
6f70: 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d  ;..  WORD wPid;.
6f80: 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72  .  MMVERSION vDr
6f90: 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  iverVersion;..  
6fa0: 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41  WCHAR szPname[MA
6fb0: 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 2f 2f 20  XPNAMELEN];..// 
6fc0: 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30  #if (WINVER >= 0
6fd0: 78 30 34 30 30 29 0d 0a 20 20 44 57 4f 52 44 20  x0400)..  DWORD 
6fe0: 64 77 53 75 70 70 6f 72 74 3b 0d 0a 2f 2f 20 23  dwSupport;..// #
6ff0: 65 6e 64 69 66 0d 0a 20 20 47 55 49 44 20 4d 61  endif..  GUID Ma
7000: 6e 75 66 61 63 74 75 72 65 72 47 75 69 64 3b 0d  nufacturerGuid;.
7010: 0a 20 20 47 55 49 44 20 50 72 6f 64 75 63 74 47  .  GUID ProductG
7020: 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 4e 61 6d  uid;..  GUID Nam
7030: 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eGuid;..}..alias
7040: 20 74 61 67 4d 49 44 49 49 4e 43 41 50 53 32 57   tagMIDIINCAPS2W
7050: 20 4d 49 44 49 49 4e 43 41 50 53 32 57 3b 0d 0a   MIDIINCAPS2W;..
7060: 61 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e 43  alias tagMIDIINC
7070: 41 50 53 32 57 2a 20 50 4d 49 44 49 49 4e 43 41  APS2W* PMIDIINCA
7080: 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  PS2W;..alias tag
7090: 4d 49 44 49 49 4e 43 41 50 53 32 57 2a 20 4e 50  MIDIINCAPS2W* NP
70a0: 4d 49 44 49 49 4e 43 41 50 53 32 57 3b 0d 0a 61  MIDIINCAPS2W;..a
70b0: 6c 69 61 73 20 74 61 67 4d 49 44 49 49 4e 43 41  lias tagMIDIINCA
70c0: 50 53 32 57 2a 20 4c 50 4d 49 44 49 49 4e 43 41  PS2W* LPMIDIINCA
70d0: 50 53 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  PS2W;....// #ifd
70e0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e  ef UNICODE..// .
70f0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
7100: 69 61 73 20 4d 49 44 49 49 4e 43 41 50 53 32 41  ias MIDIINCAPS2A
7110: 20 4d 49 44 49 49 4e 43 41 50 53 32 3b 0d 0a 61   MIDIINCAPS2;..a
7120: 6c 69 61 73 20 50 4d 49 44 49 49 4e 43 41 50 53  lias PMIDIINCAPS
7130: 32 41 20 50 4d 49 44 49 49 4e 43 41 50 53 32 3b  2A PMIDIINCAPS2;
7140: 0d 0a 61 6c 69 61 73 20 4e 50 4d 49 44 49 49 4e  ..alias NPMIDIIN
7150: 43 41 50 53 32 41 20 4e 50 4d 49 44 49 49 4e 43  CAPS2A NPMIDIINC
7160: 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d  APS2;..alias LPM
7170: 49 44 49 49 4e 43 41 50 53 32 41 20 4c 50 4d 49  IDIINCAPS2A LPMI
7180: 44 49 49 4e 43 41 50 53 32 3b 0d 0a 2f 2f 20 23  DIINCAPS2;..// #
7190: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
71a0: 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
71b0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 20 28 57 49   .....// #if (WI
71c0: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d  NVER >= 0x0400).
71d0: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
71e0: 69 66 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  if..// .....// #
71f0: 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
7200: 6d 69 64 69 68 64 72 5f 74 61 67 20 7b 0d 0a 20  midihdr_tag {.. 
7210: 20 4c 50 53 54 52 20 6c 70 44 61 74 61 3b 0d 0a   LPSTR lpData;..
7220: 20 20 44 57 4f 52 44 20 64 77 42 75 66 66 65 72    DWORD dwBuffer
7230: 4c 65 6e 67 74 68 3b 0d 0a 20 20 44 57 4f 52 44  Length;..  DWORD
7240: 20 64 77 42 79 74 65 73 52 65 63 6f 72 64 65 64   dwBytesRecorded
7250: 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  ;..  DWORD_PTR d
7260: 77 55 73 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20  wUser;..  DWORD 
7270: 64 77 46 6c 61 67 73 3b 0d 0a 20 20 6d 69 64 69  dwFlags;..  midi
7280: 68 64 72 5f 74 61 67 20 2a 6c 70 4e 65 78 74 3b  hdr_tag *lpNext;
7290: 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 72 65  ..  DWORD_PTR re
72a0: 73 65 72 76 65 64 3b 0d 0a 2f 2f 20 23 69 66 20  served;..// #if 
72b0: 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30  (WINVER >= 0x040
72c0: 30 29 0d 0a 20 20 44 57 4f 52 44 20 64 77 4f 66  0)..  DWORD dwOf
72d0: 66 73 65 74 3b 0d 0a 20 20 44 57 4f 52 44 5f 50  fset;..  DWORD_P
72e0: 54 52 20 64 77 52 65 73 65 72 76 65 64 5b 38 5d  TR dwReserved[8]
72f0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ;..// #endif..}.
7300: 0a 61 6c 69 61 73 20 6d 69 64 69 68 64 72 5f 74  .alias midihdr_t
7310: 61 67 20 4d 49 44 49 48 44 52 3b 0d 0a 61 6c 69  ag MIDIHDR;..ali
7320: 61 73 20 6d 69 64 69 68 64 72 5f 74 61 67 2a 20  as midihdr_tag* 
7330: 50 4d 49 44 49 48 44 52 3b 0d 0a 61 6c 69 61 73  PMIDIHDR;..alias
7340: 20 6d 69 64 69 68 64 72 5f 74 61 67 2a 20 4e 50   midihdr_tag* NP
7350: 4d 49 44 49 48 44 52 3b 0d 0a 61 6c 69 61 73 20  MIDIHDR;..alias 
7360: 6d 69 64 69 68 64 72 5f 74 61 67 2a 20 4c 50 4d  midihdr_tag* LPM
7370: 49 44 49 48 44 52 3b 0d 0a 0d 0a 2f 2f 20 23 69  IDIHDR;....// #i
7380: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
7390: 30 30 29 0d 0a 73 74 72 75 63 74 20 6d 69 64 69  00)..struct midi
73a0: 65 76 65 6e 74 5f 74 61 67 20 7b 0d 0a 20 20 44  event_tag {..  D
73b0: 57 4f 52 44 20 64 77 44 65 6c 74 61 54 69 6d 65  WORD dwDeltaTime
73c0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74 72  ;..  DWORD dwStr
73d0: 65 61 6d 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20  eamID;..  DWORD 
73e0: 64 77 45 76 65 6e 74 3b 0d 0a 20 20 44 57 4f 52  dwEvent;..  DWOR
73f0: 44 20 64 77 50 61 72 6d 73 5b 31 5d 3b 0d 0a 7d  D dwParms[1];..}
7400: 0d 0a 61 6c 69 61 73 20 6d 69 64 69 65 76 65 6e  ..alias midieven
7410: 74 5f 74 61 67 20 4d 49 44 49 45 56 45 4e 54 3b  t_tag MIDIEVENT;
7420: 0d 0a 0d 0a 73 74 72 75 63 74 20 6d 69 64 69 73  ....struct midis
7430: 74 72 6d 62 75 66 66 76 65 72 5f 74 61 67 20 7b  trmbuffver_tag {
7440: 0d 0a 20 20 44 57 4f 52 44 20 64 77 56 65 72 73  ..  DWORD dwVers
7450: 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ion;..  DWORD dw
7460: 4d 69 64 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  Mid;..  DWORD dw
7470: 4f 45 4d 56 65 72 73 69 6f 6e 3b 0d 0a 7d 0d 0a  OEMVersion;..}..
7480: 61 6c 69 61 73 20 6d 69 64 69 73 74 72 6d 62 75  alias midistrmbu
7490: 66 66 76 65 72 5f 74 61 67 20 4d 49 44 49 53 54  ffver_tag MIDIST
74a0: 52 4d 42 55 46 46 56 45 52 3b 0d 0a 0d 0a 2f 2f  RMBUFFVER;....//
74b0: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45   #endif /* WINVE
74c0: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a  R >= 0x0400 */..
74d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
74e0: 4d 48 44 52 5f 44 4f 4e 45 20 3d 20 30 78 30 30  MHDR_DONE = 0x00
74f0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
7500: 20 75 69 6e 74 20 7b 20 4d 48 44 52 5f 50 52 45   uint { MHDR_PRE
7510: 50 41 52 45 44 20 3d 20 30 78 30 30 30 30 30 30  PARED = 0x000000
7520: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
7530: 74 20 7b 20 4d 48 44 52 5f 49 4e 51 55 45 55 45  t { MHDR_INQUEUE
7540: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
7550: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
7560: 48 44 52 5f 49 53 53 54 52 4d 20 3d 20 30 78 30  HDR_ISSTRM = 0x0
7570: 30 30 30 30 30 30 38 20 7d 0d 0a 2f 2f 20 23 69  0000008 }..// #i
7580: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
7590: 30 30 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  00)....enum : ui
75a0: 6e 74 20 7b 20 4d 45 56 54 5f 46 5f 53 48 4f 52  nt { MEVT_F_SHOR
75b0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d  T = 0x00000000 }
75c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
75d0: 4d 45 56 54 5f 46 5f 4c 4f 4e 47 20 3d 20 30 78  MEVT_F_LONG = 0x
75e0: 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80000000 }..enum
75f0: 20 3a 20 75 69 6e 74 20 7b 20 4d 45 56 54 5f 46   : uint { MEVT_F
7600: 5f 43 41 4c 4c 42 41 43 4b 20 3d 20 30 78 34 30  _CALLBACK = 0x40
7610: 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  000000 }....// #
7620: 64 65 66 69 6e 65 20 4d 45 56 54 5f 45 56 45 4e  define MEVT_EVEN
7630: 54 54 59 50 45 28 78 29 20 28 28 42 59 54 45 29  TTYPE(x) ((BYTE)
7640: 28 28 28 78 29 3e 3e 32 34 29 26 30 78 46 46 29  (((x)>>24)&0xFF)
7650: 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 45  )..// #define ME
7660: 56 54 5f 45 56 45 4e 54 50 41 52 4d 28 78 29 20  VT_EVENTPARM(x) 
7670: 28 28 44 57 4f 52 44 29 28 28 78 29 26 30 78 30  ((DWORD)((x)&0x0
7680: 30 46 46 46 46 46 46 4c 29 29 0d 0a 0d 0a 65 6e  0FFFFFFL))....en
7690: 75 6d 20 3a 20 42 59 54 45 20 7b 20 4d 45 56 54  um : BYTE { MEVT
76a0: 5f 53 48 4f 52 54 4d 53 47 20 3d 20 30 78 30 30  _SHORTMSG = 0x00
76b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20   }..enum : BYTE 
76c0: 7b 20 4d 45 56 54 5f 54 45 4d 50 4f 20 3d 20 30  { MEVT_TEMPO = 0
76d0: 78 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 42 59  x01 }..enum : BY
76e0: 54 45 20 7b 20 4d 45 56 54 5f 4e 4f 50 20 3d 20  TE { MEVT_NOP = 
76f0: 30 78 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0x02 }....enum :
7700: 20 42 59 54 45 20 7b 20 4d 45 56 54 5f 4c 4f 4e   BYTE { MEVT_LON
7710: 47 4d 53 47 20 3d 20 30 78 38 30 20 7d 0d 0a 65  GMSG = 0x80 }..e
7720: 6e 75 6d 20 3a 20 42 59 54 45 20 7b 20 4d 45 56  num : BYTE { MEV
7730: 54 5f 43 4f 4d 4d 45 4e 54 20 3d 20 30 78 38 32  T_COMMENT = 0x82
7740: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 42 59 54 45 20   }..enum : BYTE 
7750: 7b 20 4d 45 56 54 5f 56 45 52 53 49 4f 4e 20 3d  { MEVT_VERSION =
7760: 20 30 78 38 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   0x84 }....enum 
7770: 7b 20 4d 49 44 49 53 54 52 4d 5f 45 52 52 4f 52  { MIDISTRM_ERROR
7780: 20 3d 20 2d 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   = -2 }....enum 
7790: 3a 20 75 69 6e 74 20 7b 20 4d 49 44 49 50 52 4f  : uint { MIDIPRO
77a0: 50 5f 53 45 54 20 3d 20 30 78 38 30 30 30 30 30  P_SET = 0x800000
77b0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
77c0: 74 20 7b 20 4d 49 44 49 50 52 4f 50 5f 47 45 54  t { MIDIPROP_GET
77d0: 20 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d   = 0x40000000 }.
77e0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
77f0: 20 4d 49 44 49 50 52 4f 50 5f 54 49 4d 45 44 49   MIDIPROP_TIMEDI
7800: 56 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  V = 0x00000001 }
7810: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7820: 4d 49 44 49 50 52 4f 50 5f 54 45 4d 50 4f 20 3d  MIDIPROP_TEMPO =
7830: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d   0x00000002 }...
7840: 0a 73 74 72 75 63 74 20 6d 69 64 69 70 72 6f 70  .struct midiprop
7850: 74 69 6d 65 64 69 76 5f 74 61 67 20 7b 0d 0a 20  timediv_tag {.. 
7860: 20 44 57 4f 52 44 20 63 62 53 74 72 75 63 74 3b   DWORD cbStruct;
7870: 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69 6d 65  ..  DWORD dwTime
7880: 44 69 76 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6d  Div;..}..alias m
7890: 69 64 69 70 72 6f 70 74 69 6d 65 64 69 76 5f 74  idiproptimediv_t
78a0: 61 67 20 4d 49 44 49 50 52 4f 50 54 49 4d 45 44  ag MIDIPROPTIMED
78b0: 49 56 3b 0d 0a 61 6c 69 61 73 20 6d 69 64 69 70  IV;..alias midip
78c0: 72 6f 70 74 69 6d 65 64 69 76 5f 74 61 67 2a 20  roptimediv_tag* 
78d0: 4c 50 4d 49 44 49 50 52 4f 50 54 49 4d 45 44 49  LPMIDIPROPTIMEDI
78e0: 56 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 6d 69 64  V;....struct mid
78f0: 69 70 72 6f 70 74 65 6d 70 6f 5f 74 61 67 20 7b  iproptempo_tag {
7900: 0d 0a 20 20 44 57 4f 52 44 20 63 62 53 74 72 75  ..  DWORD cbStru
7910: 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54  ct;..  DWORD dwT
7920: 65 6d 70 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  empo;..}..alias 
7930: 6d 69 64 69 70 72 6f 70 74 65 6d 70 6f 5f 74 61  midiproptempo_ta
7940: 67 20 4d 49 44 49 50 52 4f 50 54 45 4d 50 4f 3b  g MIDIPROPTEMPO;
7950: 0d 0a 61 6c 69 61 73 20 6d 69 64 69 70 72 6f 70  ..alias midiprop
7960: 74 65 6d 70 6f 5f 74 61 67 2a 20 4c 50 4d 49 44  tempo_tag* LPMID
7970: 49 50 52 4f 50 54 45 4d 50 4f 3b 0d 0a 0d 0a 2f  IPROPTEMPO;..../
7980: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56  / #endif /* WINV
7990: 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d  ER >= 0x0400 */.
79a0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
79b0: 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 6d  s) export UINT m
79c0: 69 64 69 4f 75 74 47 65 74 4e 75 6d 44 65 76 73  idiOutGetNumDevs
79d0: 28 29 3b 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56  ();..// #if(WINV
79e0: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65  ER >= 0x0400)..e
79f0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
7a00: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
7a10: 69 64 69 53 74 72 65 61 6d 4f 70 65 6e 28 4c 50  idiStreamOpen(LP
7a20: 48 4d 49 44 49 53 54 52 4d 20 70 68 6d 73 2c 20  HMIDISTRM phms, 
7a30: 4c 50 55 49 4e 54 20 70 75 44 65 76 69 63 65 49  LPUINT puDeviceI
7a40: 44 2c 20 44 57 4f 52 44 20 63 4d 69 64 69 2c 20  D, DWORD cMidi, 
7a50: 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c  DWORD_PTR dwCall
7a60: 62 61 63 6b 2c 20 44 57 4f 52 44 5f 50 54 52 20  back, DWORD_PTR 
7a70: 64 77 49 6e 73 74 61 6e 63 65 2c 20 44 57 4f 52  dwInstance, DWOR
7a80: 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a 65 78 74  D fdwOpen);..ext
7a90: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7aa0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64  ort MMRESULT mid
7ab0: 69 53 74 72 65 61 6d 43 6c 6f 73 65 28 48 4d 49  iStreamClose(HMI
7ac0: 44 49 53 54 52 4d 20 68 6d 73 29 3b 0d 0a 0d 0a  DISTRM hms);....
7ad0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
7ae0: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
7af0: 6d 69 64 69 53 74 72 65 61 6d 50 72 6f 70 65 72  midiStreamProper
7b00: 74 79 28 48 4d 49 44 49 53 54 52 4d 20 68 6d 73  ty(HMIDISTRM hms
7b10: 2c 20 4c 50 42 59 54 45 20 6c 70 70 72 6f 70 64  , LPBYTE lppropd
7b20: 61 74 61 2c 20 44 57 4f 52 44 20 64 77 50 72 6f  ata, DWORD dwPro
7b30: 70 65 72 74 79 29 3b 0d 0a 65 78 74 65 72 6e 28  perty);..extern(
7b40: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
7b50: 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 53 74 72  MMRESULT midiStr
7b60: 65 61 6d 50 6f 73 69 74 69 6f 6e 28 48 4d 49 44  eamPosition(HMID
7b70: 49 53 54 52 4d 20 68 6d 73 2c 20 4c 50 4d 4d 54  ISTRM hms, LPMMT
7b80: 49 4d 45 20 6c 70 6d 6d 74 2c 20 55 49 4e 54 20  IME lpmmt, UINT 
7b90: 63 62 6d 6d 74 29 3b 0d 0a 0d 0a 65 78 74 65 72  cbmmt);....exter
7ba0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
7bb0: 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 53  t MMRESULT midiS
7bc0: 74 72 65 61 6d 4f 75 74 28 48 4d 49 44 49 53 54  treamOut(HMIDIST
7bd0: 52 4d 20 68 6d 73 2c 20 4c 50 4d 49 44 49 48 44  RM hms, LPMIDIHD
7be0: 52 20 70 6d 68 2c 20 55 49 4e 54 20 63 62 6d 68  R pmh, UINT cbmh
7bf0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
7c00: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
7c10: 55 4c 54 20 6d 69 64 69 53 74 72 65 61 6d 50 61  ULT midiStreamPa
7c20: 75 73 65 28 48 4d 49 44 49 53 54 52 4d 20 68 6d  use(HMIDISTRM hm
7c30: 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  s);..extern(Wind
7c40: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
7c50: 53 55 4c 54 20 6d 69 64 69 53 74 72 65 61 6d 52  SULT midiStreamR
7c60: 65 73 74 61 72 74 28 48 4d 49 44 49 53 54 52 4d  estart(HMIDISTRM
7c70: 20 68 6d 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57   hms);..extern(W
7c80: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
7c90: 4d 52 45 53 55 4c 54 20 6d 69 64 69 53 74 72 65  MRESULT midiStre
7ca0: 61 6d 53 74 6f 70 28 48 4d 49 44 49 53 54 52 4d  amStop(HMIDISTRM
7cb0: 20 68 6d 73 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66   hms);....// #if
7cc0: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78 74 65  def _WIN32..exte
7cd0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
7ce0: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
7cf0: 43 6f 6e 6e 65 63 74 28 48 4d 49 44 49 20 68 6d  Connect(HMIDI hm
7d00: 69 2c 20 48 4d 49 44 49 4f 55 54 20 68 6d 6f 2c  i, HMIDIOUT hmo,
7d10: 20 4c 50 56 4f 49 44 20 70 52 65 73 65 72 76 65   LPVOID pReserve
7d20: 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  d);..extern(Wind
7d30: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
7d40: 53 55 4c 54 20 6d 69 64 69 44 69 73 63 6f 6e 6e  SULT midiDisconn
7d50: 65 63 74 28 48 4d 49 44 49 20 68 6d 69 2c 20 48  ect(HMIDI hmi, H
7d60: 4d 49 44 49 4f 55 54 20 68 6d 6f 2c 20 4c 50 56  MIDIOUT hmo, LPV
7d70: 4f 49 44 20 70 52 65 73 65 72 76 65 64 29 3b 0d  OID pReserved);.
7d80: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23  .// #endif..// #
7d90: 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20  endif /* WINVER 
7da0: 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a  >= 0x0400 */....
7db0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
7dc0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
7dd0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
7de0: 55 4c 54 20 6d 69 64 69 4f 75 74 47 65 74 44 65  ULT midiOutGetDe
7df0: 76 43 61 70 73 41 28 55 49 4e 54 5f 50 54 52 20  vCapsA(UINT_PTR 
7e00: 75 44 65 76 69 63 65 49 44 2c 20 4c 50 4d 49 44  uDeviceID, LPMID
7e10: 49 4f 55 54 43 41 50 53 41 20 70 6d 6f 63 2c 20  IOUTCAPSA pmoc, 
7e20: 55 49 4e 54 20 63 62 6d 6f 63 29 3b 0d 0a 65 78  UINT cbmoc);..ex
7e30: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7e40: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
7e50: 64 69 4f 75 74 47 65 74 44 65 76 43 61 70 73 57  diOutGetDevCapsW
7e60: 28 55 49 4e 54 5f 50 54 52 20 75 44 65 76 69 63  (UINT_PTR uDevic
7e70: 65 49 44 2c 20 4c 50 4d 49 44 49 4f 55 54 43 41  eID, LPMIDIOUTCA
7e80: 50 53 57 20 70 6d 6f 63 2c 20 55 49 4e 54 20 63  PSW pmoc, UINT c
7e90: 62 6d 6f 63 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  bmoc);..// #ifde
7ea0: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
7eb0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
7ec0: 69 61 73 20 6d 69 64 69 4f 75 74 47 65 74 44 65  ias midiOutGetDe
7ed0: 76 43 61 70 73 41 20 6d 69 64 69 4f 75 74 47 65  vCapsA midiOutGe
7ee0: 74 44 65 76 43 61 70 73 3b 0d 0a 2f 2f 20 23 65  tDevCaps;..// #e
7ef0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
7f00: 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
7f10: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
7f20: 0a 0d 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45  ...// #if (WINVE
7f30: 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 78  R >= 0x0400)..ex
7f40: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7f50: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
7f60: 64 69 4f 75 74 47 65 74 56 6f 6c 75 6d 65 28 48  diOutGetVolume(H
7f70: 4d 49 44 49 4f 55 54 20 68 6d 6f 2c 20 4c 50 44  MIDIOUT hmo, LPD
7f80: 57 4f 52 44 20 70 64 77 56 6f 6c 75 6d 65 29 3b  WORD pdwVolume);
7f90: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
7fa0: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
7fb0: 54 20 6d 69 64 69 4f 75 74 53 65 74 56 6f 6c 75  T midiOutSetVolu
7fc0: 6d 65 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f 2c  me(HMIDIOUT hmo,
7fd0: 20 44 57 4f 52 44 20 64 77 56 6f 6c 75 6d 65 29   DWORD dwVolume)
7fe0: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
7ff0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
8000: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
8010: 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  32....extern(Win
8020: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
8030: 45 53 55 4c 54 20 6d 69 64 69 4f 75 74 47 65 74  ESULT midiOutGet
8040: 45 72 72 6f 72 54 65 78 74 41 28 4d 4d 52 45 53  ErrorTextA(MMRES
8050: 55 4c 54 20 6d 6d 72 45 72 72 6f 72 2c 20 4c 50  ULT mmrError, LP
8060: 53 54 52 20 70 73 7a 54 65 78 74 2c 20 55 49 4e  STR pszText, UIN
8070: 54 20 63 63 68 54 65 78 74 29 3b 0d 0a 65 78 74  T cchText);..ext
8080: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
8090: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64  ort MMRESULT mid
80a0: 69 4f 75 74 47 65 74 45 72 72 6f 72 54 65 78 74  iOutGetErrorText
80b0: 57 28 4d 4d 52 45 53 55 4c 54 20 6d 6d 72 45 72  W(MMRESULT mmrEr
80c0: 72 6f 72 2c 20 4c 50 57 53 54 52 20 70 73 7a 54  ror, LPWSTR pszT
80d0: 65 78 74 2c 20 55 49 4e 54 20 63 63 68 54 65 78  ext, UINT cchTex
80e0: 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  t);..// #ifdef U
80f0: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
8100: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
8110: 20 6d 69 64 69 4f 75 74 47 65 74 45 72 72 6f 72   midiOutGetError
8120: 54 65 78 74 41 20 6d 69 64 69 4f 75 74 47 65 74  TextA midiOutGet
8130: 45 72 72 6f 72 54 65 78 74 3b 0d 0a 2f 2f 20 23  ErrorText;..// #
8140: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
8150: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
8160: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
8170: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
8180: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
8190: 55 4c 54 20 6d 69 64 69 4f 75 74 4f 70 65 6e 28  ULT midiOutOpen(
81a0: 4c 50 48 4d 49 44 49 4f 55 54 20 70 68 6d 6f 2c  LPHMIDIOUT phmo,
81b0: 20 55 49 4e 54 20 75 44 65 76 69 63 65 49 44 2c   UINT uDeviceID,
81c0: 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
81d0: 43 61 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f  Callback, DWORD_
81e0: 50 54 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20  PTR dwInstance, 
81f0: 44 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d  DWORD fdwOpen);.
8200: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
8210: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
8220: 20 6d 69 64 69 4f 75 74 43 6c 6f 73 65 28 48 4d   midiOutClose(HM
8230: 49 44 49 4f 55 54 20 68 6d 6f 29 3b 0d 0a 65 78  IDIOUT hmo);..ex
8240: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8250: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
8260: 64 69 4f 75 74 50 72 65 70 61 72 65 48 65 61 64  diOutPrepareHead
8270: 65 72 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f 2c  er(HMIDIOUT hmo,
8280: 20 4c 50 4d 49 44 49 48 44 52 20 70 6d 68 2c 20   LPMIDIHDR pmh, 
8290: 55 49 4e 54 20 63 62 6d 68 29 3b 0d 0a 65 78 74  UINT cbmh);..ext
82a0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
82b0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64  ort MMRESULT mid
82c0: 69 4f 75 74 55 6e 70 72 65 70 61 72 65 48 65 61  iOutUnprepareHea
82d0: 64 65 72 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f  der(HMIDIOUT hmo
82e0: 2c 20 4c 50 4d 49 44 49 48 44 52 20 70 6d 68 2c  , LPMIDIHDR pmh,
82f0: 20 55 49 4e 54 20 63 62 6d 68 29 3b 0d 0a 65 78   UINT cbmh);..ex
8300: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
8310: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
8320: 64 69 4f 75 74 53 68 6f 72 74 4d 73 67 28 48 4d  diOutShortMsg(HM
8330: 49 44 49 4f 55 54 20 68 6d 6f 2c 20 44 57 4f 52  IDIOUT hmo, DWOR
8340: 44 20 64 77 4d 73 67 29 3b 0d 0a 65 78 74 65 72  D dwMsg);..exter
8350: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
8360: 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 4f  t MMRESULT midiO
8370: 75 74 4c 6f 6e 67 4d 73 67 28 48 4d 49 44 49 4f  utLongMsg(HMIDIO
8380: 55 54 20 68 6d 6f 2c 20 4c 50 4d 49 44 49 48 44  UT hmo, LPMIDIHD
8390: 52 20 70 6d 68 2c 20 55 49 4e 54 20 63 62 6d 68  R pmh, UINT cbmh
83a0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
83b0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
83c0: 55 4c 54 20 6d 69 64 69 4f 75 74 52 65 73 65 74  ULT midiOutReset
83d0: 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f 29 3b 0d  (HMIDIOUT hmo);.
83e0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
83f0: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
8400: 20 6d 69 64 69 4f 75 74 43 61 63 68 65 50 61 74   midiOutCachePat
8410: 63 68 65 73 28 48 4d 49 44 49 4f 55 54 20 68 6d  ches(HMIDIOUT hm
8420: 6f 2c 20 55 49 4e 54 20 75 42 61 6e 6b 2c 20 4c  o, UINT uBank, L
8430: 50 57 4f 52 44 20 70 77 70 61 2c 20 55 49 4e 54  PWORD pwpa, UINT
8440: 20 66 75 43 61 63 68 65 29 3b 0d 0a 65 78 74 65   fuCache);..exte
8450: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8460: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
8470: 4f 75 74 43 61 63 68 65 44 72 75 6d 50 61 74 63  OutCacheDrumPatc
8480: 68 65 73 28 48 4d 49 44 49 4f 55 54 20 68 6d 6f  hes(HMIDIOUT hmo
8490: 2c 20 55 49 4e 54 20 75 50 61 74 63 68 2c 20 4c  , UINT uPatch, L
84a0: 50 57 4f 52 44 20 70 77 6b 79 61 2c 20 55 49 4e  PWORD pwkya, UIN
84b0: 54 20 66 75 43 61 63 68 65 29 3b 0d 0a 65 78 74  T fuCache);..ext
84c0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
84d0: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64  ort MMRESULT mid
84e0: 69 4f 75 74 47 65 74 49 44 28 48 4d 49 44 49 4f  iOutGetID(HMIDIO
84f0: 55 54 20 68 6d 6f 2c 20 4c 50 55 49 4e 54 20 70  UT hmo, LPUINT p
8500: 75 44 65 76 69 63 65 49 44 29 3b 0d 0a 0d 0a 2f  uDeviceID);..../
8510: 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  / #if (WINVER >=
8520: 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 23 69 66   0x030a)..// #if
8530: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78 74 65  def _WIN32..exte
8540: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8550: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
8560: 4f 75 74 4d 65 73 73 61 67 65 28 48 4d 49 44 49  OutMessage(HMIDI
8570: 4f 55 54 20 68 6d 6f 2c 20 55 49 4e 54 20 75 4d  OUT hmo, UINT uM
8580: 73 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77  sg, DWORD_PTR dw
8590: 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 32  1, DWORD_PTR dw2
85a0: 29 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  );..// #else..//
85b0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
85c0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66  .// #endif /* if
85d0: 64 65 66 20 57 49 4e 56 45 52 20 3e 3d 20 30 78  def WINVER >= 0x
85e0: 30 33 30 61 20 2a 2f 0d 0a 0d 0a 65 78 74 65 72  030a */....exter
85f0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
8600: 74 20 55 49 4e 54 20 6d 69 64 69 49 6e 47 65 74  t UINT midiInGet
8610: 4e 75 6d 44 65 76 73 28 29 3b 0d 0a 0d 0a 2f 2f  NumDevs();....//
8620: 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
8630: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8640: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
8650: 54 20 6d 69 64 69 49 6e 47 65 74 44 65 76 43 61  T midiInGetDevCa
8660: 70 73 41 28 55 49 4e 54 5f 50 54 52 20 75 44 65  psA(UINT_PTR uDe
8670: 76 69 63 65 49 44 2c 20 4c 50 4d 49 44 49 49 4e  viceID, LPMIDIIN
8680: 43 41 50 53 41 20 70 6d 69 63 2c 20 55 49 4e 54  CAPSA pmic, UINT
8690: 20 63 62 6d 69 63 29 3b 0d 0a 65 78 74 65 72 6e   cbmic);..extern
86a0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
86b0: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 49 6e   MMRESULT midiIn
86c0: 47 65 74 44 65 76 43 61 70 73 57 28 55 49 4e 54  GetDevCapsW(UINT
86d0: 5f 50 54 52 20 75 44 65 76 69 63 65 49 44 2c 20  _PTR uDeviceID, 
86e0: 4c 50 4d 49 44 49 49 4e 43 41 50 53 57 20 70 6d  LPMIDIINCAPSW pm
86f0: 69 63 2c 20 55 49 4e 54 20 63 62 6d 69 63 29 3b  ic, UINT cbmic);
8700: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
8710: 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
8720: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6d 69   #else..alias mi
8730: 64 69 49 6e 47 65 74 44 65 76 43 61 70 73 41 20  diInGetDevCapsA 
8740: 6d 69 64 69 49 6e 47 65 74 44 65 76 43 61 70 73  midiInGetDevCaps
8750: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
8760: 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74 65 72 6e  !UNICODE..extern
8770: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
8780: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 49 6e   MMRESULT midiIn
8790: 47 65 74 45 72 72 6f 72 54 65 78 74 41 28 4d 4d  GetErrorTextA(MM
87a0: 52 45 53 55 4c 54 20 6d 6d 72 45 72 72 6f 72 2c  RESULT mmrError,
87b0: 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 2c 20   LPSTR pszText, 
87c0: 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a  UINT cchText);..
87d0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
87e0: 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
87f0: 6d 69 64 69 49 6e 47 65 74 45 72 72 6f 72 54 65  midiInGetErrorTe
8800: 78 74 57 28 4d 4d 52 45 53 55 4c 54 20 6d 6d 72  xtW(MMRESULT mmr
8810: 45 72 72 6f 72 2c 20 4c 50 57 53 54 52 20 70 73  Error, LPWSTR ps
8820: 7a 54 65 78 74 2c 20 55 49 4e 54 20 63 63 68 54  zText, UINT cchT
8830: 65 78 74 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  ext);..// #ifdef
8840: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
8850: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
8860: 61 73 20 6d 69 64 69 49 6e 47 65 74 45 72 72 6f  as midiInGetErro
8870: 72 54 65 78 74 41 20 6d 69 64 69 49 6e 47 65 74  rTextA midiInGet
8880: 45 72 72 6f 72 54 65 78 74 3b 0d 0a 2f 2f 20 23  ErrorText;..// #
8890: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
88a0: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
88b0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
88c0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
88d0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
88e0: 55 4c 54 20 6d 69 64 69 49 6e 4f 70 65 6e 28 4c  ULT midiInOpen(L
88f0: 50 48 4d 49 44 49 49 4e 20 70 68 6d 69 2c 20 55  PHMIDIIN phmi, U
8900: 49 4e 54 20 75 44 65 76 69 63 65 49 44 2c 0d 0a  INT uDeviceID,..
8910: 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61    DWORD_PTR dwCa
8920: 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f 50 54  llback, DWORD_PT
8930: 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20 44 57  R dwInstance, DW
8940: 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a 65  ORD fdwOpen);..e
8950: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8960: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
8970: 69 64 69 49 6e 43 6c 6f 73 65 28 48 4d 49 44 49  idiInClose(HMIDI
8980: 49 4e 20 68 6d 69 29 3b 0d 0a 65 78 74 65 72 6e  IN hmi);..extern
8990: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
89a0: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 49 6e   MMRESULT midiIn
89b0: 50 72 65 70 61 72 65 48 65 61 64 65 72 28 48 4d  PrepareHeader(HM
89c0: 49 44 49 49 4e 20 68 6d 69 2c 20 4c 50 4d 49 44  IDIIN hmi, LPMID
89d0: 49 48 44 52 20 70 6d 68 2c 20 55 49 4e 54 20 63  IHDR pmh, UINT c
89e0: 62 6d 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  bmh);..extern(Wi
89f0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
8a00: 52 45 53 55 4c 54 20 6d 69 64 69 49 6e 55 6e 70  RESULT midiInUnp
8a10: 72 65 70 61 72 65 48 65 61 64 65 72 28 48 4d 49  repareHeader(HMI
8a20: 44 49 49 4e 20 68 6d 69 2c 20 4c 50 4d 49 44 49  DIIN hmi, LPMIDI
8a30: 48 44 52 20 70 6d 68 2c 20 55 49 4e 54 20 63 62  HDR pmh, UINT cb
8a40: 6d 68 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  mh);..extern(Win
8a50: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
8a60: 45 53 55 4c 54 20 6d 69 64 69 49 6e 41 64 64 42  ESULT midiInAddB
8a70: 75 66 66 65 72 28 48 4d 49 44 49 49 4e 20 68 6d  uffer(HMIDIIN hm
8a80: 69 2c 20 4c 50 4d 49 44 49 48 44 52 20 70 6d 68  i, LPMIDIHDR pmh
8a90: 2c 20 55 49 4e 54 20 63 62 6d 68 29 3b 0d 0a 65  , UINT cbmh);..e
8aa0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8ab0: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
8ac0: 69 64 69 49 6e 53 74 61 72 74 28 48 4d 49 44 49  idiInStart(HMIDI
8ad0: 49 4e 20 68 6d 69 29 3b 0d 0a 65 78 74 65 72 6e  IN hmi);..extern
8ae0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
8af0: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69 49 6e   MMRESULT midiIn
8b00: 53 74 6f 70 28 48 4d 49 44 49 49 4e 20 68 6d 69  Stop(HMIDIIN hmi
8b10: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
8b20: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
8b30: 55 4c 54 20 6d 69 64 69 49 6e 52 65 73 65 74 28  ULT midiInReset(
8b40: 48 4d 49 44 49 49 4e 20 68 6d 69 29 3b 0d 0a 65  HMIDIIN hmi);..e
8b50: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8b60: 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d  xport MMRESULT m
8b70: 69 64 69 49 6e 47 65 74 49 44 28 48 4d 49 44 49  idiInGetID(HMIDI
8b80: 49 4e 20 68 6d 69 2c 20 4c 50 55 49 4e 54 20 70  IN hmi, LPUINT p
8b90: 75 44 65 76 69 63 65 49 44 29 3b 0d 0a 0d 0a 2f  uDeviceID);..../
8ba0: 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3e 3d  / #if (WINVER >=
8bb0: 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 23 69 66   0x030a)..// #if
8bc0: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 78 74 65  def _WIN32..exte
8bd0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8be0: 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 64 69  rt MMRESULT midi
8bf0: 49 6e 4d 65 73 73 61 67 65 28 48 4d 49 44 49 49  InMessage(HMIDII
8c00: 4e 20 68 6d 69 2c 20 55 49 4e 54 20 75 4d 73 67  N hmi, UINT uMsg
8c10: 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 31 2c  , DWORD_PTR dw1,
8c20: 20 44 57 4f 52 44 5f 50 54 52 20 64 77 32 29 3b   DWORD_PTR dw2);
8c30: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
8c40: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f  ....// #endif../
8c50: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66 64 65  / #endif /* ifde
8c60: 66 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33  f WINVER >= 0x03
8c70: 30 61 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 65 6e 64  0a */....// #end
8c80: 69 66 20 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d  if  /* ifndef MM
8c90: 4e 4f 4d 49 44 49 20 2a 2f 0d 0a 0d 0a 2f 2f 20  NOMIDI */....// 
8ca0: 23 69 66 6e 64 65 66 20 4d 4d 4e 4f 41 55 58 0d  #ifndef MMNOAUX.
8cb0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
8cc0: 20 41 55 58 5f 4d 41 50 50 45 52 20 3d 20 63 61   AUX_MAPPER = ca
8cd0: 73 74 28 55 49 4e 54 29 2d 31 20 7d 0d 0a 0d 0a  st(UINT)-1 }....
8ce0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
8cf0: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 41 55  ....struct tagAU
8d00: 58 43 41 50 53 41 20 7b 0d 0a 20 20 57 4f 52 44  XCAPSA {..  WORD
8d10: 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77   wMid;..  WORD w
8d20: 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f  Pid;..  MMVERSIO
8d30: 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e  N vDriverVersion
8d40: 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d  ;..  CHAR szPnam
8d50: 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d  e[MAXPNAMELEN];.
8d60: 0a 20 20 57 4f 52 44 20 77 54 65 63 68 6e 6f 6c  .  WORD wTechnol
8d70: 6f 67 79 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65  ogy;..  WORD wRe
8d80: 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57 4f 52  served1;..  DWOR
8d90: 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 7d 0d  D dwSupport;..}.
8da0: 0a 61 6c 69 61 73 20 74 61 67 41 55 58 43 41 50  .alias tagAUXCAP
8db0: 53 41 20 41 55 58 43 41 50 53 41 3b 0d 0a 61 6c  SA AUXCAPSA;..al
8dc0: 69 61 73 20 74 61 67 41 55 58 43 41 50 53 41 2a  ias tagAUXCAPSA*
8dd0: 20 50 41 55 58 43 41 50 53 41 3b 0d 0a 61 6c 69   PAUXCAPSA;..ali
8de0: 61 73 20 74 61 67 41 55 58 43 41 50 53 41 2a 20  as tagAUXCAPSA* 
8df0: 4e 50 41 55 58 43 41 50 53 41 3b 0d 0a 61 6c 69  NPAUXCAPSA;..ali
8e00: 61 73 20 74 61 67 41 55 58 43 41 50 53 41 2a 20  as tagAUXCAPSA* 
8e10: 4c 50 41 55 58 43 41 50 53 41 3b 0d 0a 0d 0a 73  LPAUXCAPSA;....s
8e20: 74 72 75 63 74 20 74 61 67 41 55 58 43 41 50 53  truct tagAUXCAPS
8e30: 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64  W {..  WORD wMid
8e40: 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b 0d  ;..  WORD wPid;.
8e50: 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72  .  MMVERSION vDr
8e60: 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  iverVersion;..  
8e70: 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41  WCHAR szPname[MA
8e80: 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 57  XPNAMELEN];..  W
8e90: 4f 52 44 20 77 54 65 63 68 6e 6f 6c 6f 67 79 3b  ORD wTechnology;
8ea0: 0d 0a 20 20 57 4f 52 44 20 77 52 65 73 65 72 76  ..  WORD wReserv
8eb0: 65 64 31 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ed1;..  DWORD dw
8ec0: 53 75 70 70 6f 72 74 3b 0d 0a 7d 0d 0a 61 6c 69  Support;..}..ali
8ed0: 61 73 20 74 61 67 41 55 58 43 41 50 53 57 20 41  as tagAUXCAPSW A
8ee0: 55 58 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20  UXCAPSW;..alias 
8ef0: 74 61 67 41 55 58 43 41 50 53 57 2a 20 50 41 55  tagAUXCAPSW* PAU
8f00: 58 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20 74  XCAPSW;..alias t
8f10: 61 67 41 55 58 43 41 50 53 57 2a 20 4e 50 41 55  agAUXCAPSW* NPAU
8f20: 58 43 41 50 53 57 3b 0d 0a 61 6c 69 61 73 20 74  XCAPSW;..alias t
8f30: 61 67 41 55 58 43 41 50 53 57 2a 20 4c 50 41 55  agAUXCAPSW* LPAU
8f40: 58 43 41 50 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  XCAPSW;....// #i
8f50: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
8f60: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
8f70: 61 6c 69 61 73 20 41 55 58 43 41 50 53 41 20 41  alias AUXCAPSA A
8f80: 55 58 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 50  UXCAPS;..alias P
8f90: 41 55 58 43 41 50 53 41 20 50 41 55 58 43 41 50  AUXCAPSA PAUXCAP
8fa0: 53 3b 0d 0a 61 6c 69 61 73 20 4e 50 41 55 58 43  S;..alias NPAUXC
8fb0: 41 50 53 41 20 4e 50 41 55 58 43 41 50 53 3b 0d  APSA NPAUXCAPS;.
8fc0: 0a 61 6c 69 61 73 20 4c 50 41 55 58 43 41 50 53  .alias LPAUXCAPS
8fd0: 41 20 4c 50 41 55 58 43 41 50 53 3b 0d 0a 2f 2f  A LPAUXCAPS;..//
8fe0: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
8ff0: 44 45 0d 0a 73 74 72 75 63 74 20 74 61 67 41 55  DE..struct tagAU
9000: 58 43 41 50 53 32 41 20 7b 0d 0a 20 20 57 4f 52  XCAPS2A {..  WOR
9010: 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20  D wMid;..  WORD 
9020: 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49  wPid;..  MMVERSI
9030: 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f  ON vDriverVersio
9040: 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61  n;..  CHAR szPna
9050: 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b  me[MAXPNAMELEN];
9060: 0d 0a 20 20 57 4f 52 44 20 77 54 65 63 68 6e 6f  ..  WORD wTechno
9070: 6c 6f 67 79 3b 0d 0a 20 20 57 4f 52 44 20 77 52  logy;..  WORD wR
9080: 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57 4f  eserved1;..  DWO
9090: 52 44 20 64 77 53 75 70 70 6f 72 74 3b 0d 0a 20  RD dwSupport;.. 
90a0: 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72   GUID Manufactur
90b0: 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20  erGuid;..  GUID 
90c0: 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20  ProductGuid;..  
90d0: 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a  GUID NameGuid;..
90e0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 41 55 58 43  }..alias tagAUXC
90f0: 41 50 53 32 41 20 41 55 58 43 41 50 53 32 41 3b  APS2A AUXCAPS2A;
9100: 0d 0a 61 6c 69 61 73 20 74 61 67 41 55 58 43 41  ..alias tagAUXCA
9110: 50 53 32 41 2a 20 50 41 55 58 43 41 50 53 32 41  PS2A* PAUXCAPS2A
9120: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 41 55 58 43  ;..alias tagAUXC
9130: 41 50 53 32 41 2a 20 4e 50 41 55 58 43 41 50 53  APS2A* NPAUXCAPS
9140: 32 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 41 55  2A;..alias tagAU
9150: 58 43 41 50 53 32 41 2a 20 4c 50 41 55 58 43 41  XCAPS2A* LPAUXCA
9160: 50 53 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  PS2A;....struct 
9170: 74 61 67 41 55 58 43 41 50 53 32 57 20 7b 0d 0a  tagAUXCAPS2W {..
9180: 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20    WORD wMid;..  
9190: 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d  WORD wPid;..  MM
91a0: 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65 72 56  VERSION vDriverV
91b0: 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48 41 52  ersion;..  WCHAR
91c0: 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d   szPname[MAXPNAM
91d0: 45 4c 45 4e 5d 3b 0d 0a 20 20 57 4f 52 44 20 77  ELEN];..  WORD w
91e0: 54 65 63 68 6e 6f 6c 6f 67 79 3b 0d 0a 20 20 57  Technology;..  W
91f0: 4f 52 44 20 77 52 65 73 65 72 76 65 64 31 3b 0d  ORD wReserved1;.
9200: 0a 20 20 44 57 4f 52 44 20 64 77 53 75 70 70 6f  .  DWORD dwSuppo
9210: 72 74 3b 0d 0a 20 20 47 55 49 44 20 4d 61 6e 75  rt;..  GUID Manu
9220: 66 61 63 74 75 72 65 72 47 75 69 64 3b 0d 0a 20  facturerGuid;.. 
9230: 20 47 55 49 44 20 50 72 6f 64 75 63 74 47 75 69   GUID ProductGui
9240: 64 3b 0d 0a 20 20 47 55 49 44 20 4e 61 6d 65 47  d;..  GUID NameG
9250: 75 69 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  uid;..}..alias t
9260: 61 67 41 55 58 43 41 50 53 32 57 20 41 55 58 43  agAUXCAPS2W AUXC
9270: 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61  APS2W;..alias ta
9280: 67 41 55 58 43 41 50 53 32 57 2a 20 50 41 55 58  gAUXCAPS2W* PAUX
9290: 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74  CAPS2W;..alias t
92a0: 61 67 41 55 58 43 41 50 53 32 57 2a 20 4e 50 41  agAUXCAPS2W* NPA
92b0: 55 58 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73  UXCAPS2W;..alias
92c0: 20 74 61 67 41 55 58 43 41 50 53 32 57 2a 20 4c   tagAUXCAPS2W* L
92d0: 50 41 55 58 43 41 50 53 32 57 3b 0d 0a 0d 0a 2f  PAUXCAPS2W;..../
92e0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
92f0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
9300: 73 65 0d 0a 61 6c 69 61 73 20 41 55 58 43 41 50  se..alias AUXCAP
9310: 53 32 41 20 41 55 58 43 41 50 53 32 3b 0d 0a 61  S2A AUXCAPS2;..a
9320: 6c 69 61 73 20 50 41 55 58 43 41 50 53 32 41 20  lias PAUXCAPS2A 
9330: 50 41 55 58 43 41 50 53 32 3b 0d 0a 61 6c 69 61  PAUXCAPS2;..alia
9340: 73 20 4e 50 41 55 58 43 41 50 53 32 41 20 4e 50  s NPAUXCAPS2A NP
9350: 41 55 58 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73  AUXCAPS2;..alias
9360: 20 4c 50 41 55 58 43 41 50 53 32 41 20 4c 50 41   LPAUXCAPS2A LPA
9370: 55 58 43 41 50 53 32 3b 0d 0a 2f 2f 20 23 65 6e  UXCAPS2;..// #en
9380: 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
9390: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
93a0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d  ....// #endif...
93b0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41  .enum : uint { A
93c0: 55 58 43 41 50 53 5f 43 44 41 55 44 49 4f 20 3d  UXCAPS_CDAUDIO =
93d0: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
93e0: 74 20 7b 20 41 55 58 43 41 50 53 5f 41 55 58 49  t { AUXCAPS_AUXI
93f0: 4e 20 3d 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  N = 2 }....enum 
9400: 3a 20 75 69 6e 74 20 7b 20 41 55 58 43 41 50 53  : uint { AUXCAPS
9410: 5f 56 4f 4c 55 4d 45 20 3d 20 30 78 30 30 30 31  _VOLUME = 0x0001
9420: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
9430: 7b 20 41 55 58 43 41 50 53 5f 4c 52 56 4f 4c 55  { AUXCAPS_LRVOLU
9440: 4d 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 0d  ME = 0x0002 }...
9450: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
9460: 20 65 78 70 6f 72 74 20 55 49 4e 54 20 61 75 78   export UINT aux
9470: 47 65 74 4e 75 6d 44 65 76 73 28 29 3b 0d 0a 2f  GetNumDevs();../
9480: 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d  / #ifdef _WIN32.
9490: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
94a0: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
94b0: 4c 54 20 61 75 78 47 65 74 44 65 76 43 61 70 73  LT auxGetDevCaps
94c0: 41 28 55 49 4e 54 5f 50 54 52 20 75 44 65 76 69  A(UINT_PTR uDevi
94d0: 63 65 49 44 2c 20 4c 50 41 55 58 43 41 50 53 41  ceID, LPAUXCAPSA
94e0: 20 70 61 63 2c 20 55 49 4e 54 20 63 62 61 63 29   pac, UINT cbac)
94f0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
9500: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
9510: 4c 54 20 61 75 78 47 65 74 44 65 76 43 61 70 73  LT auxGetDevCaps
9520: 57 28 55 49 4e 54 5f 50 54 52 20 75 44 65 76 69  W(UINT_PTR uDevi
9530: 63 65 49 44 2c 20 4c 50 41 55 58 43 41 50 53 57  ceID, LPAUXCAPSW
9540: 20 70 61 63 2c 20 55 49 4e 54 20 63 62 61 63 29   pac, UINT cbac)
9550: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
9560: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
9570: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 61  / #else..alias a
9580: 75 78 47 65 74 44 65 76 43 61 70 73 41 20 61 75  uxGetDevCapsA au
9590: 78 47 65 74 44 65 76 43 61 70 73 3b 0d 0a 2f 2f  xGetDevCaps;..//
95a0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
95b0: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
95c0: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
95d0: 69 66 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  if..extern(Windo
95e0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
95f0: 55 4c 54 20 61 75 78 53 65 74 56 6f 6c 75 6d 65  ULT auxSetVolume
9600: 28 55 49 4e 54 20 75 44 65 76 69 63 65 49 44 2c  (UINT uDeviceID,
9610: 20 44 57 4f 52 44 20 64 77 56 6f 6c 75 6d 65 29   DWORD dwVolume)
9620: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
9630: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
9640: 4c 54 20 61 75 78 47 65 74 56 6f 6c 75 6d 65 28  LT auxGetVolume(
9650: 55 49 4e 54 20 75 44 65 76 69 63 65 49 44 2c 20  UINT uDeviceID, 
9660: 4c 50 44 57 4f 52 44 20 70 64 77 56 6f 6c 75 6d  LPDWORD pdwVolum
9670: 65 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 20 28 57  e);....// #if (W
9680: 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61 29  INVER >= 0x030a)
9690: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
96a0: 33 32 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  32..extern(Windo
96b0: 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53  ws) export MMRES
96c0: 55 4c 54 20 61 75 78 4f 75 74 4d 65 73 73 61 67  ULT auxOutMessag
96d0: 65 28 55 49 4e 54 20 75 44 65 76 69 63 65 49 44  e(UINT uDeviceID
96e0: 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 44 57 4f  , UINT uMsg, DWO
96f0: 52 44 5f 50 54 52 20 64 77 31 2c 20 44 57 4f 52  RD_PTR dw1, DWOR
9700: 44 5f 50 54 52 20 64 77 32 29 3b 0d 0a 2f 2f 20  D_PTR dw2);..// 
9710: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
9720: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e  / #endif..// #en
9730: 64 69 66 20 2f 2a 20 69 66 64 65 66 20 57 49 4e  dif /* ifdef WIN
9740: 56 45 52 20 3e 3d 20 30 78 30 33 30 61 20 2a 2f  VER >= 0x030a */
9750: 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f  ....// #endif  /
9760: 2a 20 69 66 6e 64 65 66 20 4d 4d 4e 4f 41 55 58  * ifndef MMNOAUX
9770: 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65   */....// #ifnde
9780: 66 20 4d 4d 4e 4f 4d 49 58 45 52 0d 0a 0d 0a 61  f MMNOMIXER....a
9790: 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 49 58 45  lias void* HMIXE
97a0: 52 4f 42 4a 3b 0d 0a 61 6c 69 61 73 20 48 4d 49  ROBJ;..alias HMI
97b0: 58 45 52 4f 42 4a 2a 20 4c 50 48 4d 49 58 45 52  XEROBJ* LPHMIXER
97c0: 4f 42 4a 3b 0d 0a 0d 0a 61 6c 69 61 73 20 76 6f  OBJ;....alias vo
97d0: 69 64 2a 20 48 4d 49 58 45 52 3b 0d 0a 61 6c 69  id* HMIXER;..ali
97e0: 61 73 20 48 4d 49 58 45 52 2a 20 4c 50 48 4d 49  as HMIXER* LPHMI
97f0: 58 45 52 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  XER;....enum : u
9800: 69 6e 74 20 7b 20 4d 49 58 45 52 5f 53 48 4f 52  int { MIXER_SHOR
9810: 54 5f 4e 41 4d 45 5f 43 48 41 52 53 20 3d 20 31  T_NAME_CHARS = 1
9820: 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  6 }..enum : uint
9830: 20 7b 20 4d 49 58 45 52 5f 4c 4f 4e 47 5f 4e 41   { MIXER_LONG_NA
9840: 4d 45 5f 43 48 41 52 53 20 3d 20 36 34 20 7d 0d  ME_CHARS = 64 }.
9850: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
9860: 20 4d 49 58 45 52 52 5f 49 4e 56 41 4c 4c 49 4e   MIXERR_INVALLIN
9870: 45 20 3d 20 4d 49 58 45 52 52 5f 42 41 53 45 20  E = MIXERR_BASE 
9880: 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 0 }..enum : ui
9890: 6e 74 20 7b 20 4d 49 58 45 52 52 5f 49 4e 56 41  nt { MIXERR_INVA
98a0: 4c 43 4f 4e 54 52 4f 4c 20 3d 20 4d 49 58 45 52  LCONTROL = MIXER
98b0: 52 5f 42 41 53 45 20 2b 20 31 20 7d 0d 0a 65 6e  R_BASE + 1 }..en
98c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
98d0: 52 52 5f 49 4e 56 41 4c 56 41 4c 55 45 20 3d 20  RR_INVALVALUE = 
98e0: 4d 49 58 45 52 52 5f 42 41 53 45 20 2b 20 32 20  MIXERR_BASE + 2 
98f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9900: 20 4d 49 58 45 52 52 5f 4c 41 53 54 45 52 52 4f   MIXERR_LASTERRO
9910: 52 20 3d 20 4d 49 58 45 52 52 5f 42 41 53 45 20  R = MIXERR_BASE 
9920: 2b 20 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  + 2 }....enum : 
9930: 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f 42 4a  uint { MIXER_OBJ
9940: 45 43 54 46 5f 48 41 4e 44 4c 45 20 3d 20 30 78  ECTF_HANDLE = 0x
9950: 38 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  80000000 }..enum
9960: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f   : uint { MIXER_
9970: 4f 42 4a 45 43 54 46 5f 4d 49 58 45 52 20 3d 20  OBJECTF_MIXER = 
9980: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..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 48 4d 49 58 45 52  R_OBJECTF_HMIXER
99b0: 20 3d 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46   = MIXER_OBJECTF
99c0: 5f 48 41 4e 44 4c 45 7c 4d 49 58 45 52 5f 4f 42  _HANDLE|MIXER_OB
99d0: 4a 45 43 54 46 5f 4d 49 58 45 52 20 7d 0d 0a 65  JECTF_MIXER }..e
99e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
99f0: 45 52 5f 4f 42 4a 45 43 54 46 5f 57 41 56 45 4f  ER_OBJECTF_WAVEO
9a00: 55 54 20 3d 20 30 78 31 30 30 30 30 30 30 30 20  UT = 0x10000000 
9a10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
9a20: 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 48   MIXER_OBJECTF_H
9a30: 57 41 56 45 4f 55 54 20 3d 20 4d 49 58 45 52 5f  WAVEOUT = MIXER_
9a40: 4f 42 4a 45 43 54 46 5f 48 41 4e 44 4c 45 7c 4d  OBJECTF_HANDLE|M
9a50: 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 57 41 56  IXER_OBJECTF_WAV
9a60: 45 4f 55 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  EOUT }..enum : u
9a70: 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f 42 4a 45  int { MIXER_OBJE
9a80: 43 54 46 5f 57 41 56 45 49 4e 20 3d 20 30 78 32  CTF_WAVEIN = 0x2
9a90: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
9aa0: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f  : uint { MIXER_O
9ab0: 42 4a 45 43 54 46 5f 48 57 41 56 45 49 4e 20 3d  BJECTF_HWAVEIN =
9ac0: 20 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 48   MIXER_OBJECTF_H
9ad0: 41 4e 44 4c 45 7c 4d 49 58 45 52 5f 4f 42 4a 45  ANDLE|MIXER_OBJE
9ae0: 43 54 46 5f 57 41 56 45 49 4e 20 7d 0d 0a 65 6e  CTF_WAVEIN }..en
9af0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
9b00: 52 5f 4f 42 4a 45 43 54 46 5f 4d 49 44 49 4f 55  R_OBJECTF_MIDIOU
9b10: 54 20 3d 20 30 78 33 30 30 30 30 30 30 30 20 7d  T = 0x30000000 }
9b20: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
9b30: 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 48 4d  MIXER_OBJECTF_HM
9b40: 49 44 49 4f 55 54 20 3d 20 4d 49 58 45 52 5f 4f  IDIOUT = MIXER_O
9b50: 42 4a 45 43 54 46 5f 48 41 4e 44 4c 45 7c 4d 49  BJECTF_HANDLE|MI
9b60: 58 45 52 5f 4f 42 4a 45 43 54 46 5f 4d 49 44 49  XER_OBJECTF_MIDI
9b70: 4f 55 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  OUT }..enum : ui
9b80: 6e 74 20 7b 20 4d 49 58 45 52 5f 4f 42 4a 45 43  nt { MIXER_OBJEC
9b90: 54 46 5f 4d 49 44 49 49 4e 20 3d 20 30 78 34 30  TF_MIDIIN = 0x40
9ba0: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
9bb0: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 4f 42   uint { MIXER_OB
9bc0: 4a 45 43 54 46 5f 48 4d 49 44 49 49 4e 20 3d 20  JECTF_HMIDIIN = 
9bd0: 4d 49 58 45 52 5f 4f 42 4a 45 43 54 46 5f 48 41  MIXER_OBJECTF_HA
9be0: 4e 44 4c 45 7c 4d 49 58 45 52 5f 4f 42 4a 45 43  NDLE|MIXER_OBJEC
9bf0: 54 46 5f 4d 49 44 49 49 4e 20 7d 0d 0a 65 6e 75  TF_MIDIIN }..enu
9c00: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
9c10: 5f 4f 42 4a 45 43 54 46 5f 41 55 58 20 3d 20 30  _OBJECTF_AUX = 0
9c20: 78 35 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65  x50000000 }....e
9c30: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
9c40: 78 70 6f 72 74 20 55 49 4e 54 20 6d 69 78 65 72  xport UINT mixer
9c50: 47 65 74 4e 75 6d 44 65 76 73 28 29 3b 0d 0a 0d  GetNumDevs();...
9c60: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33  .// #ifdef _WIN3
9c70: 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  2....struct tagM
9c80: 49 58 45 52 43 41 50 53 41 20 7b 0d 0a 20 20 57  IXERCAPSA {..  W
9c90: 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52  ORD wMid;..  WOR
9ca0: 44 20 77 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52  D wPid;..  MMVER
9cb0: 53 49 4f 4e 20 76 44 72 69 76 65 72 56 65 72 73  SION vDriverVers
9cc0: 69 6f 6e 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50  ion;..  CHAR szP
9cd0: 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e  name[MAXPNAMELEN
9ce0: 5d 3b 0d 0a 20 20 44 57 4f 52 44 20 66 64 77 53  ];..  DWORD fdwS
9cf0: 75 70 70 6f 72 74 3b 0d 0a 20 20 44 57 4f 52 44  upport;..  DWORD
9d00: 20 63 44 65 73 74 69 6e 61 74 69 6f 6e 73 3b 0d   cDestinations;.
9d10: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58  .}..alias tagMIX
9d20: 45 52 43 41 50 53 41 20 4d 49 58 45 52 43 41 50  ERCAPSA MIXERCAP
9d30: 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  SA;..alias tagMI
9d40: 58 45 52 43 41 50 53 41 2a 20 50 4d 49 58 45 52  XERCAPSA* PMIXER
9d50: 43 41 50 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  CAPSA;..alias ta
9d60: 67 4d 49 58 45 52 43 41 50 53 41 2a 20 4c 50 4d  gMIXERCAPSA* LPM
9d70: 49 58 45 52 43 41 50 53 41 3b 0d 0a 0d 0a 73 74  IXERCAPSA;....st
9d80: 72 75 63 74 20 74 61 67 4d 49 58 45 52 43 41 50  ruct tagMIXERCAP
9d90: 53 57 20 7b 0d 0a 20 20 57 4f 52 44 20 77 4d 69  SW {..  WORD wMi
9da0: 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50 69 64 3b  d;..  WORD wPid;
9db0: 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e 20 76 44  ..  MMVERSION vD
9dc0: 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 20  riverVersion;.. 
9dd0: 20 57 43 48 41 52 20 73 7a 50 6e 61 6d 65 5b 4d   WCHAR szPname[M
9de0: 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20  AXPNAMELEN];..  
9df0: 44 57 4f 52 44 20 66 64 77 53 75 70 70 6f 72 74  DWORD fdwSupport
9e00: 3b 0d 0a 20 20 44 57 4f 52 44 20 63 44 65 73 74  ;..  DWORD cDest
9e10: 69 6e 61 74 69 6f 6e 73 3b 0d 0a 7d 0d 0a 61 6c  inations;..}..al
9e20: 69 61 73 20 74 61 67 4d 49 58 45 52 43 41 50 53  ias tagMIXERCAPS
9e30: 57 20 4d 49 58 45 52 43 41 50 53 57 3b 0d 0a 61  W MIXERCAPSW;..a
9e40: 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43 41 50  lias tagMIXERCAP
9e50: 53 57 2a 20 50 4d 49 58 45 52 43 41 50 53 57 3b  SW* PMIXERCAPSW;
9e60: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52  ..alias tagMIXER
9e70: 43 41 50 53 57 2a 20 4c 50 4d 49 58 45 52 43 41  CAPSW* LPMIXERCA
9e80: 50 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  PSW;....// #ifde
9e90: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e  f UNICODE..// ..
9ea0: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
9eb0: 61 73 20 4d 49 58 45 52 43 41 50 53 41 20 4d 49  as MIXERCAPSA MI
9ec0: 58 45 52 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20  XERCAPS;..alias 
9ed0: 50 4d 49 58 45 52 43 41 50 53 41 20 50 4d 49 58  PMIXERCAPSA PMIX
9ee0: 45 52 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4c  ERCAPS;..alias L
9ef0: 50 4d 49 58 45 52 43 41 50 53 41 20 4c 50 4d 49  PMIXERCAPSA LPMI
9f00: 58 45 52 43 41 50 53 3b 0d 0a 2f 2f 20 23 65 6e  XERCAPS;..// #en
9f10: 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
9f20: 73 74 72 75 63 74 20 74 61 67 4d 49 58 45 52 43  struct tagMIXERC
9f30: 41 50 53 32 41 20 7b 0d 0a 20 20 57 4f 52 44 20  APS2A {..  WORD 
9f40: 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50  wMid;..  WORD wP
9f50: 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f 4e  id;..  MMVERSION
9f60: 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b   vDriverVersion;
9f70: 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d 65  ..  CHAR szPname
9f80: 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a  [MAXPNAMELEN];..
9f90: 20 20 44 57 4f 52 44 20 66 64 77 53 75 70 70 6f    DWORD fdwSuppo
9fa0: 72 74 3b 0d 0a 20 20 44 57 4f 52 44 20 63 44 65  rt;..  DWORD cDe
9fb0: 73 74 69 6e 61 74 69 6f 6e 73 3b 0d 0a 20 20 47  stinations;..  G
9fc0: 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72  UID Manufacturer
9fd0: 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72  Guid;..  GUID Pr
9fe0: 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55  oductGuid;..  GU
9ff0: 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d  ID NameGuid;..}.
a000: 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43  .alias tagMIXERC
a010: 41 50 53 32 41 20 4d 49 58 45 52 43 41 50 53 32  APS2A MIXERCAPS2
a020: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58  A;..alias tagMIX
a030: 45 52 43 41 50 53 32 41 2a 20 50 4d 49 58 45 52  ERCAPS2A* PMIXER
a040: 43 41 50 53 32 41 3b 0d 0a 61 6c 69 61 73 20 74  CAPS2A;..alias t
a050: 61 67 4d 49 58 45 52 43 41 50 53 32 41 2a 20 4c  agMIXERCAPS2A* L
a060: 50 4d 49 58 45 52 43 41 50 53 32 41 3b 0d 0a 0d  PMIXERCAPS2A;...
a070: 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58 45 52  .struct tagMIXER
a080: 43 41 50 53 32 57 20 7b 0d 0a 20 20 57 4f 52 44  CAPS2W {..  WORD
a090: 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77   wMid;..  WORD w
a0a0: 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f  Pid;..  MMVERSIO
a0b0: 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e  N vDriverVersion
a0c0: 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50 6e 61  ;..  WCHAR szPna
a0d0: 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b  me[MAXPNAMELEN];
a0e0: 0d 0a 20 20 44 57 4f 52 44 20 66 64 77 53 75 70  ..  DWORD fdwSup
a0f0: 70 6f 72 74 3b 0d 0a 20 20 44 57 4f 52 44 20 63  port;..  DWORD c
a100: 44 65 73 74 69 6e 61 74 69 6f 6e 73 3b 0d 0a 20  Destinations;.. 
a110: 20 47 55 49 44 20 4d 61 6e 75 66 61 63 74 75 72   GUID Manufactur
a120: 65 72 47 75 69 64 3b 0d 0a 20 20 47 55 49 44 20  erGuid;..  GUID 
a130: 50 72 6f 64 75 63 74 47 75 69 64 3b 0d 0a 20 20  ProductGuid;..  
a140: 47 55 49 44 20 4e 61 6d 65 47 75 69 64 3b 0d 0a  GUID NameGuid;..
a150: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45  }..alias tagMIXE
a160: 52 43 41 50 53 32 57 20 4d 49 58 45 52 43 41 50  RCAPS2W MIXERCAP
a170: 53 32 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  S2W;..alias tagM
a180: 49 58 45 52 43 41 50 53 32 57 2a 20 50 4d 49 58  IXERCAPS2W* PMIX
a190: 45 52 43 41 50 53 32 57 3b 0d 0a 61 6c 69 61 73  ERCAPS2W;..alias
a1a0: 20 74 61 67 4d 49 58 45 52 43 41 50 53 32 57 2a   tagMIXERCAPS2W*
a1b0: 20 4c 50 4d 49 58 45 52 43 41 50 53 32 57 3b 0d   LPMIXERCAPS2W;.
a1c0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
a1d0: 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
a1e0: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d 49   #else..alias MI
a1f0: 58 45 52 43 41 50 53 32 41 20 4d 49 58 45 52 43  XERCAPS2A MIXERC
a200: 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 50 4d 49  APS2;..alias PMI
a210: 58 45 52 43 41 50 53 32 41 20 50 4d 49 58 45 52  XERCAPS2A PMIXER
a220: 43 41 50 53 32 3b 0d 0a 61 6c 69 61 73 20 4c 50  CAPS2;..alias LP
a230: 4d 49 58 45 52 43 41 50 53 32 41 20 4c 50 4d 49  MIXERCAPS2A LPMI
a240: 58 45 52 43 41 50 53 32 3b 0d 0a 2f 2f 20 23 65  XERCAPS2;..// #e
a250: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
a260: 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
a270: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
a280: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
a290: 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  32....extern(Win
a2a0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
a2b0: 45 53 55 4c 54 20 6d 69 78 65 72 47 65 74 44 65  ESULT mixerGetDe
a2c0: 76 43 61 70 73 41 28 55 49 4e 54 5f 50 54 52 20  vCapsA(UINT_PTR 
a2d0: 75 4d 78 49 64 2c 20 4c 50 4d 49 58 45 52 43 41  uMxId, LPMIXERCA
a2e0: 50 53 41 20 70 6d 78 63 61 70 73 2c 20 55 49 4e  PSA pmxcaps, UIN
a2f0: 54 20 63 62 6d 78 63 61 70 73 29 3b 0d 0a 65 78  T cbmxcaps);..ex
a300: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
a310: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69  port MMRESULT mi
a320: 78 65 72 47 65 74 44 65 76 43 61 70 73 57 28 55  xerGetDevCapsW(U
a330: 49 4e 54 5f 50 54 52 20 75 4d 78 49 64 2c 20 4c  INT_PTR uMxId, L
a340: 50 4d 49 58 45 52 43 41 50 53 57 20 70 6d 78 63  PMIXERCAPSW pmxc
a350: 61 70 73 2c 20 55 49 4e 54 20 63 62 6d 78 63 61  aps, UINT cbmxca
a360: 70 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ps);..// #ifdef 
a370: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e  UNICODE..// #...
a380: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
a390: 73 20 6d 69 78 65 72 47 65 74 44 65 76 43 61 70  s mixerGetDevCap
a3a0: 73 41 20 6d 69 78 65 72 47 65 74 44 65 76 43 61  sA mixerGetDevCa
a3b0: 70 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ps;..// #endif /
a3c0: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  / !UNICODE....//
a3d0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
a3e0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74  // #endif....ext
a3f0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
a400: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78  ort MMRESULT mix
a410: 65 72 4f 70 65 6e 28 4c 50 48 4d 49 58 45 52 20  erOpen(LPHMIXER 
a420: 70 68 6d 78 2c 20 55 49 4e 54 20 75 4d 78 49 64  phmx, UINT uMxId
a430: 2c 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61  , DWORD_PTR dwCa
a440: 6c 6c 62 61 63 6b 2c 20 44 57 4f 52 44 5f 50 54  llback, DWORD_PT
a450: 52 20 64 77 49 6e 73 74 61 6e 63 65 2c 20 44 57  R dwInstance, DW
a460: 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a 0d  ORD fdwOpen);...
a470: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
a480: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
a490: 20 6d 69 78 65 72 43 6c 6f 73 65 28 48 4d 49 58   mixerClose(HMIX
a4a0: 45 52 20 68 6d 78 29 3b 0d 0a 0d 0a 65 78 74 65  ER hmx);....exte
a4b0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
a4c0: 72 74 20 44 57 4f 52 44 20 6d 69 78 65 72 4d 65  rt DWORD mixerMe
a4d0: 73 73 61 67 65 28 48 4d 49 58 45 52 20 68 6d 78  ssage(HMIXER hmx
a4e0: 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 44 57 4f  , UINT uMsg, DWO
a4f0: 52 44 5f 50 54 52 20 64 77 50 61 72 61 6d 31 2c  RD_PTR dwParam1,
a500: 20 44 57 4f 52 44 5f 50 54 52 20 64 77 50 61 72   DWORD_PTR dwPar
a510: 61 6d 32 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  am2);....// #ifd
a520: 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72  ef _WIN32....str
a530: 75 63 74 20 74 61 67 4d 49 58 45 52 4c 49 4e 45  uct tagMIXERLINE
a540: 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 53  A {..  DWORD cbS
a550: 74 72 75 63 74 3b 0d 0a 20 20 44 57 4f 52 44 20  truct;..  DWORD 
a560: 64 77 44 65 73 74 69 6e 61 74 69 6f 6e 3b 0d 0a  dwDestination;..
a570: 20 20 44 57 4f 52 44 20 64 77 53 6f 75 72 63 65    DWORD dwSource
a580: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c 69 6e  ;..  DWORD dwLin
a590: 65 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20 66 64  eID;..  DWORD fd
a5a0: 77 4c 69 6e 65 3b 0d 0a 20 20 44 57 4f 52 44 5f  wLine;..  DWORD_
a5b0: 50 54 52 20 64 77 55 73 65 72 3b 0d 0a 20 20 44  PTR dwUser;..  D
a5c0: 57 4f 52 44 20 64 77 43 6f 6d 70 6f 6e 65 6e 74  WORD dwComponent
a5d0: 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 63  Type;..  DWORD c
a5e0: 43 68 61 6e 6e 65 6c 73 3b 0d 0a 20 20 44 57 4f  Channels;..  DWO
a5f0: 52 44 20 63 43 6f 6e 6e 65 63 74 69 6f 6e 73 3b  RD cConnections;
a600: 0d 0a 20 20 44 57 4f 52 44 20 63 43 6f 6e 74 72  ..  DWORD cContr
a610: 6f 6c 73 3b 0d 0a 20 20 43 48 41 52 20 73 7a 53  ols;..  CHAR szS
a620: 68 6f 72 74 4e 61 6d 65 5b 4d 49 58 45 52 5f 53  hortName[MIXER_S
a630: 48 4f 52 54 5f 4e 41 4d 45 5f 43 48 41 52 53 5d  HORT_NAME_CHARS]
a640: 3b 0d 0a 20 20 43 48 41 52 20 73 7a 4e 61 6d 65  ;..  CHAR szName
a650: 5b 4d 49 58 45 52 5f 4c 4f 4e 47 5f 4e 41 4d 45  [MIXER_LONG_NAME
a660: 5f 43 48 41 52 53 5d 3b 0d 0a 73 74 72 75 63 74  _CHARS];..struct
a670: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 79   {..  DWORD dwTy
a680: 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44  pe;..  DWORD dwD
a690: 65 76 69 63 65 49 44 3b 0d 0a 20 20 57 4f 52 44  eviceID;..  WORD
a6a0: 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77   wMid;..  WORD w
a6b0: 50 69 64 3b 0d 0a 20 20 4d 4d 56 45 52 53 49 4f  Pid;..  MMVERSIO
a6c0: 4e 20 76 44 72 69 76 65 72 56 65 72 73 69 6f 6e  N vDriverVersion
a6d0: 3b 0d 0a 20 20 43 48 41 52 20 73 7a 50 6e 61 6d  ;..  CHAR szPnam
a6e0: 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d  e[MAXPNAMELEN];.
a6f0: 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  .}....}..alias t
a700: 61 67 4d 49 58 45 52 4c 49 4e 45 41 20 4d 49 58  agMIXERLINEA MIX
a710: 45 52 4c 49 4e 45 41 3b 0d 0a 61 6c 69 61 73 20  ERLINEA;..alias 
a720: 74 61 67 4d 49 58 45 52 4c 49 4e 45 41 2a 20 50  tagMIXERLINEA* P
a730: 4d 49 58 45 52 4c 49 4e 45 41 3b 0d 0a 61 6c 69  MIXERLINEA;..ali
a740: 61 73 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 41  as tagMIXERLINEA
a750: 2a 20 4c 50 4d 49 58 45 52 4c 49 4e 45 41 3b 0d  * LPMIXERLINEA;.
a760: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58  ...struct tagMIX
a770: 45 52 4c 49 4e 45 57 20 7b 0d 0a 20 20 44 57 4f  ERLINEW {..  DWO
a780: 52 44 20 63 62 53 74 72 75 63 74 3b 0d 0a 20 20  RD cbStruct;..  
a790: 44 57 4f 52 44 20 64 77 44 65 73 74 69 6e 61 74  DWORD dwDestinat
a7a0: 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ion;..  DWORD dw
a7b0: 53 6f 75 72 63 65 3b 0d 0a 20 20 44 57 4f 52 44  Source;..  DWORD
a7c0: 20 64 77 4c 69 6e 65 49 44 3b 0d 0a 20 20 44 57   dwLineID;..  DW
a7d0: 4f 52 44 20 66 64 77 4c 69 6e 65 3b 0d 0a 20 20  ORD fdwLine;..  
a7e0: 44 57 4f 52 44 5f 50 54 52 20 64 77 55 73 65 72  DWORD_PTR dwUser
a7f0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6d  ;..  DWORD dwCom
a800: 70 6f 6e 65 6e 74 54 79 70 65 3b 0d 0a 20 20 44  ponentType;..  D
a810: 57 4f 52 44 20 63 43 68 61 6e 6e 65 6c 73 3b 0d  WORD cChannels;.
a820: 0a 20 20 44 57 4f 52 44 20 63 43 6f 6e 6e 65 63  .  DWORD cConnec
a830: 74 69 6f 6e 73 3b 0d 0a 20 20 44 57 4f 52 44 20  tions;..  DWORD 
a840: 63 43 6f 6e 74 72 6f 6c 73 3b 0d 0a 20 20 57 43  cControls;..  WC
a850: 48 41 52 20 73 7a 53 68 6f 72 74 4e 61 6d 65 5b  HAR szShortName[
a860: 4d 49 58 45 52 5f 53 48 4f 52 54 5f 4e 41 4d 45  MIXER_SHORT_NAME
a870: 5f 43 48 41 52 53 5d 3b 0d 0a 20 20 57 43 48 41  _CHARS];..  WCHA
a880: 52 20 73 7a 4e 61 6d 65 5b 4d 49 58 45 52 5f 4c  R szName[MIXER_L
a890: 4f 4e 47 5f 4e 41 4d 45 5f 43 48 41 52 53 5d 3b  ONG_NAME_CHARS];
a8a0: 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 44 57  ..struct {..  DW
a8b0: 4f 52 44 20 64 77 54 79 70 65 3b 0d 0a 20 20 44  ORD dwType;..  D
a8c0: 57 4f 52 44 20 64 77 44 65 76 69 63 65 49 44 3b  WORD dwDeviceID;
a8d0: 0d 0a 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a  ..  WORD wMid;..
a8e0: 20 20 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20    WORD wPid;..  
a8f0: 4d 4d 56 45 52 53 49 4f 4e 20 76 44 72 69 76 65  MMVERSION vDrive
a900: 72 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 57 43 48  rVersion;..  WCH
a910: 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e  AR szPname[MAXPN
a920: 41 4d 45 4c 45 4e 5d 3b 0d 0a 7d 0d 0a 0d 0a 7d  AMELEN];..}....}
a930: 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52  ..alias tagMIXER
a940: 4c 49 4e 45 57 20 4d 49 58 45 52 4c 49 4e 45 57  LINEW MIXERLINEW
a950: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49 58 45  ;..alias tagMIXE
a960: 52 4c 49 4e 45 57 2a 20 50 4d 49 58 45 52 4c 49  RLINEW* PMIXERLI
a970: 4e 45 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  NEW;..alias tagM
a980: 49 58 45 52 4c 49 4e 45 57 2a 20 4c 50 4d 49 58  IXERLINEW* LPMIX
a990: 45 52 4c 49 4e 45 57 3b 0d 0a 0d 0a 2f 2f 20 23  ERLINEW;....// #
a9a0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
a9b0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
a9c0: 0a 61 6c 69 61 73 20 4d 49 58 45 52 4c 49 4e 45  .alias MIXERLINE
a9d0: 41 20 4d 49 58 45 52 4c 49 4e 45 3b 0d 0a 61 6c  A MIXERLINE;..al
a9e0: 69 61 73 20 50 4d 49 58 45 52 4c 49 4e 45 41 20  ias PMIXERLINEA 
a9f0: 50 4d 49 58 45 52 4c 49 4e 45 3b 0d 0a 61 6c 69  PMIXERLINE;..ali
aa00: 61 73 20 4c 50 4d 49 58 45 52 4c 49 4e 45 41 20  as LPMIXERLINEA 
aa10: 4c 50 4d 49 58 45 52 4c 49 4e 45 3b 0d 0a 2f 2f  LPMIXERLINE;..//
aa20: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
aa30: 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  DE....// #else..
aa40: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
aa50: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f....enum : uint
aa60: 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 4c 49 4e   { MIXERLINE_LIN
aa70: 45 46 5f 41 43 54 49 56 45 20 3d 20 30 78 30 30  EF_ACTIVE = 0x00
aa80: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
aa90: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e   uint { MIXERLIN
aaa0: 45 5f 4c 49 4e 45 46 5f 44 49 53 43 4f 4e 4e 45  E_LINEF_DISCONNE
aab0: 43 54 45 44 20 3d 20 30 78 30 30 30 30 38 30 30  CTED = 0x0000800
aac0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
aad0: 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 4c 49 4e   { MIXERLINE_LIN
aae0: 45 46 5f 53 4f 55 52 43 45 20 3d 20 30 78 38 30  EF_SOURCE = 0x80
aaf0: 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000000 }....enum
ab00: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c   : uint { MIXERL
ab10: 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50  INE_COMPONENTTYP
ab20: 45 5f 44 53 54 5f 46 49 52 53 54 20 3d 20 30 78  E_DST_FIRST = 0x
ab30: 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
ab40: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c   : uint { MIXERL
ab50: 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50  INE_COMPONENTTYP
ab60: 45 5f 44 53 54 5f 55 4e 44 45 46 49 4e 45 44 20  E_DST_UNDEFINED 
ab70: 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50  = MIXERLINE_COMP
ab80: 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f 46 49  ONENTTYPE_DST_FI
ab90: 52 53 54 20 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20  RST + 0 }..enum 
aba0: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49  : uint { MIXERLI
abb0: 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45  NE_COMPONENTTYPE
abc0: 5f 44 53 54 5f 44 49 47 49 54 41 4c 20 3d 20 4d  _DST_DIGITAL = M
abd0: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
abe0: 4e 54 54 59 50 45 5f 44 53 54 5f 46 49 52 53 54  NTTYPE_DST_FIRST
abf0: 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 1 }..enum : u
ac00: 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f  int { MIXERLINE_
ac10: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53  COMPONENTTYPE_DS
ac20: 54 5f 4c 49 4e 45 20 3d 20 4d 49 58 45 52 4c 49  T_LINE = MIXERLI
ac30: 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45  NE_COMPONENTTYPE
ac40: 5f 44 53 54 5f 46 49 52 53 54 20 2b 20 32 20 7d  _DST_FIRST + 2 }
ac50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ac60: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
ac70: 45 4e 54 54 59 50 45 5f 44 53 54 5f 4d 4f 4e 49  ENTTYPE_DST_MONI
ac80: 54 4f 52 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f  TOR = MIXERLINE_
ac90: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53  COMPONENTTYPE_DS
aca0: 54 5f 46 49 52 53 54 20 2b 20 33 20 7d 0d 0a 65  T_FIRST + 3 }..e
acb0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
acc0: 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54  ERLINE_COMPONENT
acd0: 54 59 50 45 5f 44 53 54 5f 53 50 45 41 4b 45 52  TYPE_DST_SPEAKER
ace0: 53 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f  S = MIXERLINE_CO
acf0: 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f  MPONENTTYPE_DST_
ad00: 46 49 52 53 54 20 2b 20 34 20 7d 0d 0a 65 6e 75  FIRST + 4 }..enu
ad10: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
ad20: 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59  LINE_COMPONENTTY
ad30: 50 45 5f 44 53 54 5f 48 45 41 44 50 48 4f 4e 45  PE_DST_HEADPHONE
ad40: 53 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f  S = MIXERLINE_CO
ad50: 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f  MPONENTTYPE_DST_
ad60: 46 49 52 53 54 20 2b 20 35 20 7d 0d 0a 65 6e 75  FIRST + 5 }..enu
ad70: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
ad80: 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59  LINE_COMPONENTTY
ad90: 50 45 5f 44 53 54 5f 54 45 4c 45 50 48 4f 4e 45  PE_DST_TELEPHONE
ada0: 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d   = MIXERLINE_COM
adb0: 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f 46  PONENTTYPE_DST_F
adc0: 49 52 53 54 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d  IRST + 6 }..enum
add0: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c   : uint { MIXERL
ade0: 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50  INE_COMPONENTTYP
adf0: 45 5f 44 53 54 5f 57 41 56 45 49 4e 20 3d 20 4d  E_DST_WAVEIN = M
ae00: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
ae10: 4e 54 54 59 50 45 5f 44 53 54 5f 46 49 52 53 54  NTTYPE_DST_FIRST
ae20: 20 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 7 }..enum : u
ae30: 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f  int { MIXERLINE_
ae40: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53  COMPONENTTYPE_DS
ae50: 54 5f 56 4f 49 43 45 49 4e 20 3d 20 4d 49 58 45  T_VOICEIN = MIXE
ae60: 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54  RLINE_COMPONENTT
ae70: 59 50 45 5f 44 53 54 5f 46 49 52 53 54 20 2b 20  YPE_DST_FIRST + 
ae80: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
ae90: 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d   { MIXERLINE_COM
aea0: 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53 54 5f 4c  PONENTTYPE_DST_L
aeb0: 41 53 54 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f  AST = MIXERLINE_
aec0: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 44 53  COMPONENTTYPE_DS
aed0: 54 5f 46 49 52 53 54 20 2b 20 38 20 7d 0d 0a 0d  T_FIRST + 8 }...
aee0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
aef0: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
af00: 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54  NTTYPE_SRC_FIRST
af10: 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d   = 0x00001000 }.
af20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
af30: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
af40: 4e 54 54 59 50 45 5f 53 52 43 5f 55 4e 44 45 46  NTTYPE_SRC_UNDEF
af50: 49 4e 45 44 20 3d 20 4d 49 58 45 52 4c 49 4e 45  INED = MIXERLINE
af60: 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53  _COMPONENTTYPE_S
af70: 52 43 5f 46 49 52 53 54 20 2b 20 30 20 7d 0d 0a  RC_FIRST + 0 }..
af80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
af90: 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e  XERLINE_COMPONEN
afa0: 54 54 59 50 45 5f 53 52 43 5f 44 49 47 49 54 41  TTYPE_SRC_DIGITA
afb0: 4c 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f  L = MIXERLINE_CO
afc0: 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f  MPONENTTYPE_SRC_
afd0: 46 49 52 53 54 20 2b 20 31 20 7d 0d 0a 65 6e 75  FIRST + 1 }..enu
afe0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
aff0: 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59  LINE_COMPONENTTY
b000: 50 45 5f 53 52 43 5f 4c 49 4e 45 20 3d 20 4d 49  PE_SRC_LINE = MI
b010: 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e  XERLINE_COMPONEN
b020: 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54 20  TTYPE_SRC_FIRST 
b030: 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 2 }..enum : ui
b040: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43  nt { MIXERLINE_C
b050: 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43  OMPONENTTYPE_SRC
b060: 5f 4d 49 43 52 4f 50 48 4f 4e 45 20 3d 20 4d 49  _MICROPHONE = MI
b070: 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e  XERLINE_COMPONEN
b080: 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54 20  TTYPE_SRC_FIRST 
b090: 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 3 }..enum : ui
b0a0: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43  nt { MIXERLINE_C
b0b0: 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43  OMPONENTTYPE_SRC
b0c0: 5f 53 59 4e 54 48 45 53 49 5a 45 52 20 3d 20 4d  _SYNTHESIZER = M
b0d0: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
b0e0: 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54  NTTYPE_SRC_FIRST
b0f0: 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 4 }..enum : u
b100: 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f  int { MIXERLINE_
b110: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52  COMPONENTTYPE_SR
b120: 43 5f 43 4f 4d 50 41 43 54 44 49 53 43 20 3d 20  C_COMPACTDISC = 
b130: 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e  MIXERLINE_COMPON
b140: 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53  ENTTYPE_SRC_FIRS
b150: 54 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 5 }..enum : 
b160: 75 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45  uint { MIXERLINE
b170: 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53  _COMPONENTTYPE_S
b180: 52 43 5f 54 45 4c 45 50 48 4f 4e 45 20 3d 20 4d  RC_TELEPHONE = M
b190: 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45  IXERLINE_COMPONE
b1a0: 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54  NTTYPE_SRC_FIRST
b1b0: 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 6 }..enum : u
b1c0: 69 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f  int { MIXERLINE_
b1d0: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52  COMPONENTTYPE_SR
b1e0: 43 5f 50 43 53 50 45 41 4b 45 52 20 3d 20 4d 49  C_PCSPEAKER = MI
b1f0: 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e  XERLINE_COMPONEN
b200: 54 54 59 50 45 5f 53 52 43 5f 46 49 52 53 54 20  TTYPE_SRC_FIRST 
b210: 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 7 }..enum : ui
b220: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43  nt { MIXERLINE_C
b230: 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43  OMPONENTTYPE_SRC
b240: 5f 57 41 56 45 4f 55 54 20 3d 20 4d 49 58 45 52  _WAVEOUT = MIXER
b250: 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59  LINE_COMPONENTTY
b260: 50 45 5f 53 52 43 5f 46 49 52 53 54 20 2b 20 38  PE_SRC_FIRST + 8
b270: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b280: 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50  { MIXERLINE_COMP
b290: 4f 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 41 55  ONENTTYPE_SRC_AU
b2a0: 58 49 4c 49 41 52 59 20 3d 20 4d 49 58 45 52 4c  XILIARY = MIXERL
b2b0: 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50  INE_COMPONENTTYP
b2c0: 45 5f 53 52 43 5f 46 49 52 53 54 20 2b 20 39 20  E_SRC_FIRST + 9 
b2d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b2e0: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
b2f0: 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 41 4e 41  NENTTYPE_SRC_ANA
b300: 4c 4f 47 20 3d 20 4d 49 58 45 52 4c 49 4e 45 5f  LOG = MIXERLINE_
b310: 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 5f 53 52  COMPONENTTYPE_SR
b320: 43 5f 46 49 52 53 54 20 2b 20 31 30 20 7d 0d 0a  C_FIRST + 10 }..
b330: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
b340: 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f 4e 45 4e  XERLINE_COMPONEN
b350: 54 54 59 50 45 5f 53 52 43 5f 4c 41 53 54 20 3d  TTYPE_SRC_LAST =
b360: 20 4d 49 58 45 52 4c 49 4e 45 5f 43 4f 4d 50 4f   MIXERLINE_COMPO
b370: 4e 45 4e 54 54 59 50 45 5f 53 52 43 5f 46 49 52  NENTTYPE_SRC_FIR
b380: 53 54 20 2b 20 31 30 20 7d 0d 0a 0d 0a 65 6e 75  ST + 10 }....enu
b390: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
b3a0: 4c 49 4e 45 5f 54 41 52 47 45 54 54 59 50 45 5f  LINE_TARGETTYPE_
b3b0: 55 4e 44 45 46 49 4e 45 44 20 3d 20 30 20 7d 0d  UNDEFINED = 0 }.
b3c0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
b3d0: 49 58 45 52 4c 49 4e 45 5f 54 41 52 47 45 54 54  IXERLINE_TARGETT
b3e0: 59 50 45 5f 57 41 56 45 4f 55 54 20 3d 20 31 20  YPE_WAVEOUT = 1 
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 49 4e 20 3d 20 32  TTYPE_WAVEIN = 2
b420: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b430: 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 54 41 52 47  { MIXERLINE_TARG
b440: 45 54 54 59 50 45 5f 4d 49 44 49 4f 55 54 20 3d  ETTYPE_MIDIOUT =
b450: 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..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 49 4e 20  RGETTYPE_MIDIIN 
b480: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
b490: 6e 74 20 7b 20 4d 49 58 45 52 4c 49 4e 45 5f 54  nt { MIXERLINE_T
b4a0: 41 52 47 45 54 54 59 50 45 5f 41 55 58 20 3d 20  ARGETTYPE_AUX = 
b4b0: 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  5 }....// #ifdef
b4c0: 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72   _WIN32....exter
b4d0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
b4e0: 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78 65 72  t MMRESULT mixer
b4f0: 47 65 74 4c 69 6e 65 49 6e 66 6f 41 28 48 4d 49  GetLineInfoA(HMI
b500: 58 45 52 4f 42 4a 20 68 6d 78 6f 62 6a 2c 20 4c  XEROBJ hmxobj, L
b510: 50 4d 49 58 45 52 4c 49 4e 45 41 20 70 6d 78 6c  PMIXERLINEA pmxl
b520: 2c 20 44 57 4f 52 44 20 66 64 77 49 6e 66 6f 29  , DWORD fdwInfo)
b530: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
b540: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
b550: 4c 54 20 6d 69 78 65 72 47 65 74 4c 69 6e 65 49  LT mixerGetLineI
b560: 6e 66 6f 57 28 48 4d 49 58 45 52 4f 42 4a 20 68  nfoW(HMIXEROBJ h
b570: 6d 78 6f 62 6a 2c 20 4c 50 4d 49 58 45 52 4c 49  mxobj, LPMIXERLI
b580: 4e 45 57 20 70 6d 78 6c 2c 20 44 57 4f 52 44 20  NEW pmxl, DWORD 
b590: 66 64 77 49 6e 66 6f 29 3b 0d 0a 2f 2f 20 23 69  fdwInfo);..// #i
b5a0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
b5b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
b5c0: 0a 61 6c 69 61 73 20 6d 69 78 65 72 47 65 74 4c  .alias mixerGetL
b5d0: 69 6e 65 49 6e 66 6f 41 20 6d 69 78 65 72 47 65  ineInfoA mixerGe
b5e0: 74 4c 69 6e 65 49 6e 66 6f 3b 0d 0a 2f 2f 20 23  tLineInfo;..// #
b5f0: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
b600: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
b610: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
b620: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
b630: 7b 20 4d 49 58 45 52 5f 47 45 54 4c 49 4e 45 49  { MIXER_GETLINEI
b640: 4e 46 4f 46 5f 44 45 53 54 49 4e 41 54 49 4f 4e  NFOF_DESTINATION
b650: 20 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d   = 0x00000000 }.
b660: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
b670: 49 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e 46 4f  IXER_GETLINEINFO
b680: 46 5f 53 4f 55 52 43 45 20 3d 20 30 78 30 30 30  F_SOURCE = 0x000
b690: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
b6a0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 47 45 54  uint { MIXER_GET
b6b0: 4c 49 4e 45 49 4e 46 4f 46 5f 4c 49 4e 45 49 44  LINEINFOF_LINEID
b6c0: 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d   = 0x00000002 }.
b6d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
b6e0: 49 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e 46 4f  IXER_GETLINEINFO
b6f0: 46 5f 43 4f 4d 50 4f 4e 45 4e 54 54 59 50 45 20  F_COMPONENTTYPE 
b700: 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a  = 0x00000003 }..
b710: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
b720: 58 45 52 5f 47 45 54 4c 49 4e 45 49 4e 46 4f 46  XER_GETLINEINFOF
b730: 5f 54 41 52 47 45 54 54 59 50 45 20 3d 20 30 78  _TARGETTYPE = 0x
b740: 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e  00000004 }....en
b750: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
b760: 52 5f 47 45 54 4c 49 4e 45 49 4e 46 4f 46 5f 51  R_GETLINEINFOF_Q
b770: 55 45 52 59 4d 41 53 4b 20 3d 20 30 78 30 30 30  UERYMASK = 0x000
b780: 30 30 30 30 46 20 7d 0d 0a 0d 0a 65 78 74 65 72  0000F }....exter
b790: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
b7a0: 74 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78 65 72  t MMRESULT mixer
b7b0: 47 65 74 49 44 28 48 4d 49 58 45 52 4f 42 4a 20  GetID(HMIXEROBJ 
b7c0: 68 6d 78 6f 62 6a 2c 20 55 49 4e 54 20 2a 70 75  hmxobj, UINT *pu
b7d0: 4d 78 49 64 2c 20 44 57 4f 52 44 20 66 64 77 49  MxId, DWORD fdwI
b7e0: 64 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  d);....// #ifdef
b7f0: 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63   _WIN32....struc
b800: 74 20 74 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f  t tagMIXERCONTRO
b810: 4c 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62  LA {..  DWORD cb
b820: 53 74 72 75 63 74 3b 0d 0a 20 20 44 57 4f 52 44  Struct;..  DWORD
b830: 20 64 77 43 6f 6e 74 72 6f 6c 49 44 3b 0d 0a 20   dwControlID;.. 
b840: 20 44 57 4f 52 44 20 64 77 43 6f 6e 74 72 6f 6c   DWORD dwControl
b850: 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 66  Type;..  DWORD f
b860: 64 77 43 6f 6e 74 72 6f 6c 3b 0d 0a 20 20 44 57  dwControl;..  DW
b870: 4f 52 44 20 63 4d 75 6c 74 69 70 6c 65 49 74 65  ORD cMultipleIte
b880: 6d 73 3b 0d 0a 20 20 43 48 41 52 20 73 7a 53 68  ms;..  CHAR szSh
b890: 6f 72 74 4e 61 6d 65 5b 4d 49 58 45 52 5f 53 48  ortName[MIXER_SH
b8a0: 4f 52 54 5f 4e 41 4d 45 5f 43 48 41 52 53 5d 3b  ORT_NAME_CHARS];
b8b0: 0d 0a 20 20 43 48 41 52 20 73 7a 4e 61 6d 65 5b  ..  CHAR szName[
b8c0: 4d 49 58 45 52 5f 4c 4f 4e 47 5f 4e 41 4d 45 5f  MIXER_LONG_NAME_
b8d0: 43 48 41 52 53 5d 3b 0d 0a 75 6e 69 6f 6e 20 5f  CHARS];..union _
b8e0: 30 20 7b 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20  0 {..struct {.. 
b8f0: 20 4c 4f 4e 47 20 6c 4d 69 6e 69 6d 75 6d 3b 0d   LONG lMinimum;.
b900: 0a 20 20 4c 4f 4e 47 20 6c 4d 61 78 69 6d 75 6d  .  LONG lMaximum
b910: 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 7b  ;..}....struct {
b920: 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 69 6e 69  ..  DWORD dwMini
b930: 6d 75 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  mum;..  DWORD dw
b940: 4d 61 78 69 6d 75 6d 3b 0d 0a 7d 0d 0a 0d 0a 20  Maximum;..}.... 
b950: 20 44 57 4f 52 44 20 64 77 52 65 73 65 72 76 65   DWORD dwReserve
b960: 64 5b 36 5d 3b 0d 0a 7d 0d 0a 5f 30 20 42 6f 75  d[6];..}.._0 Bou
b970: 6e 64 73 3b 0d 0a 0d 0a 75 6e 69 6f 6e 20 5f 31  nds;....union _1
b980: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 53 74 65   {..  DWORD cSte
b990: 70 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62 43  ps;..  DWORD cbC
b9a0: 75 73 74 6f 6d 44 61 74 61 3b 0d 0a 20 20 44 57  ustomData;..  DW
b9b0: 4f 52 44 20 64 77 52 65 73 65 72 76 65 64 5b 36  ORD dwReserved[6
b9c0: 5d 3b 0d 0a 7d 0d 0a 5f 31 20 4d 65 74 72 69 63  ];..}.._1 Metric
b9d0: 73 3b 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  s;....}..alias t
b9e0: 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 41 20  agMIXERCONTROLA 
b9f0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 41 3b 0d 0a  MIXERCONTROLA;..
ba00: 61 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43 4f  alias tagMIXERCO
ba10: 4e 54 52 4f 4c 41 2a 20 50 4d 49 58 45 52 43 4f  NTROLA* PMIXERCO
ba20: 4e 54 52 4f 4c 41 3b 0d 0a 61 6c 69 61 73 20 74  NTROLA;..alias t
ba30: 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 41 2a  agMIXERCONTROLA*
ba40: 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 41   LPMIXERCONTROLA
ba50: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
ba60: 49 58 45 52 43 4f 4e 54 52 4f 4c 57 20 7b 0d 0a  IXERCONTROLW {..
ba70: 20 20 44 57 4f 52 44 20 63 62 53 74 72 75 63 74    DWORD cbStruct
ba80: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6e  ;..  DWORD dwCon
ba90: 74 72 6f 6c 49 44 3b 0d 0a 20 20 44 57 4f 52 44  trolID;..  DWORD
baa0: 20 64 77 43 6f 6e 74 72 6f 6c 54 79 70 65 3b 0d   dwControlType;.
bab0: 0a 20 20 44 57 4f 52 44 20 66 64 77 43 6f 6e 74  .  DWORD fdwCont
bac0: 72 6f 6c 3b 0d 0a 20 20 44 57 4f 52 44 20 63 4d  rol;..  DWORD cM
bad0: 75 6c 74 69 70 6c 65 49 74 65 6d 73 3b 0d 0a 20  ultipleItems;.. 
bae0: 20 57 43 48 41 52 20 73 7a 53 68 6f 72 74 4e 61   WCHAR szShortNa
baf0: 6d 65 5b 4d 49 58 45 52 5f 53 48 4f 52 54 5f 4e  me[MIXER_SHORT_N
bb00: 41 4d 45 5f 43 48 41 52 53 5d 3b 0d 0a 20 20 57  AME_CHARS];..  W
bb10: 43 48 41 52 20 73 7a 4e 61 6d 65 5b 4d 49 58 45  CHAR szName[MIXE
bb20: 52 5f 4c 4f 4e 47 5f 4e 41 4d 45 5f 43 48 41 52  R_LONG_NAME_CHAR
bb30: 53 5d 3b 0d 0a 75 6e 69 6f 6e 20 5f 32 20 7b 0d  S];..union _2 {.
bb40: 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20 4c 4f 4e  .struct {..  LON
bb50: 47 20 6c 4d 69 6e 69 6d 75 6d 3b 0d 0a 20 20 4c  G lMinimum;..  L
bb60: 4f 4e 47 20 6c 4d 61 78 69 6d 75 6d 3b 0d 0a 7d  ONG lMaximum;..}
bb70: 0d 0a 0d 0a 73 74 72 75 63 74 20 7b 0d 0a 20 20  ....struct {..  
bb80: 44 57 4f 52 44 20 64 77 4d 69 6e 69 6d 75 6d 3b  DWORD dwMinimum;
bb90: 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d 61 78 69  ..  DWORD dwMaxi
bba0: 6d 75 6d 3b 0d 0a 7d 0d 0a 0d 0a 20 20 44 57 4f  mum;..}....  DWO
bbb0: 52 44 20 64 77 52 65 73 65 72 76 65 64 5b 36 5d  RD dwReserved[6]
bbc0: 3b 0d 0a 7d 0d 0a 5f 32 20 42 6f 75 6e 64 73 3b  ;..}.._2 Bounds;
bbd0: 0d 0a 0d 0a 75 6e 69 6f 6e 20 5f 33 20 7b 0d 0a  ....union _3 {..
bbe0: 20 20 44 57 4f 52 44 20 63 53 74 65 70 73 3b 0d    DWORD cSteps;.
bbf0: 0a 20 20 44 57 4f 52 44 20 63 62 43 75 73 74 6f  .  DWORD cbCusto
bc00: 6d 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20  mData;..  DWORD 
bc10: 64 77 52 65 73 65 72 76 65 64 5b 36 5d 3b 0d 0a  dwReserved[6];..
bc20: 7d 0d 0a 5f 33 20 4d 65 74 72 69 63 73 3b 0d 0a  }.._3 Metrics;..
bc30: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  ..}..alias tagMI
bc40: 58 45 52 43 4f 4e 54 52 4f 4c 57 20 4d 49 58 45  XERCONTROLW MIXE
bc50: 52 43 4f 4e 54 52 4f 4c 57 3b 0d 0a 61 6c 69 61  RCONTROLW;..alia
bc60: 73 20 74 61 67 4d 49 58 45 52 43 4f 4e 54 52 4f  s tagMIXERCONTRO
bc70: 4c 57 2a 20 50 4d 49 58 45 52 43 4f 4e 54 52 4f  LW* PMIXERCONTRO
bc80: 4c 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 49  LW;..alias tagMI
bc90: 58 45 52 43 4f 4e 54 52 4f 4c 57 2a 20 4c 50 4d  XERCONTROLW* LPM
bca0: 49 58 45 52 43 4f 4e 54 52 4f 4c 57 3b 0d 0a 0d  IXERCONTROLW;...
bcb0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
bcc0: 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
bcd0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d 49 58 45  else..alias MIXE
bce0: 52 43 4f 4e 54 52 4f 4c 41 20 4d 49 58 45 52 43  RCONTROLA MIXERC
bcf0: 4f 4e 54 52 4f 4c 3b 0d 0a 61 6c 69 61 73 20 50  ONTROL;..alias P
bd00: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 41 20 50 4d  MIXERCONTROLA PM
bd10: 49 58 45 52 43 4f 4e 54 52 4f 4c 3b 0d 0a 61 6c  IXERCONTROL;..al
bd20: 69 61 73 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52  ias LPMIXERCONTR
bd30: 4f 4c 41 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52  OLA LPMIXERCONTR
bd40: 4f 4c 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  OL;..// #endif /
bd50: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20  / UNICODE....// 
bd60: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
bd70: 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d  / #endif....enum
bd80: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43   : uint { MIXERC
bd90: 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 46 5f  ONTROL_CONTROLF_
bda0: 55 4e 49 46 4f 52 4d 20 3d 20 30 78 30 30 30 30  UNIFORM = 0x0000
bdb0: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
bdc0: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
bdd0: 4f 4c 5f 43 4f 4e 54 52 4f 4c 46 5f 4d 55 4c 54  OL_CONTROLF_MULT
bde0: 49 50 4c 45 20 3d 20 30 78 30 30 30 30 30 30 30  IPLE = 0x0000000
bdf0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
be00: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
be10: 43 4f 4e 54 52 4f 4c 46 5f 44 49 53 41 42 4c 45  CONTROLF_DISABLE
be20: 44 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d  D = 0x80000000 }
be30: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
be40: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
be50: 54 5f 43 4c 41 53 53 5f 4d 41 53 4b 20 3d 20 30  T_CLASS_MASK = 0
be60: 78 46 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  xF0000000 }..enu
be70: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
be80: 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53  CONTROL_CT_CLASS
be90: 5f 43 55 53 54 4f 4d 20 3d 20 30 78 30 30 30 30  _CUSTOM = 0x0000
bea0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
beb0: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
bec0: 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 4d 45 54 45  OL_CT_CLASS_METE
bed0: 52 20 3d 20 30 78 31 30 30 30 30 30 30 30 20 7d  R = 0x10000000 }
bee0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bef0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
bf00: 43 4c 41 53 53 5f 53 57 49 54 43 48 20 3d 20 30  CLASS_SWITCH = 0
bf10: 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x20000000 }..enu
bf20: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
bf30: 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53  CONTROL_CT_CLASS
bf40: 5f 4e 55 4d 42 45 52 20 3d 20 30 78 33 30 30 30  _NUMBER = 0x3000
bf50: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
bf60: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
bf70: 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 53 4c 49 44  OL_CT_CLASS_SLID
bf80: 45 52 20 3d 20 30 78 34 30 30 30 30 30 30 30 20  ER = 0x40000000 
bf90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
bfa0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54   MIXERCONTROL_CT
bfb0: 5f 43 4c 41 53 53 5f 46 41 44 45 52 20 3d 20 30  _CLASS_FADER = 0
bfc0: 78 35 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x50000000 }..enu
bfd0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
bfe0: 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53  CONTROL_CT_CLASS
bff0: 5f 54 49 4d 45 20 3d 20 30 78 36 30 30 30 30 30  _TIME = 0x600000
c000: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
c010: 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  t { MIXERCONTROL
c020: 5f 43 54 5f 43 4c 41 53 53 5f 4c 49 53 54 20 3d  _CT_CLASS_LIST =
c030: 20 30 78 37 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x70000000 }...
c040: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
c050: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53  IXERCONTROL_CT_S
c060: 55 42 43 4c 41 53 53 5f 4d 41 53 4b 20 3d 20 30  UBCLASS_MASK = 0
c070: 78 30 46 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65  x0F000000 }....e
c080: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
c090: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f  ERCONTROL_CT_SC_
c0a0: 53 57 49 54 43 48 5f 42 4f 4f 4c 45 41 4e 20 3d  SWITCH_BOOLEAN =
c0b0: 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
c0c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
c0d0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f  ERCONTROL_CT_SC_
c0e0: 53 57 49 54 43 48 5f 42 55 54 54 4f 4e 20 3d 20  SWITCH_BUTTON = 
c0f0: 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x01000000 }....
c100: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c110: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43  XERCONTROL_CT_SC
c120: 5f 4d 45 54 45 52 5f 50 4f 4c 4c 45 44 20 3d 20  _METER_POLLED = 
c130: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00000000 }....
c140: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c150: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43  XERCONTROL_CT_SC
c160: 5f 54 49 4d 45 5f 4d 49 43 52 4f 53 45 43 53 20  _TIME_MICROSECS 
c170: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
c180: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c190: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43  XERCONTROL_CT_SC
c1a0: 5f 54 49 4d 45 5f 4d 49 4c 4c 49 53 45 43 53 20  _TIME_MILLISECS 
c1b0: 3d 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a  = 0x01000000 }..
c1c0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c1d0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
c1e0: 53 43 5f 4c 49 53 54 5f 53 49 4e 47 4c 45 20 3d  SC_LIST_SINGLE =
c1f0: 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65   0x00000000 }..e
c200: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58  num : uint { MIX
c210: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f  ERCONTROL_CT_SC_
c220: 4c 49 53 54 5f 4d 55 4c 54 49 50 4c 45 20 3d 20  LIST_MULTIPLE = 
c230: 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x01000000 }....
c240: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c250: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e  XERCONTROL_CT_UN
c260: 49 54 53 5f 4d 41 53 4b 20 3d 20 30 78 30 30 46  ITS_MASK = 0x00F
c270: 46 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  F0000 }..enum : 
c280: 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54  uint { MIXERCONT
c290: 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 43 55 53  ROL_CT_UNITS_CUS
c2a0: 54 4f 4d 20 3d 20 30 78 30 30 30 30 30 30 30 30  TOM = 0x00000000
c2b0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
c2c0: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
c2d0: 54 5f 55 4e 49 54 53 5f 42 4f 4f 4c 45 41 4e 20  T_UNITS_BOOLEAN 
c2e0: 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a  = 0x00010000 }..
c2f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
c300: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e  XERCONTROL_CT_UN
c310: 49 54 53 5f 53 49 47 4e 45 44 20 3d 20 30 78 30  ITS_SIGNED = 0x0
c320: 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0020000 }..enum 
c330: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f  : uint { MIXERCO
c340: 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 55  NTROL_CT_UNITS_U
c350: 4e 53 49 47 4e 45 44 20 3d 20 30 78 30 30 30 33  NSIGNED = 0x0003
c360: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
c370: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
c380: 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 44 45 43 49  OL_CT_UNITS_DECI
c390: 42 45 4c 53 20 3d 20 30 78 30 30 30 34 30 30 30  BELS = 0x0004000
c3a0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
c3b0: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
c3c0: 43 54 5f 55 4e 49 54 53 5f 50 45 52 43 45 4e 54  CT_UNITS_PERCENT
c3d0: 20 3d 20 30 78 30 30 30 35 30 30 30 30 20 7d 0d   = 0x00050000 }.
c3e0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
c3f0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f   MIXERCONTROL_CO
c400: 4e 54 52 4f 4c 54 59 50 45 5f 43 55 53 54 4f 4d  NTROLTYPE_CUSTOM
c410: 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   = MIXERCONTROL_
c420: 43 54 5f 43 4c 41 53 53 5f 43 55 53 54 4f 4d 20  CT_CLASS_CUSTOM 
c430: 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  | MIXERCONTROL_C
c440: 54 5f 55 4e 49 54 53 5f 43 55 53 54 4f 4d 20 7d  T_UNITS_CUSTOM }
c450: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c460: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
c470: 54 52 4f 4c 54 59 50 45 5f 42 4f 4f 4c 45 41 4e  TROLTYPE_BOOLEAN
c480: 4d 45 54 45 52 20 3d 20 4d 49 58 45 52 43 4f 4e  METER = MIXERCON
c490: 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 4d 45  TROL_CT_CLASS_ME
c4a0: 54 45 52 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52  TER | MIXERCONTR
c4b0: 4f 4c 5f 43 54 5f 53 43 5f 4d 45 54 45 52 5f 50  OL_CT_SC_METER_P
c4c0: 4f 4c 4c 45 44 20 7c 20 4d 49 58 45 52 43 4f 4e  OLLED | MIXERCON
c4d0: 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 42 4f  TROL_CT_UNITS_BO
c4e0: 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75 6d 20 3a 20  OLEAN }..enum : 
c4f0: 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54  uint { MIXERCONT
c500: 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f  ROL_CONTROLTYPE_
c510: 53 49 47 4e 45 44 4d 45 54 45 52 20 3d 20 4d 49  SIGNEDMETER = MI
c520: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c  XERCONTROL_CT_CL
c530: 41 53 53 5f 4d 45 54 45 52 20 7c 20 4d 49 58 45  ASS_METER | MIXE
c540: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 4d  RCONTROL_CT_SC_M
c550: 45 54 45 52 5f 50 4f 4c 4c 45 44 20 7c 20 4d 49  ETER_POLLED | MI
c560: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e  XERCONTROL_CT_UN
c570: 49 54 53 5f 53 49 47 4e 45 44 20 7d 0d 0a 65 6e  ITS_SIGNED }..en
c580: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
c590: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
c5a0: 54 59 50 45 5f 50 45 41 4b 4d 45 54 45 52 20 3d  TYPE_PEAKMETER =
c5b0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f   MIXERCONTROL_CO
c5c0: 4e 54 52 4f 4c 54 59 50 45 5f 53 49 47 4e 45 44  NTROLTYPE_SIGNED
c5d0: 4d 45 54 45 52 20 2b 20 31 20 7d 0d 0a 65 6e 75  METER + 1 }..enu
c5e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
c5f0: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
c600: 59 50 45 5f 55 4e 53 49 47 4e 45 44 4d 45 54 45  YPE_UNSIGNEDMETE
c610: 52 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  R = MIXERCONTROL
c620: 5f 43 54 5f 43 4c 41 53 53 5f 4d 45 54 45 52 20  _CT_CLASS_METER 
c630: 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  | MIXERCONTROL_C
c640: 54 5f 53 43 5f 4d 45 54 45 52 5f 50 4f 4c 4c 45  T_SC_METER_POLLE
c650: 44 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  D | MIXERCONTROL
c660: 5f 43 54 5f 55 4e 49 54 53 5f 55 4e 53 49 47 4e  _CT_UNITS_UNSIGN
c670: 45 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  ED }..enum : uin
c680: 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  t { MIXERCONTROL
c690: 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 42 4f 4f  _CONTROLTYPE_BOO
c6a0: 4c 45 41 4e 20 3d 20 4d 49 58 45 52 43 4f 4e 54  LEAN = MIXERCONT
c6b0: 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 53 57 49  ROL_CT_CLASS_SWI
c6c0: 54 43 48 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52  TCH | MIXERCONTR
c6d0: 4f 4c 5f 43 54 5f 53 43 5f 53 57 49 54 43 48 5f  OL_CT_SC_SWITCH_
c6e0: 42 4f 4f 4c 45 41 4e 20 7c 20 4d 49 58 45 52 43  BOOLEAN | MIXERC
c6f0: 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f  ONTROL_CT_UNITS_
c700: 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75 6d 20  BOOLEAN }..enum 
c710: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f  : uint { MIXERCO
c720: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
c730: 45 5f 4f 4e 4f 46 46 20 3d 20 4d 49 58 45 52 43  E_ONOFF = MIXERC
c740: 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59  ONTROL_CONTROLTY
c750: 50 45 5f 42 4f 4f 4c 45 41 4e 20 2b 20 31 20 7d  PE_BOOLEAN + 1 }
c760: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
c770: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
c780: 54 52 4f 4c 54 59 50 45 5f 4d 55 54 45 20 3d 20  TROLTYPE_MUTE = 
c790: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
c7a0: 54 52 4f 4c 54 59 50 45 5f 42 4f 4f 4c 45 41 4e  TROLTYPE_BOOLEAN
c7b0: 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 2 }..enum : u
c7c0: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
c7d0: 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 4d  OL_CONTROLTYPE_M
c7e0: 4f 4e 4f 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52  ONO = MIXERCONTR
c7f0: 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 42  OL_CONTROLTYPE_B
c800: 4f 4f 4c 45 41 4e 20 2b 20 33 20 7d 0d 0a 65 6e  OOLEAN + 3 }..en
c810: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
c820: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
c830: 54 59 50 45 5f 4c 4f 55 44 4e 45 53 53 20 3d 20  TYPE_LOUDNESS = 
c840: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
c850: 54 52 4f 4c 54 59 50 45 5f 42 4f 4f 4c 45 41 4e  TROLTYPE_BOOLEAN
c860: 20 2b 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 4 }..enum : u
c870: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
c880: 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 53  OL_CONTROLTYPE_S
c890: 54 45 52 45 4f 45 4e 48 20 3d 20 4d 49 58 45 52  TEREOENH = MIXER
c8a0: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
c8b0: 59 50 45 5f 42 4f 4f 4c 45 41 4e 20 2b 20 35 20  YPE_BOOLEAN + 5 
c8c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
c8d0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f   MIXERCONTROL_CO
c8e0: 4e 54 52 4f 4c 54 59 50 45 5f 42 41 53 53 5f 42  NTROLTYPE_BASS_B
c8f0: 4f 4f 53 54 20 3d 20 4d 49 58 45 52 43 4f 4e 54  OOST = MIXERCONT
c900: 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f  ROL_CONTROLTYPE_
c910: 42 4f 4f 4c 45 41 4e 20 2b 20 30 78 30 30 30 30  BOOLEAN + 0x0000
c920: 32 32 37 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2277 }..enum : u
c930: 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52  int { MIXERCONTR
c940: 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 42  OL_CONTROLTYPE_B
c950: 55 54 54 4f 4e 20 3d 20 4d 49 58 45 52 43 4f 4e  UTTON = MIXERCON
c960: 54 52 4f 4c 5f 43 54 5f 43 4c 41 53 53 5f 53 57  TROL_CT_CLASS_SW
c970: 49 54 43 48 20 7c 20 4d 49 58 45 52 43 4f 4e 54  ITCH | MIXERCONT
c980: 52 4f 4c 5f 43 54 5f 53 43 5f 53 57 49 54 43 48  ROL_CT_SC_SWITCH
c990: 5f 42 55 54 54 4f 4e 20 7c 20 4d 49 58 45 52 43  _BUTTON | MIXERC
c9a0: 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f  ONTROL_CT_UNITS_
c9b0: 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75 6d 20  BOOLEAN }..enum 
c9c0: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f  : uint { MIXERCO
c9d0: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
c9e0: 45 5f 44 45 43 49 42 45 4c 53 20 3d 20 4d 49 58  E_DECIBELS = MIX
c9f0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41  ERCONTROL_CT_CLA
ca00: 53 53 5f 4e 55 4d 42 45 52 20 7c 20 4d 49 58 45  SS_NUMBER | MIXE
ca10: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54  RCONTROL_CT_UNIT
ca20: 53 5f 44 45 43 49 42 45 4c 53 20 7d 0d 0a 65 6e  S_DECIBELS }..en
ca30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
ca40: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
ca50: 54 59 50 45 5f 53 49 47 4e 45 44 20 3d 20 4d 49  TYPE_SIGNED = MI
ca60: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c  XERCONTROL_CT_CL
ca70: 41 53 53 5f 4e 55 4d 42 45 52 20 7c 20 4d 49 58  ASS_NUMBER | MIX
ca80: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49  ERCONTROL_CT_UNI
ca90: 54 53 5f 53 49 47 4e 45 44 20 7d 0d 0a 65 6e 75  TS_SIGNED }..enu
caa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
cab0: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
cac0: 59 50 45 5f 55 4e 53 49 47 4e 45 44 20 3d 20 4d  YPE_UNSIGNED = M
cad0: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43  IXERCONTROL_CT_C
cae0: 4c 41 53 53 5f 4e 55 4d 42 45 52 20 7c 20 4d 49  LASS_NUMBER | MI
caf0: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e  XERCONTROL_CT_UN
cb00: 49 54 53 5f 55 4e 53 49 47 4e 45 44 20 7d 0d 0a  ITS_UNSIGNED }..
cb10: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
cb20: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
cb30: 4f 4c 54 59 50 45 5f 50 45 52 43 45 4e 54 20 3d  OLTYPE_PERCENT =
cb40: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54   MIXERCONTROL_CT
cb50: 5f 43 4c 41 53 53 5f 4e 55 4d 42 45 52 20 7c 20  _CLASS_NUMBER | 
cb60: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
cb70: 55 4e 49 54 53 5f 50 45 52 43 45 4e 54 20 7d 0d  UNITS_PERCENT }.
cb80: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
cb90: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54  IXERCONTROL_CONT
cba0: 52 4f 4c 54 59 50 45 5f 53 4c 49 44 45 52 20 3d  ROLTYPE_SLIDER =
cbb0: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54   MIXERCONTROL_CT
cbc0: 5f 43 4c 41 53 53 5f 53 4c 49 44 45 52 20 7c 20  _CLASS_SLIDER | 
cbd0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
cbe0: 55 4e 49 54 53 5f 53 49 47 4e 45 44 20 7d 0d 0a  UNITS_SIGNED }..
cbf0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
cc00: 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52  XERCONTROL_CONTR
cc10: 4f 4c 54 59 50 45 5f 50 41 4e 20 3d 20 4d 49 58  OLTYPE_PAN = MIX
cc20: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
cc30: 4c 54 59 50 45 5f 53 4c 49 44 45 52 20 2b 20 31  LTYPE_SLIDER + 1
cc40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
cc50: 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  { MIXERCONTROL_C
cc60: 4f 4e 54 52 4f 4c 54 59 50 45 5f 51 53 4f 55 4e  ONTROLTYPE_QSOUN
cc70: 44 50 41 4e 20 3d 20 4d 49 58 45 52 43 4f 4e 54  DPAN = MIXERCONT
cc80: 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f  ROL_CONTROLTYPE_
cc90: 53 4c 49 44 45 52 20 2b 20 32 20 7d 0d 0a 65 6e  SLIDER + 2 }..en
cca0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
ccb0: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
ccc0: 54 59 50 45 5f 46 41 44 45 52 20 3d 20 4d 49 58  TYPE_FADER = MIX
ccd0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41  ERCONTROL_CT_CLA
cce0: 53 53 5f 46 41 44 45 52 20 7c 20 4d 49 58 45 52  SS_FADER | MIXER
ccf0: 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53  CONTROL_CT_UNITS
cd00: 5f 55 4e 53 49 47 4e 45 44 20 7d 0d 0a 65 6e 75  _UNSIGNED }..enu
cd10: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
cd20: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
cd30: 59 50 45 5f 56 4f 4c 55 4d 45 20 3d 20 4d 49 58  YPE_VOLUME = MIX
cd40: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
cd50: 4c 54 59 50 45 5f 46 41 44 45 52 20 2b 20 31 20  LTYPE_FADER + 1 
cd60: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
cd70: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f   MIXERCONTROL_CO
cd80: 4e 54 52 4f 4c 54 59 50 45 5f 42 41 53 53 20 3d  NTROLTYPE_BASS =
cd90: 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f   MIXERCONTROL_CO
cda0: 4e 54 52 4f 4c 54 59 50 45 5f 46 41 44 45 52 20  NTROLTYPE_FADER 
cdb0: 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 2 }..enum : ui
cdc0: 6e 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f  nt { MIXERCONTRO
cdd0: 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 54 52  L_CONTROLTYPE_TR
cde0: 45 42 4c 45 20 3d 20 4d 49 58 45 52 43 4f 4e 54  EBLE = MIXERCONT
cdf0: 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f  ROL_CONTROLTYPE_
ce00: 46 41 44 45 52 20 2b 20 33 20 7d 0d 0a 65 6e 75  FADER + 3 }..enu
ce10: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
ce20: 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54  CONTROL_CONTROLT
ce30: 59 50 45 5f 45 51 55 41 4c 49 5a 45 52 20 3d 20  YPE_EQUALIZER = 
ce40: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
ce50: 54 52 4f 4c 54 59 50 45 5f 46 41 44 45 52 20 2b  TROLTYPE_FADER +
ce60: 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   4 }..enum : uin
ce70: 74 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  t { MIXERCONTROL
ce80: 5f 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 53 49 4e  _CONTROLTYPE_SIN
ce90: 47 4c 45 53 45 4c 45 43 54 20 3d 20 4d 49 58 45  GLESELECT = MIXE
cea0: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41 53  RCONTROL_CT_CLAS
ceb0: 53 5f 4c 49 53 54 20 7c 20 4d 49 58 45 52 43 4f  S_LIST | MIXERCO
cec0: 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 4c 49 53 54  NTROL_CT_SC_LIST
ced0: 5f 53 49 4e 47 4c 45 20 7c 20 4d 49 58 45 52 43  _SINGLE | MIXERC
cee0: 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f  ONTROL_CT_UNITS_
cef0: 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e 75 6d 20  BOOLEAN }..enum 
cf00: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43 4f  : uint { MIXERCO
cf10: 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50  NTROL_CONTROLTYP
cf20: 45 5f 4d 55 58 20 3d 20 4d 49 58 45 52 43 4f 4e  E_MUX = MIXERCON
cf30: 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59 50 45  TROL_CONTROLTYPE
cf40: 5f 53 49 4e 47 4c 45 53 45 4c 45 43 54 20 2b 20  _SINGLESELECT + 
cf50: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
cf60: 20 7b 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f   { MIXERCONTROL_
cf70: 43 4f 4e 54 52 4f 4c 54 59 50 45 5f 4d 55 4c 54  CONTROLTYPE_MULT
cf80: 49 50 4c 45 53 45 4c 45 43 54 20 3d 20 4d 49 58  IPLESELECT = MIX
cf90: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43 4c 41  ERCONTROL_CT_CLA
cfa0: 53 53 5f 4c 49 53 54 20 7c 20 4d 49 58 45 52 43  SS_LIST | MIXERC
cfb0: 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 4c 49 53  ONTROL_CT_SC_LIS
cfc0: 54 5f 4d 55 4c 54 49 50 4c 45 20 7c 20 4d 49 58  T_MULTIPLE | MIX
cfd0: 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 55 4e 49  ERCONTROL_CT_UNI
cfe0: 54 53 5f 42 4f 4f 4c 45 41 4e 20 7d 0d 0a 65 6e  TS_BOOLEAN }..en
cff0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
d000: 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c  RCONTROL_CONTROL
d010: 54 59 50 45 5f 4d 49 58 45 52 20 3d 20 4d 49 58  TYPE_MIXER = MIX
d020: 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f  ERCONTROL_CONTRO
d030: 4c 54 59 50 45 5f 4d 55 4c 54 49 50 4c 45 53 45  LTYPE_MULTIPLESE
d040: 4c 45 43 54 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d  LECT + 1 }..enum
d050: 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 43   : uint { MIXERC
d060: 4f 4e 54 52 4f 4c 5f 43 4f 4e 54 52 4f 4c 54 59  ONTROL_CONTROLTY
d070: 50 45 5f 4d 49 43 52 4f 54 49 4d 45 20 3d 20 4d  PE_MICROTIME = M
d080: 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 43  IXERCONTROL_CT_C
d090: 4c 41 53 53 5f 54 49 4d 45 20 7c 20 4d 49 58 45  LASS_TIME | MIXE
d0a0: 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f 53 43 5f 54  RCONTROL_CT_SC_T
d0b0: 49 4d 45 5f 4d 49 43 52 4f 53 45 43 53 20 7c 20  IME_MICROSECS | 
d0c0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 54 5f  MIXERCONTROL_CT_
d0d0: 55 4e 49 54 53 5f 55 4e 53 49 47 4e 45 44 20 7d  UNITS_UNSIGNED }
d0e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d0f0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43 4f 4e  MIXERCONTROL_CON
d100: 54 52 4f 4c 54 59 50 45 5f 4d 49 4c 4c 49 54 49  TROLTYPE_MILLITI
d110: 4d 45 20 3d 20 4d 49 58 45 52 43 4f 4e 54 52 4f  ME = MIXERCONTRO
d120: 4c 5f 43 54 5f 43 4c 41 53 53 5f 54 49 4d 45 20  L_CT_CLASS_TIME 
d130: 7c 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 5f 43  | MIXERCONTROL_C
d140: 54 5f 53 43 5f 54 49 4d 45 5f 4d 49 4c 4c 49 53  T_SC_TIME_MILLIS
d150: 45 43 53 20 7c 20 4d 49 58 45 52 43 4f 4e 54 52  ECS | MIXERCONTR
d160: 4f 4c 5f 43 54 5f 55 4e 49 54 53 5f 55 4e 53 49  OL_CT_UNITS_UNSI
d170: 47 4e 45 44 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66  GNED }....// #if
d180: 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74  def _WIN32....st
d190: 72 75 63 74 20 74 61 67 4d 49 58 45 52 4c 49 4e  ruct tagMIXERLIN
d1a0: 45 43 4f 4e 54 52 4f 4c 53 41 20 7b 0d 0a 20 20  ECONTROLSA {..  
d1b0: 44 57 4f 52 44 20 63 62 53 74 72 75 63 74 3b 0d  DWORD cbStruct;.
d1c0: 0a 20 20 44 57 4f 52 44 20 64 77 4c 69 6e 65 49  .  DWORD dwLineI
d1d0: 44 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 44  D;..union {..  D
d1e0: 57 4f 52 44 20 64 77 43 6f 6e 74 72 6f 6c 49 44  WORD dwControlID
d1f0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6e  ;..  DWORD dwCon
d200: 74 72 6f 6c 54 79 70 65 3b 0d 0a 7d 0d 0a 0d 0a  trolType;..}....
d210: 20 20 44 57 4f 52 44 20 63 43 6f 6e 74 72 6f 6c    DWORD cControl
d220: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62 6d 78  s;..  DWORD cbmx
d230: 63 74 72 6c 3b 0d 0a 20 20 4c 50 4d 49 58 45 52  ctrl;..  LPMIXER
d240: 43 4f 4e 54 52 4f 4c 41 20 70 61 6d 78 63 74 72  CONTROLA pamxctr
d250: 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  l;..}..alias tag
d260: 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c  MIXERLINECONTROL
d270: 53 41 20 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54  SA MIXERLINECONT
d280: 52 4f 4c 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  ROLSA;..alias ta
d290: 67 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f  gMIXERLINECONTRO
d2a0: 4c 53 41 2a 20 50 4d 49 58 45 52 4c 49 4e 45 43  LSA* PMIXERLINEC
d2b0: 4f 4e 54 52 4f 4c 53 41 3b 0d 0a 61 6c 69 61 73  ONTROLSA;..alias
d2c0: 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 43 4f 4e   tagMIXERLINECON
d2d0: 54 52 4f 4c 53 41 2a 20 4c 50 4d 49 58 45 52 4c  TROLSA* LPMIXERL
d2e0: 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 3b 0d 0a 0d  INECONTROLSA;...
d2f0: 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58 45 52  .struct tagMIXER
d300: 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 57 20 7b 0d  LINECONTROLSW {.
d310: 0a 20 20 44 57 4f 52 44 20 63 62 53 74 72 75 63  .  DWORD cbStruc
d320: 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c 69  t;..  DWORD dwLi
d330: 6e 65 49 44 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d 0a  neID;..union {..
d340: 20 20 44 57 4f 52 44 20 64 77 43 6f 6e 74 72 6f    DWORD dwContro
d350: 6c 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  lID;..  DWORD dw
d360: 43 6f 6e 74 72 6f 6c 54 79 70 65 3b 0d 0a 7d 0d  ControlType;..}.
d370: 0a 0d 0a 20 20 44 57 4f 52 44 20 63 43 6f 6e 74  ...  DWORD cCont
d380: 72 6f 6c 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63  rols;..  DWORD c
d390: 62 6d 78 63 74 72 6c 3b 0d 0a 20 20 4c 50 4d 49  bmxctrl;..  LPMI
d3a0: 58 45 52 43 4f 4e 54 52 4f 4c 57 20 70 61 6d 78  XERCONTROLW pamx
d3b0: 63 74 72 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ctrl;..}..alias 
d3c0: 74 61 67 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54  tagMIXERLINECONT
d3d0: 52 4f 4c 53 57 20 4d 49 58 45 52 4c 49 4e 45 43  ROLSW MIXERLINEC
d3e0: 4f 4e 54 52 4f 4c 53 57 3b 0d 0a 61 6c 69 61 73  ONTROLSW;..alias
d3f0: 20 74 61 67 4d 49 58 45 52 4c 49 4e 45 43 4f 4e   tagMIXERLINECON
d400: 54 52 4f 4c 53 57 2a 20 50 4d 49 58 45 52 4c 49  TROLSW* PMIXERLI
d410: 4e 45 43 4f 4e 54 52 4f 4c 53 57 3b 0d 0a 61 6c  NECONTROLSW;..al
d420: 69 61 73 20 74 61 67 4d 49 58 45 52 4c 49 4e 45  ias tagMIXERLINE
d430: 43 4f 4e 54 52 4f 4c 53 57 2a 20 4c 50 4d 49 58  CONTROLSW* LPMIX
d440: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 57 3b  ERLINECONTROLSW;
d450: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
d460: 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  ICODE..// ...../
d470: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d  / #else..alias M
d480: 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53  IXERLINECONTROLS
d490: 41 20 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52  A MIXERLINECONTR
d4a0: 4f 4c 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 58  OLS;..alias PMIX
d4b0: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 20  ERLINECONTROLSA 
d4c0: 50 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52 4f  PMIXERLINECONTRO
d4d0: 4c 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 49 58  LS;..alias LPMIX
d4e0: 45 52 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 20  ERLINECONTROLSA 
d4f0: 4c 50 4d 49 58 45 52 4c 49 4e 45 43 4f 4e 54 52  LPMIXERLINECONTR
d500: 4f 4c 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  OLS;..// #endif 
d510: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f  // UNICODE....//
d520: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
d530: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
d540: 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d  #ifdef _WIN32...
d550: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
d560: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
d570: 20 6d 69 78 65 72 47 65 74 4c 69 6e 65 43 6f 6e   mixerGetLineCon
d580: 74 72 6f 6c 73 41 28 48 4d 49 58 45 52 4f 42 4a  trolsA(HMIXEROBJ
d590: 20 68 6d 78 6f 62 6a 2c 20 4c 50 4d 49 58 45 52   hmxobj, LPMIXER
d5a0: 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 41 20 70 6d  LINECONTROLSA pm
d5b0: 78 6c 63 2c 20 44 57 4f 52 44 20 66 64 77 43 6f  xlc, DWORD fdwCo
d5c0: 6e 74 72 6f 6c 73 29 3b 0d 0a 65 78 74 65 72 6e  ntrols);..extern
d5d0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
d5e0: 20 4d 4d 52 45 53 55 4c 54 20 6d 69 78 65 72 47   MMRESULT mixerG
d5f0: 65 74 4c 69 6e 65 43 6f 6e 74 72 6f 6c 73 57 28  etLineControlsW(
d600: 48 4d 49 58 45 52 4f 42 4a 20 68 6d 78 6f 62 6a  HMIXEROBJ hmxobj
d610: 2c 20 4c 50 4d 49 58 45 52 4c 49 4e 45 43 4f 4e  , LPMIXERLINECON
d620: 54 52 4f 4c 53 57 20 70 6d 78 6c 63 2c 20 44 57  TROLSW pmxlc, DW
d630: 4f 52 44 20 66 64 77 43 6f 6e 74 72 6f 6c 73 29  ORD fdwControls)
d640: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
d650: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
d660: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6d  / #else..alias m
d670: 69 78 65 72 47 65 74 4c 69 6e 65 43 6f 6e 74 72  ixerGetLineContr
d680: 6f 6c 73 41 20 6d 69 78 65 72 47 65 74 4c 69 6e  olsA mixerGetLin
d690: 65 43 6f 6e 74 72 6f 6c 73 3b 0d 0a 2f 2f 20 23  eControls;..// #
d6a0: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
d6b0: 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  E....// #else../
d6c0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
d6d0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
d6e0: 7b 20 4d 49 58 45 52 5f 47 45 54 4c 49 4e 45 43  { MIXER_GETLINEC
d6f0: 4f 4e 54 52 4f 4c 53 46 5f 41 4c 4c 20 3d 20 30  ONTROLSF_ALL = 0
d700: 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00000000 }..enu
d710: 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52  m : uint { MIXER
d720: 5f 47 45 54 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53  _GETLINECONTROLS
d730: 46 5f 4f 4e 45 42 59 49 44 20 3d 20 30 78 30 30  F_ONEBYID = 0x00
d740: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
d750: 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 47 45   uint { MIXER_GE
d760: 54 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 46 5f 4f  TLINECONTROLSF_O
d770: 4e 45 42 59 54 59 50 45 20 3d 20 30 78 30 30 30  NEBYTYPE = 0x000
d780: 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00002 }....enum 
d790: 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45 52 5f 47  : uint { MIXER_G
d7a0: 45 54 4c 49 4e 45 43 4f 4e 54 52 4f 4c 53 46 5f  ETLINECONTROLSF_
d7b0: 51 55 45 52 59 4d 41 53 4b 20 3d 20 30 78 30 30  QUERYMASK = 0x00
d7c0: 30 30 30 30 30 46 20 7d 0d 0a 0d 0a 73 74 72 75  00000F }....stru
d7d0: 63 74 20 74 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  ct tMIXERCONTROL
d7e0: 44 45 54 41 49 4c 53 20 7b 0d 0a 20 20 44 57 4f  DETAILS {..  DWO
d7f0: 52 44 20 63 62 53 74 72 75 63 74 3b 0d 0a 20 20  RD cbStruct;..  
d800: 44 57 4f 52 44 20 64 77 43 6f 6e 74 72 6f 6c 49  DWORD dwControlI
d810: 44 3b 0d 0a 20 20 44 57 4f 52 44 20 63 43 68 61  D;..  DWORD cCha
d820: 6e 6e 65 6c 73 3b 0d 0a 75 6e 69 6f 6e 20 7b 0d  nnels;..union {.
d830: 0a 20 20 48 57 4e 44 20 68 77 6e 64 4f 77 6e 65  .  HWND hwndOwne
d840: 72 3b 0d 0a 20 20 44 57 4f 52 44 20 63 4d 75 6c  r;..  DWORD cMul
d850: 74 69 70 6c 65 49 74 65 6d 73 3b 0d 0a 7d 0d 0a  tipleItems;..}..
d860: 0d 0a 20 20 44 57 4f 52 44 20 63 62 44 65 74 61  ..  DWORD cbDeta
d870: 69 6c 73 3b 0d 0a 20 20 4c 50 56 4f 49 44 20 70  ils;..  LPVOID p
d880: 61 44 65 74 61 69 6c 73 3b 0d 0a 7d 0d 0a 61 6c  aDetails;..}..al
d890: 69 61 73 20 74 4d 49 58 45 52 43 4f 4e 54 52 4f  ias tMIXERCONTRO
d8a0: 4c 44 45 54 41 49 4c 53 20 4d 49 58 45 52 43 4f  LDETAILS MIXERCO
d8b0: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 3b 0d 0a 61  NTROLDETAILS;..a
d8c0: 6c 69 61 73 20 74 4d 49 58 45 52 43 4f 4e 54 52  lias tMIXERCONTR
d8d0: 4f 4c 44 45 54 41 49 4c 53 2a 20 50 4d 49 58 45  OLDETAILS* PMIXE
d8e0: 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 3b  RCONTROLDETAILS;
d8f0: 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f  ..alias tMIXERCO
d900: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 2a 20 4c 50  NTROLDETAILS* LP
d910: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
d920: 49 4c 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  ILS;....// #ifde
d930: 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
d940: 63 74 20 74 61 67 4d 49 58 45 52 43 4f 4e 54 52  ct tagMIXERCONTR
d950: 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54 54 45  OLDETAILS_LISTTE
d960: 58 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  XTA {..  DWORD d
d970: 77 50 61 72 61 6d 31 3b 0d 0a 20 20 44 57 4f 52  wParam1;..  DWOR
d980: 44 20 64 77 50 61 72 61 6d 32 3b 0d 0a 20 20 43  D dwParam2;..  C
d990: 48 41 52 20 73 7a 4e 61 6d 65 5b 4d 49 58 45 52  HAR szName[MIXER
d9a0: 5f 4c 4f 4e 47 5f 4e 41 4d 45 5f 43 48 41 52 53  _LONG_NAME_CHARS
d9b0: 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  ];..}..alias tag
d9c0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
d9d0: 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 20 4d 49  ILS_LISTTEXTA MI
d9e0: 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c  XERCONTROLDETAIL
d9f0: 53 5f 4c 49 53 54 54 45 58 54 41 3b 0d 0a 61 6c  S_LISTTEXTA;..al
da00: 69 61 73 20 74 61 67 4d 49 58 45 52 43 4f 4e 54  ias tagMIXERCONT
da10: 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54 54  ROLDETAILS_LISTT
da20: 45 58 54 41 2a 20 50 4d 49 58 45 52 43 4f 4e 54  EXTA* PMIXERCONT
da30: 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54 54  ROLDETAILS_LISTT
da40: 45 58 54 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  EXTA;..alias tag
da50: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
da60: 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 2a 20 4c  ILS_LISTTEXTA* L
da70: 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54  PMIXERCONTROLDET
da80: 41 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 3b 0d  AILS_LISTTEXTA;.
da90: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 49 58  ...struct tagMIX
daa0: 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53  ERCONTROLDETAILS
dab0: 5f 4c 49 53 54 54 45 58 54 57 20 7b 0d 0a 20 20  _LISTTEXTW {..  
dac0: 44 57 4f 52 44 20 64 77 50 61 72 61 6d 31 3b 0d  DWORD dwParam1;.
dad0: 0a 20 20 44 57 4f 52 44 20 64 77 50 61 72 61 6d  .  DWORD dwParam
dae0: 32 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 4e 61  2;..  WCHAR szNa
daf0: 6d 65 5b 4d 49 58 45 52 5f 4c 4f 4e 47 5f 4e 41  me[MIXER_LONG_NA
db00: 4d 45 5f 43 48 41 52 53 5d 3b 0d 0a 7d 0d 0a 61  ME_CHARS];..}..a
db10: 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43 4f 4e  lias tagMIXERCON
db20: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54  TROLDETAILS_LIST
db30: 54 45 58 54 57 20 4d 49 58 45 52 43 4f 4e 54 52  TEXTW MIXERCONTR
db40: 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54 54 45  OLDETAILS_LISTTE
db50: 58 54 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  XTW;..alias tagM
db60: 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49  IXERCONTROLDETAI
db70: 4c 53 5f 4c 49 53 54 54 45 58 54 57 2a 20 50 4d  LS_LISTTEXTW* PM
db80: 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49  IXERCONTROLDETAI
db90: 4c 53 5f 4c 49 53 54 54 45 58 54 57 3b 0d 0a 61  LS_LISTTEXTW;..a
dba0: 6c 69 61 73 20 74 61 67 4d 49 58 45 52 43 4f 4e  lias tagMIXERCON
dbb0: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54  TROLDETAILS_LIST
dbc0: 54 45 58 54 57 2a 20 4c 50 4d 49 58 45 52 43 4f  TEXTW* LPMIXERCO
dbd0: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53  NTROLDETAILS_LIS
dbe0: 54 54 45 58 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  TTEXTW;....// #i
dbf0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
dc00: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
dc10: 61 6c 69 61 73 20 4d 49 58 45 52 43 4f 4e 54 52  alias MIXERCONTR
dc20: 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53 54 54 45  OLDETAILS_LISTTE
dc30: 58 54 41 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  XTA MIXERCONTROL
dc40: 44 45 54 41 49 4c 53 5f 4c 49 53 54 54 45 58 54  DETAILS_LISTTEXT
dc50: 3b 0d 0a 61 6c 69 61 73 20 50 4d 49 58 45 52 43  ;..alias PMIXERC
dc60: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49  ONTROLDETAILS_LI
dc70: 53 54 54 45 58 54 41 20 50 4d 49 58 45 52 43 4f  STTEXTA PMIXERCO
dc80: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 4c 49 53  NTROLDETAILS_LIS
dc90: 54 54 45 58 54 3b 0d 0a 61 6c 69 61 73 20 4c 50  TTEXT;..alias LP
dca0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
dcb0: 49 4c 53 5f 4c 49 53 54 54 45 58 54 41 20 4c 50  ILS_LISTTEXTA 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 3b 0d 0a 2f  ILS_LISTTEXT;../
dce0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
dcf0: 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
dd00: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
dd10: 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 4d 49  if....struct tMI
dd20: 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c  XERCONTROLDETAIL
dd30: 53 5f 42 4f 4f 4c 45 41 4e 20 7b 0d 0a 20 20 4c  S_BOOLEAN {..  L
dd40: 4f 4e 47 20 66 56 61 6c 75 65 3b 0d 0a 7d 0d 0a  ONG fValue;..}..
dd50: 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f 4e 54  alias tMIXERCONT
dd60: 52 4f 4c 44 45 54 41 49 4c 53 5f 42 4f 4f 4c 45  ROLDETAILS_BOOLE
dd70: 41 4e 20 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44  AN MIXERCONTROLD
dd80: 45 54 41 49 4c 53 5f 42 4f 4f 4c 45 41 4e 3b 0d  ETAILS_BOOLEAN;.
dd90: 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f 4e  .alias tMIXERCON
dda0: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 42 4f 4f 4c  TROLDETAILS_BOOL
ddb0: 45 41 4e 2a 20 50 4d 49 58 45 52 43 4f 4e 54 52  EAN* PMIXERCONTR
ddc0: 4f 4c 44 45 54 41 49 4c 53 5f 42 4f 4f 4c 45 41  OLDETAILS_BOOLEA
ddd0: 4e 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52  N;..alias tMIXER
dde0: 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 42  CONTROLDETAILS_B
ddf0: 4f 4f 4c 45 41 4e 2a 20 4c 50 4d 49 58 45 52 43  OOLEAN* LPMIXERC
de00: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 42 4f  ONTROLDETAILS_BO
de10: 4f 4c 45 41 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74  OLEAN;....struct
de20: 20 74 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45   tMIXERCONTROLDE
de30: 54 41 49 4c 53 5f 53 49 47 4e 45 44 20 7b 0d 0a  TAILS_SIGNED {..
de40: 20 20 4c 4f 4e 47 20 6c 56 61 6c 75 65 3b 0d 0a    LONG lValue;..
de50: 7d 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43  }..alias tMIXERC
de60: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49  ONTROLDETAILS_SI
de70: 47 4e 45 44 20 4d 49 58 45 52 43 4f 4e 54 52 4f  GNED MIXERCONTRO
de80: 4c 44 45 54 41 49 4c 53 5f 53 49 47 4e 45 44 3b  LDETAILS_SIGNED;
de90: 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43 4f  ..alias tMIXERCO
dea0: 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49 47  NTROLDETAILS_SIG
deb0: 4e 45 44 2a 20 50 4d 49 58 45 52 43 4f 4e 54 52  NED* PMIXERCONTR
dec0: 4f 4c 44 45 54 41 49 4c 53 5f 53 49 47 4e 45 44  OLDETAILS_SIGNED
ded0: 3b 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52 43  ;..alias tMIXERC
dee0: 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49  ONTROLDETAILS_SI
def0: 47 4e 45 44 2a 20 4c 50 4d 49 58 45 52 43 4f 4e  GNED* LPMIXERCON
df00: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 53 49 47 4e  TROLDETAILS_SIGN
df10: 45 44 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 4d  ED;....struct tM
df20: 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49  IXERCONTROLDETAI
df30: 4c 53 5f 55 4e 53 49 47 4e 45 44 20 7b 0d 0a 20  LS_UNSIGNED {.. 
df40: 20 44 57 4f 52 44 20 64 77 56 61 6c 75 65 3b 0d   DWORD dwValue;.
df50: 0a 7d 0d 0a 61 6c 69 61 73 20 74 4d 49 58 45 52  .}..alias tMIXER
df60: 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53 5f 55  CONTROLDETAILS_U
df70: 4e 53 49 47 4e 45 44 20 4d 49 58 45 52 43 4f 4e  NSIGNED MIXERCON
df80: 54 52 4f 4c 44 45 54 41 49 4c 53 5f 55 4e 53 49  TROLDETAILS_UNSI
df90: 47 4e 45 44 3b 0d 0a 61 6c 69 61 73 20 74 4d 49  GNED;..alias tMI
dfa0: 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c  XERCONTROLDETAIL
dfb0: 53 5f 55 4e 53 49 47 4e 45 44 2a 20 50 4d 49 58  S_UNSIGNED* PMIX
dfc0: 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49 4c 53  ERCONTROLDETAILS
dfd0: 5f 55 4e 53 49 47 4e 45 44 3b 0d 0a 61 6c 69 61  _UNSIGNED;..alia
dfe0: 73 20 74 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44  s tMIXERCONTROLD
dff0: 45 54 41 49 4c 53 5f 55 4e 53 49 47 4e 45 44 2a  ETAILS_UNSIGNED*
e000: 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44   LPMIXERCONTROLD
e010: 45 54 41 49 4c 53 5f 55 4e 53 49 47 4e 45 44 3b  ETAILS_UNSIGNED;
e020: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57  ....// #ifdef _W
e030: 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  IN32....extern(W
e040: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
e050: 4d 52 45 53 55 4c 54 20 6d 69 78 65 72 47 65 74  MRESULT mixerGet
e060: 43 6f 6e 74 72 6f 6c 44 65 74 61 69 6c 73 41 28  ControlDetailsA(
e070: 48 4d 49 58 45 52 4f 42 4a 20 68 6d 78 6f 62 6a  HMIXEROBJ hmxobj
e080: 2c 20 4c 50 4d 49 58 45 52 43 4f 4e 54 52 4f 4c  , LPMIXERCONTROL
e090: 44 45 54 41 49 4c 53 20 70 6d 78 63 64 2c 20 44  DETAILS pmxcd, D
e0a0: 57 4f 52 44 20 66 64 77 44 65 74 61 69 6c 73 29  WORD fdwDetails)
e0b0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
e0c0: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
e0d0: 4c 54 20 6d 69 78 65 72 47 65 74 43 6f 6e 74 72  LT mixerGetContr
e0e0: 6f 6c 44 65 74 61 69 6c 73 57 28 48 4d 49 58 45  olDetailsW(HMIXE
e0f0: 52 4f 42 4a 20 68 6d 78 6f 62 6a 2c 20 4c 50 4d  ROBJ hmxobj, LPM
e100: 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41 49  IXERCONTROLDETAI
e110: 4c 53 20 70 6d 78 63 64 2c 20 44 57 4f 52 44 20  LS pmxcd, DWORD 
e120: 66 64 77 44 65 74 61 69 6c 73 29 3b 0d 0a 2f 2f  fdwDetails);..//
e130: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
e140: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
e150: 73 65 0d 0a 61 6c 69 61 73 20 6d 69 78 65 72 47  se..alias mixerG
e160: 65 74 43 6f 6e 74 72 6f 6c 44 65 74 61 69 6c 73  etControlDetails
e170: 41 20 6d 69 78 65 72 47 65 74 43 6f 6e 74 72 6f  A mixerGetContro
e180: 6c 44 65 74 61 69 6c 73 3b 0d 0a 2f 2f 20 23 65  lDetails;..// #e
e190: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
e1a0: 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
e1b0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
e1c0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
e1d0: 20 4d 49 58 45 52 5f 47 45 54 43 4f 4e 54 52 4f   MIXER_GETCONTRO
e1e0: 4c 44 45 54 41 49 4c 53 46 5f 56 41 4c 55 45 20  LDETAILSF_VALUE 
e1f0: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
e200: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49  enum : uint { MI
e210: 58 45 52 5f 47 45 54 43 4f 4e 54 52 4f 4c 44 45  XER_GETCONTROLDE
e220: 54 41 49 4c 53 46 5f 4c 49 53 54 54 45 58 54 20  TAILSF_LISTTEXT 
e230: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
e240: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
e250: 4d 49 58 45 52 5f 47 45 54 43 4f 4e 54 52 4f 4c  MIXER_GETCONTROL
e260: 44 45 54 41 49 4c 53 46 5f 51 55 45 52 59 4d 41  DETAILSF_QUERYMA
e270: 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30 46 20  SK = 0x0000000F 
e280: 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  }....extern(Wind
e290: 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
e2a0: 53 55 4c 54 20 6d 69 78 65 72 53 65 74 43 6f 6e  SULT mixerSetCon
e2b0: 74 72 6f 6c 44 65 74 61 69 6c 73 28 48 4d 49 58  trolDetails(HMIX
e2c0: 45 52 4f 42 4a 20 68 6d 78 6f 62 6a 2c 20 4c 50  EROBJ hmxobj, LP
e2d0: 4d 49 58 45 52 43 4f 4e 54 52 4f 4c 44 45 54 41  MIXERCONTROLDETA
e2e0: 49 4c 53 20 70 6d 78 63 64 2c 20 44 57 4f 52 44  ILS pmxcd, DWORD
e2f0: 20 66 64 77 44 65 74 61 69 6c 73 29 3b 0d 0a 0d   fdwDetails);...
e300: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
e310: 49 58 45 52 5f 53 45 54 43 4f 4e 54 52 4f 4c 44  IXER_SETCONTROLD
e320: 45 54 41 49 4c 53 46 5f 56 41 4c 55 45 20 3d 20  ETAILSF_VALUE = 
e330: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
e340: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
e350: 52 5f 53 45 54 43 4f 4e 54 52 4f 4c 44 45 54 41  R_SETCONTROLDETA
e360: 49 4c 53 46 5f 43 55 53 54 4f 4d 20 3d 20 30 78  ILSF_CUSTOM = 0x
e370: 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65 6e  00000001 }....en
e380: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 49 58 45  um : uint { MIXE
e390: 52 5f 53 45 54 43 4f 4e 54 52 4f 4c 44 45 54 41  R_SETCONTROLDETA
e3a0: 49 4c 53 46 5f 51 55 45 52 59 4d 41 53 4b 20 3d  ILSF_QUERYMASK =
e3b0: 20 30 78 30 30 30 30 30 30 30 46 20 7d 0d 0a 0d   0x0000000F }...
e3c0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69 66  .// #endif /* if
e3d0: 6e 64 65 66 20 4d 4d 4e 4f 4d 49 58 45 52 20 2a  ndef MMNOMIXER *
e3e0: 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20  /....// #ifndef 
e3f0: 4d 4d 4e 4f 54 49 4d 45 52 0d 0a 0d 0a 65 6e 75  MMNOTIMER....enu
e400: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 52  m : uint { TIMER
e410: 52 5f 4e 4f 45 52 52 4f 52 20 3d 20 30 20 7d 0d  R_NOERROR = 0 }.
e420: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e430: 49 4d 45 52 52 5f 4e 4f 43 41 4e 44 4f 20 3d 20  IMERR_NOCANDO = 
e440: 54 49 4d 45 52 52 5f 42 41 53 45 2b 31 20 7d 0d  TIMERR_BASE+1 }.
e450: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e460: 49 4d 45 52 52 5f 53 54 52 55 43 54 20 3d 20 54  IMERR_STRUCT = T
e470: 49 4d 45 52 52 5f 42 41 53 45 2b 33 33 20 7d 0d  IMERR_BASE+33 }.
e480: 0a 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20 76 6f  ...// typedef vo
e490: 69 64 20 28 43 41 4c 4c 42 41 43 4b 20 54 49 4d  id (CALLBACK TIM
e4a0: 45 43 41 4c 4c 42 41 43 4b 29 28 55 49 4e 54 20  ECALLBACK)(UINT 
e4b0: 75 54 69 6d 65 72 49 44 2c 20 55 49 4e 54 20 75  uTimerID, UINT u
e4c0: 4d 73 67 2c 20 44 57 4f 52 44 5f 50 54 52 20 64  Msg, DWORD_PTR d
e4d0: 77 55 73 65 72 2c 20 44 57 4f 52 44 5f 50 54 52  wUser, DWORD_PTR
e4e0: 20 64 77 31 2c 20 44 57 4f 52 44 5f 50 54 52 20   dw1, DWORD_PTR 
e4f0: 64 77 32 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  dw2);....extern(
e500: 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 76  Windows) alias v
e510: 6f 69 64 20 66 75 6e 63 74 69 6f 6e 28 55 49 4e  oid function(UIN
e520: 54 20 75 54 69 6d 65 72 49 44 2c 20 55 49 4e 54  T uTimerID, UINT
e530: 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50 54 52   uMsg, DWORD_PTR
e540: 20 64 77 55 73 65 72 2c 20 44 57 4f 52 44 5f 50   dwUser, DWORD_P
e550: 54 52 20 64 77 31 2c 20 44 57 4f 52 44 5f 50 54  TR dw1, DWORD_PT
e560: 52 20 64 77 32 29 20 4c 50 54 49 4d 45 43 41 4c  R dw2) LPTIMECAL
e570: 4c 42 41 43 4b 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  LBACK;....enum :
e580: 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f 4f 4e 45   uint { TIME_ONE
e590: 53 48 4f 54 20 3d 20 30 78 30 30 30 30 20 7d 0d  SHOT = 0x0000 }.
e5a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54  .enum : uint { T
e5b0: 49 4d 45 5f 50 45 52 49 4f 44 49 43 20 3d 20 30  IME_PERIODIC = 0
e5c0: 78 30 30 30 31 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  x0001 }....// #i
e5d0: 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 65 6e 75  fdef _WIN32..enu
e5e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f  m : uint { TIME_
e5f0: 43 41 4c 4c 42 41 43 4b 5f 46 55 4e 43 54 49 4f  CALLBACK_FUNCTIO
e600: 4e 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e  N = 0x0000 }..en
e610: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 54 49 4d 45  um : uint { TIME
e620: 5f 43 41 4c 4c 42 41 43 4b 5f 45 56 45 4e 54 5f  _CALLBACK_EVENT_
e630: 53 45 54 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  SET = 0x0010 }..
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 50 55 4c 53 45 20 3d 20 30 78 30 30 32 30  T_PULSE = 0x0020
e670: 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d   }..// #endif...
e680: 0a 2f 2f 20 23 69 66 20 57 49 4e 56 45 52 20 3e  .// #if WINVER >
e690: 3d 20 30 78 30 35 30 31 0d 0a 65 6e 75 6d 20 3a  = 0x0501..enum :
e6a0: 20 75 69 6e 74 20 7b 20 54 49 4d 45 5f 4b 49 4c   uint { TIME_KIL
e6b0: 4c 5f 53 59 4e 43 48 52 4f 4e 4f 55 53 20 3d 20  L_SYNCHRONOUS = 
e6c0: 30 78 30 31 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23  0x0100 }....// #
e6d0: 65 6e 64 69 66 20 2f 2f 20 57 49 4e 56 45 52 20  endif // WINVER 
e6e0: 3e 3d 20 30 78 30 35 30 31 0d 0a 0d 0a 73 74 72  >= 0x0501....str
e6f0: 75 63 74 20 74 69 6d 65 63 61 70 73 5f 74 61 67  uct timecaps_tag
e700: 20 7b 0d 0a 20 20 55 49 4e 54 20 77 50 65 72 69   {..  UINT wPeri
e710: 6f 64 4d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77  odMin;..  UINT w
e720: 50 65 72 69 6f 64 4d 61 78 3b 0d 0a 7d 0d 0a 61  PeriodMax;..}..a
e730: 6c 69 61 73 20 74 69 6d 65 63 61 70 73 5f 74 61  lias timecaps_ta
e740: 67 20 54 49 4d 45 43 41 50 53 3b 0d 0a 61 6c 69  g TIMECAPS;..ali
e750: 61 73 20 74 69 6d 65 63 61 70 73 5f 74 61 67 2a  as timecaps_tag*
e760: 20 50 54 49 4d 45 43 41 50 53 3b 0d 0a 61 6c 69   PTIMECAPS;..ali
e770: 61 73 20 74 69 6d 65 63 61 70 73 5f 74 61 67 2a  as timecaps_tag*
e780: 20 4e 50 54 49 4d 45 43 41 50 53 3b 0d 0a 61 6c   NPTIMECAPS;..al
e790: 69 61 73 20 74 69 6d 65 63 61 70 73 5f 74 61 67  ias timecaps_tag
e7a0: 2a 20 4c 50 54 49 4d 45 43 41 50 53 3b 0d 0a 0d  * LPTIMECAPS;...
e7b0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
e7c0: 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
e7d0: 20 74 69 6d 65 47 65 74 53 79 73 74 65 6d 54 69   timeGetSystemTi
e7e0: 6d 65 28 4c 50 4d 4d 54 49 4d 45 20 70 6d 6d 74  me(LPMMTIME pmmt
e7f0: 2c 20 55 49 4e 54 20 63 62 6d 6d 74 29 3b 0d 0a  , UINT cbmmt);..
e800: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
e810: 65 78 70 6f 72 74 20 44 57 4f 52 44 20 74 69 6d  export DWORD tim
e820: 65 47 65 74 54 69 6d 65 28 29 3b 0d 0a 65 78 74  eGetTime();..ext
e830: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
e840: 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 74 69 6d  ort MMRESULT tim
e850: 65 53 65 74 45 76 65 6e 74 28 55 49 4e 54 20 75  eSetEvent(UINT u
e860: 44 65 6c 61 79 2c 20 55 49 4e 54 20 75 52 65 73  Delay, UINT uRes
e870: 6f 6c 75 74 69 6f 6e 2c 0d 0a 20 20 4c 50 54 49  olution,..  LPTI
e880: 4d 45 43 41 4c 4c 42 41 43 4b 20 66 70 74 63 2c  MECALLBACK fptc,
e890: 20 44 57 4f 52 44 5f 50 54 52 20 64 77 55 73 65   DWORD_PTR dwUse
e8a0: 72 2c 20 55 49 4e 54 20 66 75 45 76 65 6e 74 29  r, UINT fuEvent)
e8b0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
e8c0: 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
e8d0: 4c 54 20 74 69 6d 65 4b 69 6c 6c 45 76 65 6e 74  LT timeKillEvent
e8e0: 28 55 49 4e 54 20 75 54 69 6d 65 72 49 44 29 3b  (UINT uTimerID);
e8f0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
e900: 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
e910: 54 20 74 69 6d 65 47 65 74 44 65 76 43 61 70 73  T timeGetDevCaps
e920: 28 4c 50 54 49 4d 45 43 41 50 53 20 70 74 63 2c  (LPTIMECAPS ptc,
e930: 20 55 49 4e 54 20 63 62 74 63 29 3b 0d 0a 65 78   UINT cbtc);..ex
e940: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
e950: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 74 69  port MMRESULT ti
e960: 6d 65 42 65 67 69 6e 50 65 72 69 6f 64 28 55 49  meBeginPeriod(UI
e970: 4e 54 20 75 50 65 72 69 6f 64 29 3b 0d 0a 65 78  NT uPeriod);..ex
e980: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
e990: 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 74 69  port MMRESULT ti
e9a0: 6d 65 45 6e 64 50 65 72 69 6f 64 28 55 49 4e 54  meEndPeriod(UINT
e9b0: 20 75 50 65 72 69 6f 64 29 3b 0d 0a 0d 0a 2f 2f   uPeriod);....//
e9c0: 20 23 65 6e 64 69 66 20 20 2f 2a 20 69 66 6e 64   #endif  /* ifnd
e9d0: 65 66 20 4d 4d 4e 4f 54 49 4d 45 52 20 2a 2f 0d  ef MMNOTIMER */.
e9e0: 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4d 4d  ...// #ifndef MM
e9f0: 4e 4f 4a 4f 59 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  NOJOY....enum : 
ea00: 75 69 6e 74 20 7b 20 4a 4f 59 45 52 52 5f 4e 4f  uint { JOYERR_NO
ea10: 45 52 52 4f 52 20 3d 20 30 20 7d 0d 0a 65 6e 75  ERROR = 0 }..enu
ea20: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52  m : uint { JOYER
ea30: 52 5f 50 41 52 4d 53 20 3d 20 4a 4f 59 45 52 52  R_PARMS = JOYERR
ea40: 5f 42 41 53 45 2b 35 20 7d 0d 0a 65 6e 75 6d 20  _BASE+5 }..enum 
ea50: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52 52 5f  : uint { JOYERR_
ea60: 4e 4f 43 41 4e 44 4f 20 3d 20 4a 4f 59 45 52 52  NOCANDO = JOYERR
ea70: 5f 42 41 53 45 2b 36 20 7d 0d 0a 65 6e 75 6d 20  _BASE+6 }..enum 
ea80: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 45 52 52 5f  : uint { JOYERR_
ea90: 55 4e 50 4c 55 47 47 45 44 20 3d 20 4a 4f 59 45  UNPLUGGED = JOYE
eaa0: 52 52 5f 42 41 53 45 2b 37 20 7d 0d 0a 0d 0a 65  RR_BASE+7 }....e
eab0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
eac0: 5f 42 55 54 54 4f 4e 31 20 3d 20 30 78 30 30 30  _BUTTON1 = 0x000
ead0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
eae0: 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32 20 3d   { JOY_BUTTON2 =
eaf0: 20 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20   0x0002 }..enum 
eb00: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54  : uint { JOY_BUT
eb10: 54 4f 4e 33 20 3d 20 30 78 30 30 30 34 20 7d 0d  TON3 = 0x0004 }.
eb20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
eb30: 4f 59 5f 42 55 54 54 4f 4e 34 20 3d 20 30 78 30  OY_BUTTON4 = 0x0
eb40: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
eb50: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 31  nt { JOY_BUTTON1
eb60: 43 48 47 20 3d 20 30 78 30 31 30 30 20 7d 0d 0a  CHG = 0x0100 }..
eb70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
eb80: 59 5f 42 55 54 54 4f 4e 32 43 48 47 20 3d 20 30  Y_BUTTON2CHG = 0
eb90: 78 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0200 }..enum : 
eba0: 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f  uint { JOY_BUTTO
ebb0: 4e 33 43 48 47 20 3d 20 30 78 30 34 30 30 20 7d  N3CHG = 0x0400 }
ebc0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ebd0: 4a 4f 59 5f 42 55 54 54 4f 4e 34 43 48 47 20 3d  JOY_BUTTON4CHG =
ebe0: 20 30 78 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75   0x0800 }....enu
ebf0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42  m : uint { JOY_B
ec00: 55 54 54 4f 4e 35 20 3d 20 30 78 30 30 30 30 30  UTTON5 = 0x00000
ec10: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
ec20: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 36  nt { JOY_BUTTON6
ec30: 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
ec40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
ec50: 4f 59 5f 42 55 54 54 4f 4e 37 20 3d 20 30 78 30  OY_BUTTON7 = 0x0
ec60: 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20  0000040 }..enum 
ec70: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54  : uint { JOY_BUT
ec80: 54 4f 4e 38 20 3d 20 30 78 30 30 30 30 30 30 38  TON8 = 0x0000008
ec90: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
eca0: 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 39 20 3d   { JOY_BUTTON9 =
ecb0: 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65   0x00000100 }..e
ecc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
ecd0: 5f 42 55 54 54 4f 4e 31 30 20 3d 20 30 78 30 30  _BUTTON10 = 0x00
ece0: 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000200 }..enum :
ecf0: 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54   uint { JOY_BUTT
ed00: 4f 4e 31 31 20 3d 20 30 78 30 30 30 30 30 34 30  ON11 = 0x0000040
ed10: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
ed20: 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 31 32 20   { JOY_BUTTON12 
ed30: 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a  = 0x00000800 }..
ed40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
ed50: 59 5f 42 55 54 54 4f 4e 31 33 20 3d 20 30 78 30  Y_BUTTON13 = 0x0
ed60: 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0001000 }..enum 
ed70: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54  : uint { JOY_BUT
ed80: 54 4f 4e 31 34 20 3d 20 30 78 30 30 30 30 32 30  TON14 = 0x000020
ed90: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
eda0: 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 31 35  t { JOY_BUTTON15
edb0: 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d   = 0x00004000 }.
edc0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
edd0: 4f 59 5f 42 55 54 54 4f 4e 31 36 20 3d 20 30 78  OY_BUTTON16 = 0x
ede0: 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 6d  00008000 }..enum
edf0: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55   : uint { JOY_BU
ee00: 54 54 4f 4e 31 37 20 3d 20 30 78 30 30 30 31 30  TTON17 = 0x00010
ee10: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
ee20: 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 31  nt { JOY_BUTTON1
ee30: 38 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  8 = 0x00020000 }
ee40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
ee50: 4a 4f 59 5f 42 55 54 54 4f 4e 31 39 20 3d 20 30  JOY_BUTTON19 = 0
ee60: 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75  x00040000 }..enu
ee70: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42  m : uint { JOY_B
ee80: 55 54 54 4f 4e 32 30 20 3d 20 30 78 30 30 30 38  UTTON20 = 0x0008
ee90: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
eea0: 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e  int { JOY_BUTTON
eeb0: 32 31 20 3d 20 30 78 30 30 31 30 30 30 30 30 20  21 = 0x00100000 
eec0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
eed0: 20 4a 4f 59 5f 42 55 54 54 4f 4e 32 32 20 3d 20   JOY_BUTTON22 = 
eee0: 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00200000 }..en
eef0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
ef00: 42 55 54 54 4f 4e 32 33 20 3d 20 30 78 30 30 34  BUTTON23 = 0x004
ef10: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
ef20: 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f  uint { JOY_BUTTO
ef30: 4e 32 34 20 3d 20 30 78 30 30 38 30 30 30 30 30  N24 = 0x00800000
ef40: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ef50: 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32 35 20 3d  { JOY_BUTTON25 =
ef60: 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 65   0x01000000 }..e
ef70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
ef80: 5f 42 55 54 54 4f 4e 32 36 20 3d 20 30 78 30 32  _BUTTON26 = 0x02
ef90: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
efa0: 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54 54   uint { JOY_BUTT
efb0: 4f 4e 32 37 20 3d 20 30 78 30 34 30 30 30 30 30  ON27 = 0x0400000
efc0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
efd0: 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 32 38 20   { JOY_BUTTON28 
efe0: 3d 20 30 78 30 38 30 30 30 30 30 30 20 7d 0d 0a  = 0x08000000 }..
eff0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f000: 59 5f 42 55 54 54 4f 4e 32 39 20 3d 20 30 78 31  Y_BUTTON29 = 0x1
f010: 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000000 }..enum 
f020: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 42 55 54  : uint { JOY_BUT
f030: 54 4f 4e 33 30 20 3d 20 30 78 32 30 30 30 30 30  TON30 = 0x200000
f040: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
f050: 74 20 7b 20 4a 4f 59 5f 42 55 54 54 4f 4e 33 31  t { JOY_BUTTON31
f060: 20 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d   = 0x40000000 }.
f070: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f080: 4f 59 5f 42 55 54 54 4f 4e 33 32 20 3d 20 30 78  OY_BUTTON32 = 0x
f090: 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  80000000 }....en
f0a0: 75 6d 20 3a 20 57 4f 52 44 20 7b 20 4a 4f 59 5f  um : WORD { JOY_
f0b0: 50 4f 56 43 45 4e 54 45 52 45 44 20 3d 20 63 61  POVCENTERED = ca
f0c0: 73 74 28 57 4f 52 44 29 2d 31 20 7d 0d 0a 65 6e  st(WORD)-1 }..en
f0d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
f0e0: 50 4f 56 46 4f 52 57 41 52 44 20 3d 20 30 20 7d  POVFORWARD = 0 }
f0f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f100: 4a 4f 59 5f 50 4f 56 52 49 47 48 54 20 3d 20 39  JOY_POVRIGHT = 9
f110: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
f120: 6e 74 20 7b 20 4a 4f 59 5f 50 4f 56 42 41 43 4b  nt { JOY_POVBACK
f130: 57 41 52 44 20 3d 20 31 38 30 30 30 20 7d 0d 0a  WARD = 18000 }..
f140: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
f150: 59 5f 50 4f 56 4c 45 46 54 20 3d 20 32 37 30 30  Y_POVLEFT = 2700
f160: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
f170: 6e 74 20 7b 20 4a 4f 59 5f 52 45 54 55 52 4e 58  nt { JOY_RETURNX
f180: 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
f190: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f1a0: 4f 59 5f 52 45 54 55 52 4e 59 20 3d 20 30 78 30  OY_RETURNY = 0x0
f1b0: 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
f1c0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 52 45 54  : uint { JOY_RET
f1d0: 55 52 4e 5a 20 3d 20 30 78 30 30 30 30 30 30 30  URNZ = 0x0000000
f1e0: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
f1f0: 20 7b 20 4a 4f 59 5f 52 45 54 55 52 4e 52 20 3d   { JOY_RETURNR =
f200: 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65   0x00000008 }..e
f210: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
f220: 5f 52 45 54 55 52 4e 55 20 3d 20 30 78 30 30 30  _RETURNU = 0x000
f230: 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00010 }..enum : 
f240: 75 69 6e 74 20 7b 20 4a 4f 59 5f 52 45 54 55 52  uint { JOY_RETUR
f250: 4e 56 20 3d 20 30 78 30 30 30 30 30 30 32 30 20  NV = 0x00000020 
f260: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f270: 20 4a 4f 59 5f 52 45 54 55 52 4e 50 4f 56 20 3d   JOY_RETURNPOV =
f280: 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 65   0x00000040 }..e
f290: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
f2a0: 5f 52 45 54 55 52 4e 42 55 54 54 4f 4e 53 20 3d  _RETURNBUTTONS =
f2b0: 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65   0x00000080 }..e
f2c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
f2d0: 5f 52 45 54 55 52 4e 52 41 57 44 41 54 41 20 3d  _RETURNRAWDATA =
f2e0: 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65   0x00000100 }..e
f2f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
f300: 5f 52 45 54 55 52 4e 50 4f 56 43 54 53 20 3d 20  _RETURNPOVCTS = 
f310: 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e  0x00000200 }..en
f320: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
f330: 52 45 54 55 52 4e 43 45 4e 54 45 52 45 44 20 3d  RETURNCENTERED =
f340: 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 65   0x00000400 }..e
f350: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59  num : uint { JOY
f360: 5f 55 53 45 44 45 41 44 5a 4f 4e 45 20 3d 20 30  _USEDEADZONE = 0
f370: 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75  x00000800 }..enu
f380: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 52  m : uint { JOY_R
f390: 45 54 55 52 4e 41 4c 4c 20 3d 20 4a 4f 59 5f 52  ETURNALL = JOY_R
f3a0: 45 54 55 52 4e 58 20 7c 20 4a 4f 59 5f 52 45 54  ETURNX | JOY_RET
f3b0: 55 52 4e 59 20 7c 20 4a 4f 59 5f 52 45 54 55 52  URNY | JOY_RETUR
f3c0: 4e 5a 20 7c 20 4a 4f 59 5f 52 45 54 55 52 4e 52  NZ | JOY_RETURNR
f3d0: 20 7c 20 4a 4f 59 5f 52 45 54 55 52 4e 55 20 7c   | JOY_RETURNU |
f3e0: 20 4a 4f 59 5f 52 45 54 55 52 4e 56 20 7c 20 4a   JOY_RETURNV | J
f3f0: 4f 59 5f 52 45 54 55 52 4e 50 4f 56 20 7c 20 4a  OY_RETURNPOV | J
f400: 4f 59 5f 52 45 54 55 52 4e 42 55 54 54 4f 4e 53  OY_RETURNBUTTONS
f410: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
f420: 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44 41 4c  { JOY_CAL_READAL
f430: 57 41 59 53 20 3d 20 30 78 30 30 30 31 30 30 30  WAYS = 0x0001000
f440: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
f450: 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44 58   { JOY_CAL_READX
f460: 59 4f 4e 4c 59 20 3d 20 30 78 30 30 30 32 30 30  YONLY = 0x000200
f470: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
f480: 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44  t { JOY_CAL_READ
f490: 33 20 3d 20 30 78 30 30 30 34 30 30 30 30 20 7d  3 = 0x00040000 }
f4a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f4b0: 4a 4f 59 5f 43 41 4c 5f 52 45 41 44 34 20 3d 20  JOY_CAL_READ4 = 
f4c0: 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e  0x00080000 }..en
f4d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
f4e0: 43 41 4c 5f 52 45 41 44 58 4f 4e 4c 59 20 3d 20  CAL_READXONLY = 
f4f0: 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00100000 }..en
f500: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
f510: 43 41 4c 5f 52 45 41 44 59 4f 4e 4c 59 20 3d 20  CAL_READYONLY = 
f520: 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00200000 }..en
f530: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 5f  um : uint { JOY_
f540: 43 41 4c 5f 52 45 41 44 35 20 3d 20 30 78 30 30  CAL_READ5 = 0x00
f550: 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  400000 }..enum :
f560: 20 75 69 6e 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f   uint { JOY_CAL_
f570: 52 45 41 44 36 20 3d 20 30 78 30 30 38 30 30 30  READ6 = 0x008000
f580: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
f590: 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44  t { JOY_CAL_READ
f5a0: 5a 4f 4e 4c 59 20 3d 20 30 78 30 31 30 30 30 30  ZONLY = 0x010000
f5b0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
f5c0: 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44  t { JOY_CAL_READ
f5d0: 52 4f 4e 4c 59 20 3d 20 30 78 30 32 30 30 30 30  RONLY = 0x020000
f5e0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
f5f0: 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44  t { JOY_CAL_READ
f600: 55 4f 4e 4c 59 20 3d 20 30 78 30 34 30 30 30 30  UONLY = 0x040000
f610: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
f620: 74 20 7b 20 4a 4f 59 5f 43 41 4c 5f 52 45 41 44  t { JOY_CAL_READ
f630: 56 4f 4e 4c 59 20 3d 20 30 78 30 38 30 30 30 30  VONLY = 0x080000
f640: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
f650: 69 6e 74 20 7b 20 4a 4f 59 53 54 49 43 4b 49 44  int { JOYSTICKID
f660: 31 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  1 = 0 }..enum : 
f670: 75 69 6e 74 20 7b 20 4a 4f 59 53 54 49 43 4b 49  uint { JOYSTICKI
f680: 44 32 20 3d 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d  D2 = 1 }....enum
f690: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 43 41 50   : uint { JOYCAP
f6a0: 53 5f 48 41 53 5a 20 3d 20 30 78 30 30 30 31 20  S_HASZ = 0x0001 
f6b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
f6c0: 20 4a 4f 59 43 41 50 53 5f 48 41 53 52 20 3d 20   JOYCAPS_HASR = 
f6d0: 30 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0002 }..enum :
f6e0: 20 75 69 6e 74 20 7b 20 4a 4f 59 43 41 50 53 5f   uint { JOYCAPS_
f6f0: 48 41 53 55 20 3d 20 30 78 30 30 30 34 20 7d 0d  HASU = 0x0004 }.
f700: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f710: 4f 59 43 41 50 53 5f 48 41 53 56 20 3d 20 30 78  OYCAPS_HASV = 0x
f720: 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
f730: 69 6e 74 20 7b 20 4a 4f 59 43 41 50 53 5f 48 41  int { JOYCAPS_HA
f740: 53 50 4f 56 20 3d 20 30 78 30 30 31 30 20 7d 0d  SPOV = 0x0010 }.
f750: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
f760: 4f 59 43 41 50 53 5f 50 4f 56 34 44 49 52 20 3d  OYCAPS_POV4DIR =
f770: 20 30 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20   0x0020 }..enum 
f780: 3a 20 75 69 6e 74 20 7b 20 4a 4f 59 43 41 50 53  : uint { JOYCAPS
f790: 5f 50 4f 56 43 54 53 20 3d 20 30 78 30 30 34 30  _POVCTS = 0x0040
f7a0: 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
f7b0: 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74  _WIN32....struct
f7c0: 20 74 61 67 4a 4f 59 43 41 50 53 41 20 7b 0d 0a   tagJOYCAPSA {..
f7d0: 20 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20    WORD wMid;..  
f7e0: 57 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 43 48  WORD wPid;..  CH
f7f0: 41 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e  AR szPname[MAXPN
f800: 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 55 49 4e 54  AMELEN];..  UINT
f810: 20 77 58 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20   wXmin;..  UINT 
f820: 77 58 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77  wXmax;..  UINT w
f830: 59 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 59  Ymin;..  UINT wY
f840: 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d  max;..  UINT wZm
f850: 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 61  in;..  UINT wZma
f860: 78 3b 0d 0a 20 20 55 49 4e 54 20 77 4e 75 6d 42  x;..  UINT wNumB
f870: 75 74 74 6f 6e 73 3b 0d 0a 20 20 55 49 4e 54 20  uttons;..  UINT 
f880: 77 50 65 72 69 6f 64 4d 69 6e 3b 0d 0a 20 20 55  wPeriodMin;..  U
f890: 49 4e 54 20 77 50 65 72 69 6f 64 4d 61 78 3b 0d  INT wPeriodMax;.
f8a0: 0a 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20  .// #if (WINVER 
f8b0: 3e 3d 20 30 78 30 34 30 30 29 0d 0a 20 20 55 49  >= 0x0400)..  UI
f8c0: 4e 54 20 77 52 6d 69 6e 3b 0d 0a 20 20 55 49 4e  NT wRmin;..  UIN
f8d0: 54 20 77 52 6d 61 78 3b 0d 0a 20 20 55 49 4e 54  T wRmax;..  UINT
f8e0: 20 77 55 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20   wUmin;..  UINT 
f8f0: 77 55 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77  wUmax;..  UINT w
f900: 56 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 56  Vmin;..  UINT wV
f910: 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 43 61  max;..  UINT wCa
f920: 70 73 3b 0d 0a 20 20 55 49 4e 54 20 77 4d 61 78  ps;..  UINT wMax
f930: 41 78 65 73 3b 0d 0a 20 20 55 49 4e 54 20 77 4e  Axes;..  UINT wN
f940: 75 6d 41 78 65 73 3b 0d 0a 20 20 55 49 4e 54 20  umAxes;..  UINT 
f950: 77 4d 61 78 42 75 74 74 6f 6e 73 3b 0d 0a 20 20  wMaxButtons;..  
f960: 43 48 41 52 20 73 7a 52 65 67 4b 65 79 5b 4d 41  CHAR szRegKey[MA
f970: 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 43  XPNAMELEN];..  C
f980: 48 41 52 20 73 7a 4f 45 4d 56 78 44 5b 4d 41 58  HAR szOEMVxD[MAX
f990: 5f 4a 4f 59 53 54 49 43 4b 4f 45 4d 56 58 44 4e  _JOYSTICKOEMVXDN
f9a0: 41 4d 45 5d 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  AME];..// #endif
f9b0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f  ..}..alias tagJO
f9c0: 59 43 41 50 53 41 20 4a 4f 59 43 41 50 53 41 3b  YCAPSA JOYCAPSA;
f9d0: 0d 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41  ..alias tagJOYCA
f9e0: 50 53 41 2a 20 50 4a 4f 59 43 41 50 53 41 3b 0d  PSA* PJOYCAPSA;.
f9f0: 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
fa00: 53 41 2a 20 4e 50 4a 4f 59 43 41 50 53 41 3b 0d  SA* NPJOYCAPSA;.
fa10: 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
fa20: 53 41 2a 20 4c 50 4a 4f 59 43 41 50 53 41 3b 0d  SA* LPJOYCAPSA;.
fa30: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4a 4f 59  ...struct tagJOY
fa40: 43 41 50 53 57 20 7b 0d 0a 20 20 57 4f 52 44 20  CAPSW {..  WORD 
fa50: 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44 20 77 50  wMid;..  WORD wP
fa60: 69 64 3b 0d 0a 20 20 57 43 48 41 52 20 73 7a 50  id;..  WCHAR szP
fa70: 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e  name[MAXPNAMELEN
fa80: 5d 3b 0d 0a 20 20 55 49 4e 54 20 77 58 6d 69 6e  ];..  UINT wXmin
fa90: 3b 0d 0a 20 20 55 49 4e 54 20 77 58 6d 61 78 3b  ;..  UINT wXmax;
faa0: 0d 0a 20 20 55 49 4e 54 20 77 59 6d 69 6e 3b 0d  ..  UINT wYmin;.
fab0: 0a 20 20 55 49 4e 54 20 77 59 6d 61 78 3b 0d 0a  .  UINT wYmax;..
fac0: 20 20 55 49 4e 54 20 77 5a 6d 69 6e 3b 0d 0a 20    UINT wZmin;.. 
fad0: 20 55 49 4e 54 20 77 5a 6d 61 78 3b 0d 0a 20 20   UINT wZmax;..  
fae0: 55 49 4e 54 20 77 4e 75 6d 42 75 74 74 6f 6e 73  UINT wNumButtons
faf0: 3b 0d 0a 20 20 55 49 4e 54 20 77 50 65 72 69 6f  ;..  UINT wPerio
fb00: 64 4d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 50  dMin;..  UINT wP
fb10: 65 72 69 6f 64 4d 61 78 3b 0d 0a 2f 2f 20 23 69  eriodMax;..// #i
fb20: 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  f (WINVER >= 0x0
fb30: 34 30 30 29 0d 0a 20 20 55 49 4e 54 20 77 52 6d  400)..  UINT wRm
fb40: 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 52 6d 61  in;..  UINT wRma
fb50: 78 3b 0d 0a 20 20 55 49 4e 54 20 77 55 6d 69 6e  x;..  UINT wUmin
fb60: 3b 0d 0a 20 20 55 49 4e 54 20 77 55 6d 61 78 3b  ;..  UINT wUmax;
fb70: 0d 0a 20 20 55 49 4e 54 20 77 56 6d 69 6e 3b 0d  ..  UINT wVmin;.
fb80: 0a 20 20 55 49 4e 54 20 77 56 6d 61 78 3b 0d 0a  .  UINT wVmax;..
fb90: 20 20 55 49 4e 54 20 77 43 61 70 73 3b 0d 0a 20    UINT wCaps;.. 
fba0: 20 55 49 4e 54 20 77 4d 61 78 41 78 65 73 3b 0d   UINT wMaxAxes;.
fbb0: 0a 20 20 55 49 4e 54 20 77 4e 75 6d 41 78 65 73  .  UINT wNumAxes
fbc0: 3b 0d 0a 20 20 55 49 4e 54 20 77 4d 61 78 42 75  ;..  UINT wMaxBu
fbd0: 74 74 6f 6e 73 3b 0d 0a 20 20 57 43 48 41 52 20  ttons;..  WCHAR 
fbe0: 73 7a 52 65 67 4b 65 79 5b 4d 41 58 50 4e 41 4d  szRegKey[MAXPNAM
fbf0: 45 4c 45 4e 5d 3b 0d 0a 20 20 57 43 48 41 52 20  ELEN];..  WCHAR 
fc00: 73 7a 4f 45 4d 56 78 44 5b 4d 41 58 5f 4a 4f 59  szOEMVxD[MAX_JOY
fc10: 53 54 49 43 4b 4f 45 4d 56 58 44 4e 41 4d 45 5d  STICKOEMVXDNAME]
fc20: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 7d 0d  ;..// #endif..}.
fc30: 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
fc40: 53 57 20 4a 4f 59 43 41 50 53 57 3b 0d 0a 61 6c  SW JOYCAPSW;..al
fc50: 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 57 2a  ias tagJOYCAPSW*
fc60: 20 50 4a 4f 59 43 41 50 53 57 3b 0d 0a 61 6c 69   PJOYCAPSW;..ali
fc70: 61 73 20 74 61 67 4a 4f 59 43 41 50 53 57 2a 20  as tagJOYCAPSW* 
fc80: 4e 50 4a 4f 59 43 41 50 53 57 3b 0d 0a 61 6c 69  NPJOYCAPSW;..ali
fc90: 61 73 20 74 61 67 4a 4f 59 43 41 50 53 57 2a 20  as tagJOYCAPSW* 
fca0: 4c 50 4a 4f 59 43 41 50 53 57 3b 0d 0a 0d 0a 2f  LPJOYCAPSW;..../
fcb0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
fcc0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
fcd0: 73 65 0d 0a 61 6c 69 61 73 20 4a 4f 59 43 41 50  se..alias JOYCAP
fce0: 53 41 20 4a 4f 59 43 41 50 53 3b 0d 0a 61 6c 69  SA JOYCAPS;..ali
fcf0: 61 73 20 50 4a 4f 59 43 41 50 53 41 20 50 4a 4f  as PJOYCAPSA PJO
fd00: 59 43 41 50 53 3b 0d 0a 61 6c 69 61 73 20 4e 50  YCAPS;..alias NP
fd10: 4a 4f 59 43 41 50 53 41 20 4e 50 4a 4f 59 43 41  JOYCAPSA NPJOYCA
fd20: 50 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4a 4f 59  PS;..alias LPJOY
fd30: 43 41 50 53 41 20 4c 50 4a 4f 59 43 41 50 53 3b  CAPSA LPJOYCAPS;
fd40: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
fd50: 4e 49 43 4f 44 45 0d 0a 73 74 72 75 63 74 20 74  NICODE..struct t
fd60: 61 67 4a 4f 59 43 41 50 53 32 41 20 7b 0d 0a 20  agJOYCAPS2A {.. 
fd70: 20 57 4f 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57   WORD wMid;..  W
fd80: 4f 52 44 20 77 50 69 64 3b 0d 0a 20 20 43 48 41  ORD wPid;..  CHA
fd90: 52 20 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41  R szPname[MAXPNA
fda0: 4d 45 4c 45 4e 5d 3b 0d 0a 20 20 55 49 4e 54 20  MELEN];..  UINT 
fdb0: 77 58 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77  wXmin;..  UINT w
fdc0: 58 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 59  Xmax;..  UINT wY
fdd0: 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 59 6d  min;..  UINT wYm
fde0: 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 69  ax;..  UINT wZmi
fdf0: 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 61 78  n;..  UINT wZmax
fe00: 3b 0d 0a 20 20 55 49 4e 54 20 77 4e 75 6d 42 75  ;..  UINT wNumBu
fe10: 74 74 6f 6e 73 3b 0d 0a 20 20 55 49 4e 54 20 77  ttons;..  UINT w
fe20: 50 65 72 69 6f 64 4d 69 6e 3b 0d 0a 20 20 55 49  PeriodMin;..  UI
fe30: 4e 54 20 77 50 65 72 69 6f 64 4d 61 78 3b 0d 0a  NT wPeriodMax;..
fe40: 20 20 55 49 4e 54 20 77 52 6d 69 6e 3b 0d 0a 20    UINT wRmin;.. 
fe50: 20 55 49 4e 54 20 77 52 6d 61 78 3b 0d 0a 20 20   UINT wRmax;..  
fe60: 55 49 4e 54 20 77 55 6d 69 6e 3b 0d 0a 20 20 55  UINT wUmin;..  U
fe70: 49 4e 54 20 77 55 6d 61 78 3b 0d 0a 20 20 55 49  INT wUmax;..  UI
fe80: 4e 54 20 77 56 6d 69 6e 3b 0d 0a 20 20 55 49 4e  NT wVmin;..  UIN
fe90: 54 20 77 56 6d 61 78 3b 0d 0a 20 20 55 49 4e 54  T wVmax;..  UINT
fea0: 20 77 43 61 70 73 3b 0d 0a 20 20 55 49 4e 54 20   wCaps;..  UINT 
feb0: 77 4d 61 78 41 78 65 73 3b 0d 0a 20 20 55 49 4e  wMaxAxes;..  UIN
fec0: 54 20 77 4e 75 6d 41 78 65 73 3b 0d 0a 20 20 55  T wNumAxes;..  U
fed0: 49 4e 54 20 77 4d 61 78 42 75 74 74 6f 6e 73 3b  INT wMaxButtons;
fee0: 0d 0a 20 20 43 48 41 52 20 73 7a 52 65 67 4b 65  ..  CHAR szRegKe
fef0: 79 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d  y[MAXPNAMELEN];.
ff00: 0a 20 20 43 48 41 52 20 73 7a 4f 45 4d 56 78 44  .  CHAR szOEMVxD
ff10: 5b 4d 41 58 5f 4a 4f 59 53 54 49 43 4b 4f 45 4d  [MAX_JOYSTICKOEM
ff20: 56 58 44 4e 41 4d 45 5d 3b 0d 0a 20 20 47 55 49  VXDNAME];..  GUI
ff30: 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72 47 75  D ManufacturerGu
ff40: 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f 64  id;..  GUID Prod
ff50: 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55 49 44  uctGuid;..  GUID
ff60: 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61   NameGuid;..}..a
ff70: 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 32  lias tagJOYCAPS2
ff80: 41 20 4a 4f 59 43 41 50 53 32 41 3b 0d 0a 61 6c  A JOYCAPS2A;..al
ff90: 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 32 41  ias tagJOYCAPS2A
ffa0: 2a 20 50 4a 4f 59 43 41 50 53 32 41 3b 0d 0a 61  * PJOYCAPS2A;..a
ffb0: 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 32  lias tagJOYCAPS2
ffc0: 41 2a 20 4e 50 4a 4f 59 43 41 50 53 32 41 3b 0d  A* NPJOYCAPS2A;.
ffd0: 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
ffe0: 53 32 41 2a 20 4c 50 4a 4f 59 43 41 50 53 32 41  S2A* LPJOYCAPS2A
fff0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4a  ;....struct tagJ
10000 4f 59 43 41 50 53 32 57 20 7b 0d 0a 20 20 57 4f  OYCAPS2W {..  WO
10010 52 44 20 77 4d 69 64 3b 0d 0a 20 20 57 4f 52 44  RD wMid;..  WORD
10020 20 77 50 69 64 3b 0d 0a 20 20 57 43 48 41 52 20   wPid;..  WCHAR 
10030 73 7a 50 6e 61 6d 65 5b 4d 41 58 50 4e 41 4d 45  szPname[MAXPNAME
10040 4c 45 4e 5d 3b 0d 0a 20 20 55 49 4e 54 20 77 58  LEN];..  UINT wX
10050 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 58 6d  min;..  UINT wXm
10060 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77 59 6d 69  ax;..  UINT wYmi
10070 6e 3b 0d 0a 20 20 55 49 4e 54 20 77 59 6d 61 78  n;..  UINT wYmax
10080 3b 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 69 6e 3b  ;..  UINT wZmin;
10090 0d 0a 20 20 55 49 4e 54 20 77 5a 6d 61 78 3b 0d  ..  UINT wZmax;.
100a0 0a 20 20 55 49 4e 54 20 77 4e 75 6d 42 75 74 74  .  UINT wNumButt
100b0 6f 6e 73 3b 0d 0a 20 20 55 49 4e 54 20 77 50 65  ons;..  UINT wPe
100c0 72 69 6f 64 4d 69 6e 3b 0d 0a 20 20 55 49 4e 54  riodMin;..  UINT
100d0 20 77 50 65 72 69 6f 64 4d 61 78 3b 0d 0a 20 20   wPeriodMax;..  
100e0 55 49 4e 54 20 77 52 6d 69 6e 3b 0d 0a 20 20 55  UINT wRmin;..  U
100f0 49 4e 54 20 77 52 6d 61 78 3b 0d 0a 20 20 55 49  INT wRmax;..  UI
10100 4e 54 20 77 55 6d 69 6e 3b 0d 0a 20 20 55 49 4e  NT wUmin;..  UIN
10110 54 20 77 55 6d 61 78 3b 0d 0a 20 20 55 49 4e 54  T wUmax;..  UINT
10120 20 77 56 6d 69 6e 3b 0d 0a 20 20 55 49 4e 54 20   wVmin;..  UINT 
10130 77 56 6d 61 78 3b 0d 0a 20 20 55 49 4e 54 20 77  wVmax;..  UINT w
10140 43 61 70 73 3b 0d 0a 20 20 55 49 4e 54 20 77 4d  Caps;..  UINT wM
10150 61 78 41 78 65 73 3b 0d 0a 20 20 55 49 4e 54 20  axAxes;..  UINT 
10160 77 4e 75 6d 41 78 65 73 3b 0d 0a 20 20 55 49 4e  wNumAxes;..  UIN
10170 54 20 77 4d 61 78 42 75 74 74 6f 6e 73 3b 0d 0a  T wMaxButtons;..
10180 20 20 57 43 48 41 52 20 73 7a 52 65 67 4b 65 79    WCHAR szRegKey
10190 5b 4d 41 58 50 4e 41 4d 45 4c 45 4e 5d 3b 0d 0a  [MAXPNAMELEN];..
101a0 20 20 57 43 48 41 52 20 73 7a 4f 45 4d 56 78 44    WCHAR szOEMVxD
101b0 5b 4d 41 58 5f 4a 4f 59 53 54 49 43 4b 4f 45 4d  [MAX_JOYSTICKOEM
101c0 56 58 44 4e 41 4d 45 5d 3b 0d 0a 20 20 47 55 49  VXDNAME];..  GUI
101d0 44 20 4d 61 6e 75 66 61 63 74 75 72 65 72 47 75  D ManufacturerGu
101e0 69 64 3b 0d 0a 20 20 47 55 49 44 20 50 72 6f 64  id;..  GUID Prod
101f0 75 63 74 47 75 69 64 3b 0d 0a 20 20 47 55 49 44  uctGuid;..  GUID
10200 20 4e 61 6d 65 47 75 69 64 3b 0d 0a 7d 0d 0a 61   NameGuid;..}..a
10210 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 32  lias tagJOYCAPS2
10220 57 20 4a 4f 59 43 41 50 53 32 57 3b 0d 0a 61 6c  W JOYCAPS2W;..al
10230 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 32 57  ias tagJOYCAPS2W
10240 2a 20 50 4a 4f 59 43 41 50 53 32 57 3b 0d 0a 61  * PJOYCAPS2W;..a
10250 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50 53 32  lias tagJOYCAPS2
10260 57 2a 20 4e 50 4a 4f 59 43 41 50 53 32 57 3b 0d  W* NPJOYCAPS2W;.
10270 0a 61 6c 69 61 73 20 74 61 67 4a 4f 59 43 41 50  .alias tagJOYCAP
10280 53 32 57 2a 20 4c 50 4a 4f 59 43 41 50 53 32 57  S2W* LPJOYCAPS2W
10290 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
102a0 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  NICODE..// .....
102b0 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
102c0 4a 4f 59 43 41 50 53 32 41 20 4a 4f 59 43 41 50  JOYCAPS2A JOYCAP
102d0 53 32 3b 0d 0a 61 6c 69 61 73 20 50 4a 4f 59 43  S2;..alias PJOYC
102e0 41 50 53 32 41 20 50 4a 4f 59 43 41 50 53 32 3b  APS2A PJOYCAPS2;
102f0 0d 0a 61 6c 69 61 73 20 4e 50 4a 4f 59 43 41 50  ..alias NPJOYCAP
10300 53 32 41 20 4e 50 4a 4f 59 43 41 50 53 32 3b 0d  S2A NPJOYCAPS2;.
10310 0a 61 6c 69 61 73 20 4c 50 4a 4f 59 43 41 50 53  .alias LPJOYCAPS
10320 32 41 20 4c 50 4a 4f 59 43 41 50 53 32 3b 0d 0a  2A LPJOYCAPS2;..
10330 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
10340 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65  CODE....// #else
10350 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
10360 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34   (WINVER >= 0x04
10370 30 30 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  00)..// .....// 
10380 23 65 6e 64 69 66 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  #endif..// .....
10390 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72  // #endif....str
103a0 75 63 74 20 6a 6f 79 69 6e 66 6f 5f 74 61 67 20  uct joyinfo_tag 
103b0 7b 0d 0a 20 20 55 49 4e 54 20 77 58 70 6f 73 3b  {..  UINT wXpos;
103c0 0d 0a 20 20 55 49 4e 54 20 77 59 70 6f 73 3b 0d  ..  UINT wYpos;.
103d0 0a 20 20 55 49 4e 54 20 77 5a 70 6f 73 3b 0d 0a  .  UINT wZpos;..
103e0 20 20 55 49 4e 54 20 77 42 75 74 74 6f 6e 73 3b    UINT wButtons;
103f0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6a 6f 79 69 6e  ..}..alias joyin
10400 66 6f 5f 74 61 67 20 4a 4f 59 49 4e 46 4f 3b 0d  fo_tag JOYINFO;.
10410 0a 61 6c 69 61 73 20 6a 6f 79 69 6e 66 6f 5f 74  .alias joyinfo_t
10420 61 67 2a 20 50 4a 4f 59 49 4e 46 4f 3b 0d 0a 61  ag* PJOYINFO;..a
10430 6c 69 61 73 20 6a 6f 79 69 6e 66 6f 5f 74 61 67  lias joyinfo_tag
10440 2a 20 4e 50 4a 4f 59 49 4e 46 4f 3b 0d 0a 61 6c  * NPJOYINFO;..al
10450 69 61 73 20 6a 6f 79 69 6e 66 6f 5f 74 61 67 2a  ias joyinfo_tag*
10460 20 4c 50 4a 4f 59 49 4e 46 4f 3b 0d 0a 0d 0a 2f   LPJOYINFO;..../
10470 2f 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20  / #if(WINVER >= 
10480 30 78 30 34 30 30 29 0d 0a 73 74 72 75 63 74 20  0x0400)..struct 
10490 6a 6f 79 69 6e 66 6f 65 78 5f 74 61 67 20 7b 0d  joyinfoex_tag {.
104a0 0a 20 20 44 57 4f 52 44 20 64 77 53 69 7a 65 3b  .  DWORD dwSize;
104b0 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
104c0 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 58 70  s;..  DWORD dwXp
104d0 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 59  os;..  DWORD dwY
104e0 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  pos;..  DWORD dw
104f0 5a 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64  Zpos;..  DWORD d
10500 77 52 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44 20  wRpos;..  DWORD 
10510 64 77 55 70 6f 73 3b 0d 0a 20 20 44 57 4f 52 44  dwUpos;..  DWORD
10520 20 64 77 56 70 6f 73 3b 0d 0a 20 20 44 57 4f 52   dwVpos;..  DWOR
10530 44 20 64 77 42 75 74 74 6f 6e 73 3b 0d 0a 20 20  D dwButtons;..  
10540 44 57 4f 52 44 20 64 77 42 75 74 74 6f 6e 4e 75  DWORD dwButtonNu
10550 6d 62 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 64  mber;..  DWORD d
10560 77 50 4f 56 3b 0d 0a 20 20 44 57 4f 52 44 20 64  wPOV;..  DWORD d
10570 77 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44  wReserved1;..  D
10580 57 4f 52 44 20 64 77 52 65 73 65 72 76 65 64 32  WORD dwReserved2
10590 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 6a 6f 79 69  ;..}..alias joyi
105a0 6e 66 6f 65 78 5f 74 61 67 20 4a 4f 59 49 4e 46  nfoex_tag JOYINF
105b0 4f 45 58 3b 0d 0a 61 6c 69 61 73 20 6a 6f 79 69  OEX;..alias joyi
105c0 6e 66 6f 65 78 5f 74 61 67 2a 20 50 4a 4f 59 49  nfoex_tag* PJOYI
105d0 4e 46 4f 45 58 3b 0d 0a 61 6c 69 61 73 20 6a 6f  NFOEX;..alias jo
105e0 79 69 6e 66 6f 65 78 5f 74 61 67 2a 20 4e 50 4a  yinfoex_tag* NPJ
105f0 4f 59 49 4e 46 4f 45 58 3b 0d 0a 61 6c 69 61 73  OYINFOEX;..alias
10600 20 6a 6f 79 69 6e 66 6f 65 78 5f 74 61 67 2a 20   joyinfoex_tag* 
10610 4c 50 4a 4f 59 49 4e 46 4f 45 58 3b 0d 0a 0d 0a  LPJOYINFOEX;....
10620 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e  // #endif /* WIN
10630 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f  VER >= 0x0400 */
10640 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
10650 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20  ws) export UINT 
10660 6a 6f 79 47 65 74 4e 75 6d 44 65 76 73 28 29 3b  joyGetNumDevs();
10670 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
10680 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  32....extern(Win
10690 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52  dows) export MMR
106a0 45 53 55 4c 54 20 6a 6f 79 47 65 74 44 65 76 43  ESULT joyGetDevC
106b0 61 70 73 41 28 55 49 4e 54 5f 50 54 52 20 75 4a  apsA(UINT_PTR uJ
106c0 6f 79 49 44 2c 20 4c 50 4a 4f 59 43 41 50 53 41  oyID, LPJOYCAPSA
106d0 20 70 6a 63 2c 20 55 49 4e 54 20 63 62 6a 63 29   pjc, UINT cbjc)
106e0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
106f0 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
10700 4c 54 20 6a 6f 79 47 65 74 44 65 76 43 61 70 73  LT joyGetDevCaps
10710 57 28 55 49 4e 54 5f 50 54 52 20 75 4a 6f 79 49  W(UINT_PTR uJoyI
10720 44 2c 20 4c 50 4a 4f 59 43 41 50 53 57 20 70 6a  D, LPJOYCAPSW pj
10730 63 2c 20 55 49 4e 54 20 63 62 6a 63 29 3b 0d 0a  c, UINT cbjc);..
10740 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
10750 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
10760 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6a 6f 79 47  else..alias joyG
10770 65 74 44 65 76 43 61 70 73 41 20 6a 6f 79 47 65  etDevCapsA joyGe
10780 74 44 65 76 43 61 70 73 3b 0d 0a 2f 2f 20 23 65  tDevCaps;..// #e
10790 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
107a0 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  ....// #else..//
107b0 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d   .....// #endif.
107c0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
107d0 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
107e0 20 6a 6f 79 47 65 74 50 6f 73 28 55 49 4e 54 20   joyGetPos(UINT 
107f0 75 4a 6f 79 49 44 2c 20 4c 50 4a 4f 59 49 4e 46  uJoyID, LPJOYINF
10800 4f 20 70 6a 69 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  O pji);....// #i
10810 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34  f(WINVER >= 0x04
10820 30 30 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  00)..extern(Wind
10830 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
10840 53 55 4c 54 20 6a 6f 79 47 65 74 50 6f 73 45 78  SULT joyGetPosEx
10850 28 55 49 4e 54 20 75 4a 6f 79 49 44 2c 20 4c 50  (UINT uJoyID, LP
10860 4a 4f 59 49 4e 46 4f 45 58 20 70 6a 69 29 3b 0d  JOYINFOEX pji);.
10870 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49  .// #endif /* WI
10880 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a  NVER >= 0x0400 *
10890 2f 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  /....extern(Wind
108a0 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45  ows) export MMRE
108b0 53 55 4c 54 20 6a 6f 79 47 65 74 54 68 72 65 73  SULT joyGetThres
108c0 68 6f 6c 64 28 55 49 4e 54 20 75 4a 6f 79 49 44  hold(UINT uJoyID
108d0 2c 20 4c 50 55 49 4e 54 20 70 75 54 68 72 65 73  , LPUINT puThres
108e0 68 6f 6c 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57  hold);..extern(W
108f0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
10900 4d 52 45 53 55 4c 54 20 6a 6f 79 52 65 6c 65 61  MRESULT joyRelea
10910 73 65 43 61 70 74 75 72 65 28 55 49 4e 54 20 75  seCapture(UINT u
10920 4a 6f 79 49 44 29 3b 0d 0a 65 78 74 65 72 6e 28  JoyID);..extern(
10930 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
10940 4d 4d 52 45 53 55 4c 54 20 6a 6f 79 53 65 74 43  MMRESULT joySetC
10950 61 70 74 75 72 65 28 48 57 4e 44 20 68 77 6e 64  apture(HWND hwnd
10960 2c 20 55 49 4e 54 20 75 4a 6f 79 49 44 2c 20 55  , UINT uJoyID, U
10970 49 4e 54 20 75 50 65 72 69 6f 64 2c 0d 0a 20 20  INT uPeriod,..  
10980 42 4f 4f 4c 20 66 43 68 61 6e 67 65 64 29 3b 0d  BOOL fChanged);.
10990 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
109a0 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54   export MMRESULT
109b0 20 6a 6f 79 53 65 74 54 68 72 65 73 68 6f 6c 64   joySetThreshold
109c0 28 55 49 4e 54 20 75 4a 6f 79 49 44 2c 20 55 49  (UINT uJoyID, UI
109d0 4e 54 20 75 54 68 72 65 73 68 6f 6c 64 29 3b 0d  NT uThreshold);.
109e0 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a  ...// #endif  /*
109f0 20 69 66 6e 64 65 66 20 4d 4d 4e 4f 4a 4f 59 20   ifndef MMNOJOY 
10a00 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  */....// #ifndef
10a10 20 4d 4d 4e 4f 4d 4d 49 4f 0d 0a 0d 0a 65 6e 75   MMNOMMIO....enu
10a20 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45  m : uint { MMIOE
10a30 52 52 5f 42 41 53 45 20 3d 20 32 35 36 20 7d 0d  RR_BASE = 256 }.
10a40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
10a50 4d 49 4f 45 52 52 5f 46 49 4c 45 4e 4f 54 46 4f  MIOERR_FILENOTFO
10a60 55 4e 44 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41  UND = MMIOERR_BA
10a70 53 45 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 1 }..enum :
10a80 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f   uint { MMIOERR_
10a90 4f 55 54 4f 46 4d 45 4d 4f 52 59 20 3d 20 4d 4d  OUTOFMEMORY = MM
10aa0 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 32 20 7d  IOERR_BASE + 2 }
10ab0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10ac0 4d 4d 49 4f 45 52 52 5f 43 41 4e 4e 4f 54 4f 50  MMIOERR_CANNOTOP
10ad0 45 4e 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41 53  EN = MMIOERR_BAS
10ae0 45 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E + 3 }..enum : 
10af0 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 43  uint { MMIOERR_C
10b00 41 4e 4e 4f 54 43 4c 4f 53 45 20 3d 20 4d 4d 49  ANNOTCLOSE = MMI
10b10 4f 45 52 52 5f 42 41 53 45 20 2b 20 34 20 7d 0d  OERR_BASE + 4 }.
10b20 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
10b30 4d 49 4f 45 52 52 5f 43 41 4e 4e 4f 54 52 45 41  MIOERR_CANNOTREA
10b40 44 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41 53 45  D = MMIOERR_BASE
10b50 20 2b 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 5 }..enum : u
10b60 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 43 41  int { MMIOERR_CA
10b70 4e 4e 4f 54 57 52 49 54 45 20 3d 20 4d 4d 49 4f  NNOTWRITE = MMIO
10b80 45 52 52 5f 42 41 53 45 20 2b 20 36 20 7d 0d 0a  ERR_BASE + 6 }..
10b90 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
10ba0 49 4f 45 52 52 5f 43 41 4e 4e 4f 54 53 45 45 4b  IOERR_CANNOTSEEK
10bb0 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20   = MMIOERR_BASE 
10bc0 2b 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 7 }..enum : ui
10bd0 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 43 41 4e  nt { MMIOERR_CAN
10be0 4e 4f 54 45 58 50 41 4e 44 20 3d 20 4d 4d 49 4f  NOTEXPAND = MMIO
10bf0 45 52 52 5f 42 41 53 45 20 2b 20 38 20 7d 0d 0a  ERR_BASE + 8 }..
10c00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
10c10 49 4f 45 52 52 5f 43 48 55 4e 4b 4e 4f 54 46 4f  IOERR_CHUNKNOTFO
10c20 55 4e 44 20 3d 20 4d 4d 49 4f 45 52 52 5f 42 41  UND = MMIOERR_BA
10c30 53 45 20 2b 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 9 }..enum :
10c40 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52 52 5f   uint { MMIOERR_
10c50 55 4e 42 55 46 46 45 52 45 44 20 3d 20 4d 4d 49  UNBUFFERED = MMI
10c60 4f 45 52 52 5f 42 41 53 45 20 2b 20 31 30 20 7d  OERR_BASE + 10 }
10c70 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
10c80 4d 4d 49 4f 45 52 52 5f 50 41 54 48 4e 4f 54 46  MMIOERR_PATHNOTF
10c90 4f 55 4e 44 20 3d 20 4d 4d 49 4f 45 52 52 5f 42  OUND = MMIOERR_B
10ca0 41 53 45 20 2b 20 31 31 20 7d 0d 0a 65 6e 75 6d  ASE + 11 }..enum
10cb0 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52   : uint { MMIOER
10cc0 52 5f 41 43 43 45 53 53 44 45 4e 49 45 44 20 3d  R_ACCESSDENIED =
10cd0 20 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20   MMIOERR_BASE + 
10ce0 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  12 }..enum : uin
10cf0 74 20 7b 20 4d 4d 49 4f 45 52 52 5f 53 48 41 52  t { MMIOERR_SHAR
10d00 49 4e 47 56 49 4f 4c 41 54 49 4f 4e 20 3d 20 4d  INGVIOLATION = M
10d10 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 31 33  MIOERR_BASE + 13
10d20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
10d30 7b 20 4d 4d 49 4f 45 52 52 5f 4e 45 54 57 4f 52  { MMIOERR_NETWOR
10d40 4b 45 52 52 4f 52 20 3d 20 4d 4d 49 4f 45 52 52  KERROR = MMIOERR
10d50 5f 42 41 53 45 20 2b 20 31 34 20 7d 0d 0a 65 6e  _BASE + 14 }..en
10d60 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f  um : uint { MMIO
10d70 45 52 52 5f 54 4f 4f 4d 41 4e 59 4f 50 45 4e 46  ERR_TOOMANYOPENF
10d80 49 4c 45 53 20 3d 20 4d 4d 49 4f 45 52 52 5f 42  ILES = MMIOERR_B
10d90 41 53 45 20 2b 20 31 35 20 7d 0d 0a 65 6e 75 6d  ASE + 15 }..enum
10da0 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 45 52   : uint { MMIOER
10db0 52 5f 49 4e 56 41 4c 49 44 46 49 4c 45 20 3d 20  R_INVALIDFILE = 
10dc0 4d 4d 49 4f 45 52 52 5f 42 41 53 45 20 2b 20 31  MMIOERR_BASE + 1
10dd0 36 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 63 68 61  6 }....const cha
10de0 72 20 43 46 53 45 50 43 48 41 52 20 3d 20 27 2b  r CFSEPCHAR = '+
10df0 27 3b 0d 0a 0d 0a 61 6c 69 61 73 20 44 57 4f 52  ';....alias DWOR
10e00 44 20 46 4f 55 52 43 43 3b 0d 0a 61 6c 69 61 73  D FOURCC;..alias
10e10 20 63 68 61 72 2a 20 48 50 53 54 52 3b 0d 0a 61   char* HPSTR;..a
10e20 6c 69 61 73 20 76 6f 69 64 2a 20 48 4d 4d 49 4f  lias void* HMMIO
10e30 3b 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20 4c 52  ;..// typedef LR
10e40 45 53 55 4c 54 20 28 43 41 4c 4c 42 41 43 4b 20  ESULT (CALLBACK 
10e50 4d 4d 49 4f 50 52 4f 43 29 28 4c 50 53 54 52 20  MMIOPROC)(LPSTR 
10e60 6c 70 6d 6d 69 6f 69 6e 66 6f 2c 20 55 49 4e 54  lpmmioinfo, UINT
10e70 20 75 4d 73 67 2c 20 4c 50 41 52 41 4d 20 6c 50   uMsg, LPARAM lP
10e80 61 72 61 6d 31 2c 20 4c 50 41 52 41 4d 20 6c 50  aram1, LPARAM lP
10e90 61 72 61 6d 32 29 3b 0d 0a 65 78 74 65 72 6e 28  aram2);..extern(
10ea0 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 4c  Windows) alias L
10eb0 52 45 53 55 4c 54 20 66 75 6e 63 74 69 6f 6e 28  RESULT function(
10ec0 4c 50 53 54 52 20 6c 70 6d 6d 69 6f 69 6e 66 6f  LPSTR lpmmioinfo
10ed0 2c 20 55 49 4e 54 20 75 4d 73 67 2c 20 4c 50 41  , UINT uMsg, LPA
10ee0 52 41 4d 20 6c 50 61 72 61 6d 31 2c 20 4c 50 41  RAM lParam1, LPA
10ef0 52 41 4d 20 6c 50 61 72 61 6d 32 29 20 4c 50 4d  RAM lParam2) LPM
10f00 4d 49 4f 50 52 4f 43 3b 0d 0a 0d 0a 73 74 72 75  MIOPROC;....stru
10f10 63 74 20 5f 4d 4d 49 4f 49 4e 46 4f 20 7b 0d 0a  ct _MMIOINFO {..
10f20 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c 61 67  ..  DWORD dwFlag
10f30 73 3b 0d 0a 20 20 46 4f 55 52 43 43 20 66 63 63  s;..  FOURCC fcc
10f40 49 4f 50 72 6f 63 3b 0d 0a 20 20 4c 50 4d 4d 49  IOProc;..  LPMMI
10f50 4f 50 52 4f 43 20 70 49 4f 50 72 6f 63 3b 0d 0a  OPROC pIOProc;..
10f60 20 20 55 49 4e 54 20 77 45 72 72 6f 72 52 65 74    UINT wErrorRet
10f70 3b 0d 0a 20 20 48 54 41 53 4b 20 68 74 61 73 6b  ;..  HTASK htask
10f80 3b 0d 0a 0d 0a 20 20 4c 4f 4e 47 20 63 63 68 42  ;....  LONG cchB
10f90 75 66 66 65 72 3b 0d 0a 20 20 48 50 53 54 52 20  uffer;..  HPSTR 
10fa0 70 63 68 42 75 66 66 65 72 3b 0d 0a 20 20 48 50  pchBuffer;..  HP
10fb0 53 54 52 20 70 63 68 4e 65 78 74 3b 0d 0a 20 20  STR pchNext;..  
10fc0 48 50 53 54 52 20 70 63 68 45 6e 64 52 65 61 64  HPSTR pchEndRead
10fd0 3b 0d 0a 20 20 48 50 53 54 52 20 70 63 68 45 6e  ;..  HPSTR pchEn
10fe0 64 57 72 69 74 65 3b 0d 0a 20 20 4c 4f 4e 47 20  dWrite;..  LONG 
10ff0 6c 42 75 66 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20  lBufOffset;.... 
11000 20 4c 4f 4e 47 20 6c 44 69 73 6b 4f 66 66 73 65   LONG lDiskOffse
11010 74 3b 0d 0a 20 20 44 57 4f 52 44 20 61 64 77 49  t;..  DWORD adwI
11020 6e 66 6f 5b 33 5d 3b 0d 0a 0d 0a 20 20 44 57 4f  nfo[3];....  DWO
11030 52 44 20 64 77 52 65 73 65 72 76 65 64 31 3b 0d  RD dwReserved1;.
11040 0a 20 20 44 57 4f 52 44 20 64 77 52 65 73 65 72  .  DWORD dwReser
11050 76 65 64 32 3b 0d 0a 20 20 48 4d 4d 49 4f 20 68  ved2;..  HMMIO h
11060 6d 6d 69 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  mmio;..}..alias 
11070 5f 4d 4d 49 4f 49 4e 46 4f 20 4d 4d 49 4f 49 4e  _MMIOINFO MMIOIN
11080 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4d 49 4f  FO;..alias _MMIO
11090 49 4e 46 4f 2a 20 50 4d 4d 49 4f 49 4e 46 4f 3b  INFO* PMMIOINFO;
110a0 0d 0a 61 6c 69 61 73 20 5f 4d 4d 49 4f 49 4e 46  ..alias _MMIOINF
110b0 4f 2a 20 4e 50 4d 4d 49 4f 49 4e 46 4f 3b 0d 0a  O* NPMMIOINFO;..
110c0 61 6c 69 61 73 20 5f 4d 4d 49 4f 49 4e 46 4f 2a  alias _MMIOINFO*
110d0 20 4c 50 4d 4d 49 4f 49 4e 46 4f 3b 0d 0a 0d 0a   LPMMIOINFO;....
110e0 61 6c 69 61 73 20 4d 4d 49 4f 49 4e 46 4f 2a 20  alias MMIOINFO* 
110f0 4c 50 43 4d 4d 49 4f 49 4e 46 4f 3b 0d 0a 0d 0a  LPCMMIOINFO;....
11100 73 74 72 75 63 74 20 5f 4d 4d 43 4b 49 4e 46 4f  struct _MMCKINFO
11110 20 7b 0d 0a 20 20 46 4f 55 52 43 43 20 63 6b 69   {..  FOURCC cki
11120 64 3b 0d 0a 20 20 44 57 4f 52 44 20 63 6b 73 69  d;..  DWORD cksi
11130 7a 65 3b 0d 0a 20 20 46 4f 55 52 43 43 20 66 63  ze;..  FOURCC fc
11140 63 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20  cType;..  DWORD 
11150 64 77 44 61 74 61 4f 66 66 73 65 74 3b 0d 0a 20  dwDataOffset;.. 
11160 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d   DWORD dwFlags;.
11170 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 4d 43 4b 49  .}..alias _MMCKI
11180 4e 46 4f 20 4d 4d 43 4b 49 4e 46 4f 3b 0d 0a 61  NFO MMCKINFO;..a
11190 6c 69 61 73 20 5f 4d 4d 43 4b 49 4e 46 4f 2a 20  lias _MMCKINFO* 
111a0 50 4d 4d 43 4b 49 4e 46 4f 3b 0d 0a 61 6c 69 61  PMMCKINFO;..alia
111b0 73 20 5f 4d 4d 43 4b 49 4e 46 4f 2a 20 4e 50 4d  s _MMCKINFO* NPM
111c0 4d 43 4b 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20  MCKINFO;..alias 
111d0 5f 4d 4d 43 4b 49 4e 46 4f 2a 20 4c 50 4d 4d 43  _MMCKINFO* LPMMC
111e0 4b 49 4e 46 4f 3b 0d 0a 0d 0a 61 6c 69 61 73 20  KINFO;....alias 
111f0 4d 4d 43 4b 49 4e 46 4f 2a 20 4c 50 43 4d 4d 43  MMCKINFO* LPCMMC
11200 4b 49 4e 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  KINFO;....enum :
11210 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 52 57 4d   uint { MMIO_RWM
11220 4f 44 45 20 3d 20 30 78 30 30 30 30 30 30 30 33  ODE = 0x00000003
11230 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11240 7b 20 4d 4d 49 4f 5f 53 48 41 52 45 4d 4f 44 45  { MMIO_SHAREMODE
11250 20 3d 20 30 78 30 30 30 30 30 30 37 30 20 7d 0d   = 0x00000070 }.
11260 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
11270 20 4d 4d 49 4f 5f 43 52 45 41 54 45 20 3d 20 30   MMIO_CREATE = 0
11280 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e 75  x00001000 }..enu
11290 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
112a0 50 41 52 53 45 20 3d 20 30 78 30 30 30 30 30 31  PARSE = 0x000001
112b0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
112c0 74 20 7b 20 4d 4d 49 4f 5f 44 45 4c 45 54 45 20  t { MMIO_DELETE 
112d0 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
112e0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
112f0 49 4f 5f 45 58 49 53 54 20 3d 20 30 78 30 30 30  IO_EXIST = 0x000
11300 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  04000 }..enum : 
11310 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 41 4c 4c 4f  uint { MMIO_ALLO
11320 43 42 55 46 20 3d 20 30 78 30 30 30 31 30 30 30  CBUF = 0x0001000
11330 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
11340 20 7b 20 4d 4d 49 4f 5f 47 45 54 54 45 4d 50 20   { MMIO_GETTEMP 
11350 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
11360 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
11370 4d 4d 49 4f 5f 44 49 52 54 59 20 3d 20 30 78 31  MMIO_DIRTY = 0x1
11380 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000000 }....enu
11390 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
113a0 52 45 41 44 20 3d 20 30 78 30 30 30 30 30 30 30  READ = 0x0000000
113b0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
113c0 20 7b 20 4d 4d 49 4f 5f 57 52 49 54 45 20 3d 20   { MMIO_WRITE = 
113d0 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
113e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f  um : uint { MMIO
113f0 5f 52 45 41 44 57 52 49 54 45 20 3d 20 30 78 30  _READWRITE = 0x0
11400 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e 75  0000002 }....enu
11410 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
11420 43 4f 4d 50 41 54 20 3d 20 30 78 30 30 30 30 30  COMPAT = 0x00000
11430 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
11440 6e 74 20 7b 20 4d 4d 49 4f 5f 45 58 43 4c 55 53  nt { MMIO_EXCLUS
11450 49 56 45 20 3d 20 30 78 30 30 30 30 30 30 31 30  IVE = 0x00000010
11460 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
11470 7b 20 4d 4d 49 4f 5f 44 45 4e 59 57 52 49 54 45  { MMIO_DENYWRITE
11480 20 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d   = 0x00000020 }.
11490 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
114a0 4d 49 4f 5f 44 45 4e 59 52 45 41 44 20 3d 20 30  MIO_DENYREAD = 0
114b0 78 30 30 30 30 30 30 33 30 20 7d 0d 0a 65 6e 75  x00000030 }..enu
114c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
114d0 44 45 4e 59 4e 4f 4e 45 20 3d 20 30 78 30 30 30  DENYNONE = 0x000
114e0 30 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00040 }....enum 
114f0 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 46 48  : uint { MMIO_FH
11500 4f 50 45 4e 20 3d 20 30 78 30 30 31 30 20 7d 0d  OPEN = 0x0010 }.
11510 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
11520 4d 49 4f 5f 45 4d 50 54 59 42 55 46 20 3d 20 30  MIO_EMPTYBUF = 0
11530 78 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0010 }..enum : 
11540 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 54 4f 55 50  uint { MMIO_TOUP
11550 50 45 52 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a  PER = 0x0010 }..
11560 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d  enum : uint { MM
11570 49 4f 5f 49 4e 53 54 41 4c 4c 50 52 4f 43 20 3d  IO_INSTALLPROC =
11580 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65   0x00010000 }..e
11590 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
115a0 4f 5f 47 4c 4f 42 41 4c 50 52 4f 43 20 3d 20 30  O_GLOBALPROC = 0
115b0 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x10000000 }..enu
115c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f  m : uint { MMIO_
115d0 52 45 4d 4f 56 45 50 52 4f 43 20 3d 20 30 78 30  REMOVEPROC = 0x0
115e0 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0020000 }..enum 
115f0 3a 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 55 4e  : uint { MMIO_UN
11600 49 43 4f 44 45 50 52 4f 43 20 3d 20 30 78 30 31  ICODEPROC = 0x01
11610 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
11620 20 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 46 49 4e   uint { MMIO_FIN
11630 44 50 52 4f 43 20 3d 20 30 78 30 30 30 34 30 30  DPROC = 0x000400
11640 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
11650 74 20 7b 20 4d 4d 49 4f 5f 46 49 4e 44 43 48 55  t { MMIO_FINDCHU
11660 4e 4b 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65  NK = 0x0010 }..e
11670 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
11680 4f 5f 46 49 4e 44 52 49 46 46 20 3d 20 30 78 30  O_FINDRIFF = 0x0
11690 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
116a0 6e 74 20 7b 20 4d 4d 49 4f 5f 46 49 4e 44 4c 49  nt { MMIO_FINDLI
116b0 53 54 20 3d 20 30 78 30 30 34 30 20 7d 0d 0a 65  ST = 0x0040 }..e
116c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 4d 49  num : uint { MMI
116d0 4f 5f 43 52 45 41 54 45 52 49 46 46 20 3d 20 30  O_CREATERIFF = 0
116e0 78 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0020 }..enum : 
116f0 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 43 52 45 41  uint { MMIO_CREA
11700 54 45 4c 49 53 54 20 3d 20 30 78 30 30 34 30 20  TELIST = 0x0040 
11710 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d 4d 49 4f 5f  }....alias MMIO_
11720 52 45 41 44 20 4d 4d 49 4f 4d 5f 52 45 41 44 3b  READ MMIOM_READ;
11730 0d 0a 61 6c 69 61 73 20 4d 4d 49 4f 5f 57 52 49  ..alias MMIO_WRI
11740 54 45 20 4d 4d 49 4f 4d 5f 57 52 49 54 45 3b 0d  TE MMIOM_WRITE;.
11750 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
11760 4d 49 4f 4d 5f 53 45 45 4b 20 3d 20 32 20 7d 0d  MIOM_SEEK = 2 }.
11770 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
11780 4d 49 4f 4d 5f 4f 50 45 4e 20 3d 20 33 20 7d 0d  MIOM_OPEN = 3 }.
11790 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
117a0 4d 49 4f 4d 5f 43 4c 4f 53 45 20 3d 20 34 20 7d  MIOM_CLOSE = 4 }
117b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
117c0 4d 4d 49 4f 4d 5f 57 52 49 54 45 46 4c 55 53 48  MMIOM_WRITEFLUSH
117d0 20 3d 20 35 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66   = 5 }....// #if
117e0 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33   (WINVER >= 0x03
117f0 30 61 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0a)..enum : uint
11800 20 7b 20 4d 4d 49 4f 4d 5f 52 45 4e 41 4d 45 20   { MMIOM_RENAME 
11810 3d 20 36 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66  = 6 }..// #endif
11820 20 2f 2a 20 69 66 64 65 66 20 57 49 4e 56 45 52   /* ifdef WINVER
11830 20 3e 3d 20 30 78 30 33 30 61 20 2a 2f 0d 0a 0d   >= 0x030a */...
11840 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
11850 4d 49 4f 4d 5f 55 53 45 52 20 3d 20 30 78 38 30  MIOM_USER = 0x80
11860 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  00 }....// #defi
11870 6e 65 20 46 4f 55 52 43 43 5f 52 49 46 46 20 6d  ne FOURCC_RIFF m
11880 6d 69 6f 46 4f 55 52 43 43 28 27 52 27 2c 20 27  mioFOURCC('R', '
11890 49 27 2c 20 27 46 27 2c 20 27 46 27 29 0d 0a 2f  I', 'F', 'F')../
118a0 2f 20 23 64 65 66 69 6e 65 20 46 4f 55 52 43 43  / #define FOURCC
118b0 5f 4c 49 53 54 20 6d 6d 69 6f 46 4f 55 52 43 43  _LIST mmioFOURCC
118c0 28 27 4c 27 2c 20 27 49 27 2c 20 27 53 27 2c 20  ('L', 'I', 'S', 
118d0 27 54 27 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  'T')....// #defi
118e0 6e 65 20 46 4f 55 52 43 43 5f 44 4f 53 20 6d 6d  ne FOURCC_DOS mm
118f0 69 6f 46 4f 55 52 43 43 28 27 44 27 2c 20 27 4f  ioFOURCC('D', 'O
11900 27 2c 20 27 53 27 2c 20 27 20 27 29 0d 0a 2f 2f  ', 'S', ' ')..//
11910 20 23 64 65 66 69 6e 65 20 46 4f 55 52 43 43 5f   #define FOURCC_
11920 4d 45 4d 20 6d 6d 69 6f 46 4f 55 52 43 43 28 27  MEM mmioFOURCC('
11930 4d 27 2c 20 27 45 27 2c 20 27 4d 27 2c 20 27 20  M', 'E', 'M', ' 
11940 27 29 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66  ')....// #ifndef
11950 20 53 45 45 4b 5f 53 45 54 0d 0a 65 6e 75 6d 20   SEEK_SET..enum 
11960 3a 20 75 69 6e 74 20 7b 20 53 45 45 4b 5f 53 45  : uint { SEEK_SE
11970 54 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T = 0 }..enum : 
11980 75 69 6e 74 20 7b 20 53 45 45 4b 5f 43 55 52 20  uint { SEEK_CUR 
11990 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 1 }..enum : ui
119a0 6e 74 20 7b 20 53 45 45 4b 5f 45 4e 44 20 3d 20  nt { SEEK_END = 
119b0 32 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20  2 }..// #endif  
119c0 2f 2a 20 69 66 6e 64 65 66 20 53 45 45 4b 5f 53  /* ifndef SEEK_S
119d0 45 54 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  ET */....enum : 
119e0 75 69 6e 74 20 7b 20 4d 4d 49 4f 5f 44 45 46 41  uint { MMIO_DEFA
119f0 55 4c 54 42 55 46 46 45 52 20 3d 20 38 31 39 32  ULTBUFFER = 8192
11a00 20 7d 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65   }....// #define
11a10 20 6d 6d 69 6f 46 4f 55 52 43 43 28 63 68 30 2c   mmioFOURCC(ch0,
11a20 20 63 68 31 2c 20 63 68 32 2c 20 63 68 33 29 20   ch1, ch2, ch3) 
11a30 4d 41 4b 45 46 4f 55 52 43 43 28 63 68 30 2c 20  MAKEFOURCC(ch0, 
11a40 63 68 31 2c 20 63 68 32 2c 20 63 68 33 29 0d 0a  ch1, ch2, ch3)..
11a50 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
11a60 33 32 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  32....extern(Win
11a70 64 6f 77 73 29 20 65 78 70 6f 72 74 20 46 4f 55  dows) export FOU
11a80 52 43 43 20 6d 6d 69 6f 53 74 72 69 6e 67 54 6f  RCC mmioStringTo
11a90 46 4f 55 52 43 43 41 28 4c 50 43 53 54 52 20 73  FOURCCA(LPCSTR s
11aa0 7a 2c 20 55 49 4e 54 20 75 46 6c 61 67 73 29 3b  z, UINT uFlags);
11ab0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
11ac0 29 20 65 78 70 6f 72 74 20 46 4f 55 52 43 43 20  ) export FOURCC 
11ad0 6d 6d 69 6f 53 74 72 69 6e 67 54 6f 46 4f 55 52  mmioStringToFOUR
11ae0 43 43 57 28 4c 50 43 57 53 54 52 20 73 7a 2c 20  CCW(LPCWSTR sz, 
11af0 55 49 4e 54 20 75 46 6c 61 67 73 29 3b 0d 0a 2f  UINT uFlags);../
11b00 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
11b10 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
11b20 6c 73 65 0d 0a 61 6c 69 61 73 20 6d 6d 69 6f 53  lse..alias mmioS
11b30 74 72 69 6e 67 54 6f 46 4f 55 52 43 43 41 20 6d  tringToFOURCCA m
11b40 6d 69 6f 53 74 72 69 6e 67 54 6f 46 4f 55 52 43  mioStringToFOURC
11b50 43 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  C;..// #endif //
11b60 20 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74 65 72   !UNICODE..exter
11b70 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
11b80 74 20 4c 50 4d 4d 49 4f 50 52 4f 43 20 6d 6d 69  t LPMMIOPROC mmi
11b90 6f 49 6e 73 74 61 6c 6c 49 4f 50 72 6f 63 41 28  oInstallIOProcA(
11ba0 46 4f 55 52 43 43 20 66 63 63 49 4f 50 72 6f 63  FOURCC fccIOProc
11bb0 2c 20 4c 50 4d 4d 49 4f 50 52 4f 43 20 70 49 4f  , LPMMIOPROC pIO
11bc0 50 72 6f 63 2c 20 44 57 4f 52 44 20 64 77 46 6c  Proc, DWORD dwFl
11bd0 61 67 73 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ags);..extern(Wi
11be0 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 50  ndows) export LP
11bf0 4d 4d 49 4f 50 52 4f 43 20 6d 6d 69 6f 49 6e 73  MMIOPROC mmioIns
11c00 74 61 6c 6c 49 4f 50 72 6f 63 57 28 46 4f 55 52  tallIOProcW(FOUR
11c10 43 43 20 66 63 63 49 4f 50 72 6f 63 2c 20 4c 50  CC fccIOProc, LP
11c20 4d 4d 49 4f 50 52 4f 43 20 70 49 4f 50 72 6f 63  MMIOPROC pIOProc
11c30 2c 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29  , DWORD dwFlags)
11c40 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
11c50 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
11c60 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6d  / #else..alias m
11c70 6d 69 6f 49 6e 73 74 61 6c 6c 49 4f 50 72 6f 63  mioInstallIOProc
11c80 41 20 6d 6d 69 6f 49 6e 73 74 61 6c 6c 49 4f 50  A mmioInstallIOP
11c90 72 6f 63 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  roc;..// #endif 
11ca0 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74  // !UNICODE..ext
11cb0 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
11cc0 6f 72 74 20 48 4d 4d 49 4f 20 6d 6d 69 6f 4f 70  ort HMMIO mmioOp
11cd0 65 6e 41 28 4c 50 53 54 52 20 70 73 7a 46 69 6c  enA(LPSTR pszFil
11ce0 65 4e 61 6d 65 2c 20 4c 50 4d 4d 49 4f 49 4e 46  eName, LPMMIOINF
11cf0 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c 20 44 57 4f  O pmmioinfo, DWO
11d00 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a 65 78  RD fdwOpen);..ex
11d10 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
11d20 70 6f 72 74 20 48 4d 4d 49 4f 20 6d 6d 69 6f 4f  port HMMIO mmioO
11d30 70 65 6e 57 28 4c 50 57 53 54 52 20 70 73 7a 46  penW(LPWSTR pszF
11d40 69 6c 65 4e 61 6d 65 2c 20 4c 50 4d 4d 49 4f 49  ileName, LPMMIOI
11d50 4e 46 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c 20 44  NFO pmmioinfo, D
11d60 57 4f 52 44 20 66 64 77 4f 70 65 6e 29 3b 0d 0a  WORD fdwOpen);..
11d70 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
11d80 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
11d90 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6d 6d 69 6f  else..alias mmio
11da0 4f 70 65 6e 41 20 6d 6d 69 6f 4f 70 65 6e 3b 0d  OpenA mmioOpen;.
11db0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
11dc0 4e 49 43 4f 44 45 0d 0a 65 78 74 65 72 6e 28 57  NICODE..extern(W
11dd0 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d  indows) export M
11de0 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 52 65 6e 61  MRESULT mmioRena
11df0 6d 65 41 28 4c 50 43 53 54 52 20 70 73 7a 46 69  meA(LPCSTR pszFi
11e00 6c 65 4e 61 6d 65 2c 20 4c 50 43 53 54 52 20 70  leName, LPCSTR p
11e10 73 7a 4e 65 77 46 69 6c 65 4e 61 6d 65 2c 20 4c  szNewFileName, L
11e20 50 43 4d 4d 49 4f 49 4e 46 4f 20 70 6d 6d 69 6f  PCMMIOINFO pmmio
11e30 69 6e 66 6f 2c 20 44 57 4f 52 44 20 66 64 77 52  info, DWORD fdwR
11e40 65 6e 61 6d 65 29 3b 0d 0a 65 78 74 65 72 6e 28  ename);..extern(
11e50 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
11e60 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 52 65 6e  MMRESULT mmioRen
11e70 61 6d 65 57 28 4c 50 43 57 53 54 52 20 70 73 7a  ameW(LPCWSTR psz
11e80 46 69 6c 65 4e 61 6d 65 2c 20 4c 50 43 57 53 54  FileName, LPCWST
11e90 52 20 70 73 7a 4e 65 77 46 69 6c 65 4e 61 6d 65  R pszNewFileName
11ea0 2c 20 4c 50 43 4d 4d 49 4f 49 4e 46 4f 20 70 6d  , LPCMMIOINFO pm
11eb0 6d 69 6f 69 6e 66 6f 2c 20 44 57 4f 52 44 20 66  mioinfo, DWORD f
11ec0 64 77 52 65 6e 61 6d 65 29 3b 0d 0a 2f 2f 20 23  dwRename);..// #
11ed0 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
11ee0 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
11ef0 0d 0a 61 6c 69 61 73 20 6d 6d 69 6f 52 65 6e 61  ..alias mmioRena
11f00 6d 65 41 20 6d 6d 69 6f 52 65 6e 61 6d 65 3b 0d  meA mmioRename;.
11f10 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
11f20 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 65 6c 73 65  NICODE..// #else
11f30 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66  ..// .....// #if
11f40 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33   (WINVER >= 0x03
11f50 30 61 29 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  0a)..// .....// 
11f60 23 65 6e 64 69 66 20 2f 2a 20 69 66 64 65 66 20  #endif /* ifdef 
11f70 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 33 30 61  WINVER >= 0x030a
11f80 20 2a 2f 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a   */..// #endif..
11f90 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
11fa0 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c  ) export MMRESUL
11fb0 54 20 6d 6d 69 6f 43 6c 6f 73 65 28 48 4d 4d 49  T mmioClose(HMMI
11fc0 4f 20 68 6d 6d 69 6f 2c 20 55 49 4e 54 20 66 75  O hmmio, UINT fu
11fd0 43 6c 6f 73 65 29 3b 0d 0a 65 78 74 65 72 6e 28  Close);..extern(
11fe0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
11ff0 4c 4f 4e 47 20 6d 6d 69 6f 52 65 61 64 28 48 4d  LONG mmioRead(HM
12000 4d 49 4f 20 68 6d 6d 69 6f 2c 20 48 50 53 54 52  MIO hmmio, HPSTR
12010 20 70 63 68 2c 20 4c 4f 4e 47 20 63 63 68 29 3b   pch, LONG cch);
12020 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
12030 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20 6d 6d  ) export LONG mm
12040 69 6f 57 72 69 74 65 28 48 4d 4d 49 4f 20 68 6d  ioWrite(HMMIO hm
12050 6d 69 6f 2c 20 63 68 61 72 20 2a 20 70 63 68 2c  mio, char * pch,
12060 20 4c 4f 4e 47 20 63 63 68 29 3b 0d 0a 65 78 74   LONG cch);..ext
12070 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12080 6f 72 74 20 4c 4f 4e 47 20 6d 6d 69 6f 53 65 65  ort LONG mmioSee
12090 6b 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20 4c  k(HMMIO hmmio, L
120a0 4f 4e 47 20 6c 4f 66 66 73 65 74 2c 20 69 6e 74  ONG lOffset, int
120b0 20 69 4f 72 69 67 69 6e 29 3b 0d 0a 65 78 74 65   iOrigin);..exte
120c0 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
120d0 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f  rt MMRESULT mmio
120e0 47 65 74 49 6e 66 6f 28 48 4d 4d 49 4f 20 68 6d  GetInfo(HMMIO hm
120f0 6d 69 6f 2c 20 4c 50 4d 4d 49 4f 49 4e 46 4f 20  mio, LPMMIOINFO 
12100 70 6d 6d 69 6f 69 6e 66 6f 2c 20 55 49 4e 54 20  pmmioinfo, UINT 
12110 66 75 49 6e 66 6f 29 3b 0d 0a 65 78 74 65 72 6e  fuInfo);..extern
12120 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
12130 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 53 65   MMRESULT mmioSe
12140 74 49 6e 66 6f 28 48 4d 4d 49 4f 20 68 6d 6d 69  tInfo(HMMIO hmmi
12150 6f 2c 20 4c 50 43 4d 4d 49 4f 49 4e 46 4f 20 70  o, LPCMMIOINFO p
12160 6d 6d 69 6f 69 6e 66 6f 2c 20 55 49 4e 54 20 66  mmioinfo, UINT f
12170 75 49 6e 66 6f 29 3b 0d 0a 65 78 74 65 72 6e 28  uInfo);..extern(
12180 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
12190 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 53 65 74  MMRESULT mmioSet
121a0 42 75 66 66 65 72 28 48 4d 4d 49 4f 20 68 6d 6d  Buffer(HMMIO hmm
121b0 69 6f 2c 20 4c 50 53 54 52 20 70 63 68 42 75 66  io, LPSTR pchBuf
121c0 66 65 72 2c 20 4c 4f 4e 47 20 63 63 68 42 75 66  fer, LONG cchBuf
121d0 66 65 72 2c 0d 0a 20 20 55 49 4e 54 20 66 75 42  fer,..  UINT fuB
121e0 75 66 66 65 72 29 3b 0d 0a 65 78 74 65 72 6e 28  uffer);..extern(
121f0 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
12200 4d 4d 52 45 53 55 4c 54 20 6d 6d 69 6f 46 6c 75  MMRESULT mmioFlu
12210 73 68 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20  sh(HMMIO hmmio, 
12220 55 49 4e 54 20 66 75 46 6c 75 73 68 29 3b 0d 0a  UINT fuFlush);..
12230 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
12240 65 78 70 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20  export MMRESULT 
12250 6d 6d 69 6f 41 64 76 61 6e 63 65 28 48 4d 4d 49  mmioAdvance(HMMI
12260 4f 20 68 6d 6d 69 6f 2c 20 4c 50 4d 4d 49 4f 49  O hmmio, LPMMIOI
12270 4e 46 4f 20 70 6d 6d 69 6f 69 6e 66 6f 2c 20 55  NFO pmmioinfo, U
12280 49 4e 54 20 66 75 41 64 76 61 6e 63 65 29 3b 0d  INT fuAdvance);.
12290 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
122a0 20 65 78 70 6f 72 74 20 4c 52 45 53 55 4c 54 20   export LRESULT 
122b0 6d 6d 69 6f 53 65 6e 64 4d 65 73 73 61 67 65 28  mmioSendMessage(
122c0 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20 55 49 4e  HMMIO hmmio, UIN
122d0 54 20 75 4d 73 67 2c 0d 0a 20 20 4c 50 41 52 41  T uMsg,..  LPARA
122e0 4d 20 6c 50 61 72 61 6d 31 2c 20 4c 50 41 52 41  M lParam1, LPARA
122f0 4d 20 6c 50 61 72 61 6d 32 29 3b 0d 0a 65 78 74  M lParam2);..ext
12300 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
12310 6f 72 74 20 4d 4d 52 45 53 55 4c 54 20 6d 6d 69  ort MMRESULT mmi
12320 6f 44 65 73 63 65 6e 64 28 48 4d 4d 49 4f 20 68  oDescend(HMMIO h
12330 6d 6d 69 6f 2c 20 4c 50 4d 4d 43 4b 49 4e 46 4f  mmio, LPMMCKINFO
12340 20 70 6d 6d 63 6b 69 2c 0d 0a 20 20 4d 4d 43 4b   pmmcki,..  MMCK
12350 49 4e 46 4f 20 2a 20 70 6d 6d 63 6b 69 50 61 72  INFO * pmmckiPar
12360 65 6e 74 2c 20 55 49 4e 54 20 66 75 44 65 73 63  ent, UINT fuDesc
12370 65 6e 64 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  end);..extern(Wi
12380 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 4d  ndows) export MM
12390 52 45 53 55 4c 54 20 6d 6d 69 6f 41 73 63 65 6e  RESULT mmioAscen
123a0 64 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20 4c  d(HMMIO hmmio, L
123b0 50 4d 4d 43 4b 49 4e 46 4f 20 70 6d 6d 63 6b 69  PMMCKINFO pmmcki
123c0 2c 20 55 49 4e 54 20 66 75 41 73 63 65 6e 64 29  , UINT fuAscend)
123d0 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
123e0 73 29 20 65 78 70 6f 72 74 20 4d 4d 52 45 53 55  s) export MMRESU
123f0 4c 54 20 6d 6d 69 6f 43 72 65 61 74 65 43 68 75  LT mmioCreateChu
12400 6e 6b 28 48 4d 4d 49 4f 20 68 6d 6d 69 6f 2c 20  nk(HMMIO hmmio, 
12410 4c 50 4d 4d 43 4b 49 4e 46 4f 20 70 6d 6d 63 6b  LPMMCKINFO pmmck
12420 69 2c 20 55 49 4e 54 20 66 75 43 72 65 61 74 65  i, UINT fuCreate
12430 29 3b 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  );....// #endif 
12440 20 2f 2a 20 69 66 6e 64 65 66 20 4d 4d 4e 4f 4d   /* ifndef MMNOM
12450 4d 49 4f 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66  MIO */....// #if
12460 6e 64 65 66 20 4d 4d 4e 4f 4d 43 49 0d 0a 0d 0a  ndef MMNOMCI....
12470 2f 2f 20 23 69 66 6e 64 65 66 20 5f 4d 43 49 45  // #ifndef _MCIE
12480 52 52 4f 52 5f 20 20 20 20 20 20 20 20 20 20 20  RROR_           
12490 20 20 20 2f 2a 20 4d 43 49 45 52 52 4f 52 20 69     /* MCIERROR i
124a0 73 20 64 65 66 69 6e 65 64 20 69 6e 20 73 6f 6d  s defined in som
124b0 65 20 70 6f 73 74 20 33 2e 31 20 61 70 70 73 20  e post 3.1 apps 
124c0 2a 2f 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f  */..// #define _
124d0 4d 43 49 45 52 52 4f 52 5f 0d 0a 61 6c 69 61 73  MCIERROR_..alias
124e0 20 44 57 4f 52 44 20 4d 43 49 45 52 52 4f 52 3b   DWORD MCIERROR;
124f0 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
12500 2f 20 23 69 66 6e 64 65 66 20 5f 4d 43 49 44 45  / #ifndef _MCIDE
12510 56 49 43 45 49 44 5f 20 20 20 20 20 20 20 20 20  VICEID_         
12520 20 20 2f 2a 20 53 61 6d 65 20 77 69 74 68 20 4d    /* Same with M
12530 43 49 44 45 56 49 43 45 49 44 20 2a 2f 0d 0a 2f  CIDEVICEID */../
12540 2f 20 23 64 65 66 69 6e 65 20 5f 4d 43 49 44 45  / #define _MCIDE
12550 56 49 43 45 49 44 5f 0d 0a 61 6c 69 61 73 20 55  VICEID_..alias U
12560 49 4e 54 20 4d 43 49 44 45 56 49 43 45 49 44 3b  INT MCIDEVICEID;
12570 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 65  ..// #endif....e
12580 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61  xtern(Windows) a
12590 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63 74 69  lias UINT functi
125a0 6f 6e 28 4d 43 49 44 45 56 49 43 45 49 44 20 6d  on(MCIDEVICEID m
125b0 63 69 49 64 2c 20 44 57 4f 52 44 20 64 77 59 69  ciId, DWORD dwYi
125c0 65 6c 64 44 61 74 61 29 20 59 49 45 4c 44 50 52  eldData) YIELDPR
125d0 4f 43 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  OC;....// #ifdef
125e0 20 5f 57 49 4e 33 32 0d 0a 0d 0a 65 78 74 65 72   _WIN32....exter
125f0 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
12600 74 20 4d 43 49 45 52 52 4f 52 20 6d 63 69 53 65  t MCIERROR mciSe
12610 6e 64 43 6f 6d 6d 61 6e 64 41 28 4d 43 49 44 45  ndCommandA(MCIDE
12620 56 49 43 45 49 44 20 6d 63 69 49 64 2c 20 55 49  VICEID mciId, UI
12630 4e 54 20 75 4d 73 67 2c 20 44 57 4f 52 44 5f 50  NT uMsg, DWORD_P
12640 54 52 20 64 77 50 61 72 61 6d 31 2c 20 44 57 4f  TR dwParam1, DWO
12650 52 44 5f 50 54 52 20 64 77 50 61 72 61 6d 32 29  RD_PTR dwParam2)
12660 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
12670 73 29 20 65 78 70 6f 72 74 20 4d 43 49 45 52 52  s) export MCIERR
12680 4f 52 20 6d 63 69 53 65 6e 64 43 6f 6d 6d 61 6e  OR mciSendComman
12690 64 57 28 4d 43 49 44 45 56 49 43 45 49 44 20 6d  dW(MCIDEVICEID m
126a0 63 69 49 64 2c 20 55 49 4e 54 20 75 4d 73 67 2c  ciId, UINT uMsg,
126b0 20 44 57 4f 52 44 5f 50 54 52 20 64 77 50 61 72   DWORD_PTR dwPar
126c0 61 6d 31 2c 20 44 57 4f 52 44 5f 50 54 52 20 64  am1, DWORD_PTR d
126d0 77 50 61 72 61 6d 32 29 3b 0d 0a 2f 2f 20 23 69  wParam2);..// #i
126e0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
126f0 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
12700 0a 61 6c 69 61 73 20 6d 63 69 53 65 6e 64 43 6f  .alias mciSendCo
12710 6d 6d 61 6e 64 41 20 6d 63 69 53 65 6e 64 43 6f  mmandA mciSendCo
12720 6d 6d 61 6e 64 3b 0d 0a 2f 2f 20 23 65 6e 64 69  mmand;..// #endi
12730 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65  f // !UNICODE..e
12740 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
12750 78 70 6f 72 74 20 4d 43 49 45 52 52 4f 52 20 6d  xport MCIERROR m
12760 63 69 53 65 6e 64 53 74 72 69 6e 67 41 28 4c 50  ciSendStringA(LP
12770 43 53 54 52 20 6c 70 73 74 72 43 6f 6d 6d 61 6e  CSTR lpstrComman
12780 64 2c 20 4c 50 53 54 52 20 6c 70 73 74 72 52 65  d, LPSTR lpstrRe
12790 74 75 72 6e 53 74 72 69 6e 67 2c 20 55 49 4e 54  turnString, UINT
127a0 20 75 52 65 74 75 72 6e 4c 65 6e 67 74 68 2c 20   uReturnLength, 
127b0 48 57 4e 44 20 68 77 6e 64 43 61 6c 6c 62 61 63  HWND hwndCallbac
127c0 6b 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  k);..extern(Wind
127d0 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 43 49 45  ows) export MCIE
127e0 52 52 4f 52 20 6d 63 69 53 65 6e 64 53 74 72 69  RROR mciSendStri
127f0 6e 67 57 28 4c 50 43 57 53 54 52 20 6c 70 73 74  ngW(LPCWSTR lpst
12800 72 43 6f 6d 6d 61 6e 64 2c 20 4c 50 57 53 54 52  rCommand, LPWSTR
12810 20 6c 70 73 74 72 52 65 74 75 72 6e 53 74 72 69   lpstrReturnStri
12820 6e 67 2c 20 55 49 4e 54 20 75 52 65 74 75 72 6e  ng, UINT uReturn
12830 4c 65 6e 67 74 68 2c 20 48 57 4e 44 20 68 77 6e  Length, HWND hwn
12840 64 43 61 6c 6c 62 61 63 6b 29 3b 0d 0a 2f 2f 20  dCallback);..// 
12850 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
12860 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
12870 65 0d 0a 61 6c 69 61 73 20 6d 63 69 53 65 6e 64  e..alias mciSend
12880 53 74 72 69 6e 67 41 20 6d 63 69 53 65 6e 64 53  StringA mciSendS
12890 74 72 69 6e 67 3b 0d 0a 2f 2f 20 23 65 6e 64 69  tring;..// #endi
128a0 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65  f // !UNICODE..e
128b0 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
128c0 78 70 6f 72 74 20 4d 43 49 44 45 56 49 43 45 49  xport MCIDEVICEI
128d0 44 20 6d 63 69 47 65 74 44 65 76 69 63 65 49 44  D mciGetDeviceID
128e0 41 28 4c 50 43 53 54 52 20 70 73 7a 44 65 76 69  A(LPCSTR pszDevi
128f0 63 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ce);..extern(Win
12900 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4d 43 49  dows) export MCI
12910 44 45 56 49 43 45 49 44 20 6d 63 69 47 65 74 44  DEVICEID mciGetD
12920 65 76 69 63 65 49 44 57 28 4c 50 43 57 53 54 52  eviceIDW(LPCWSTR
12930 20 70 73 7a 44 65 76 69 63 65 29 3b 0d 0a 2f 2f   pszDevice);..//
12940 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
12950 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
12960 73 65 0d 0a 61 6c 69 61 73 20 6d 63 69 47 65 74  se..alias mciGet
12970 44 65 76 69 63 65 49 44 41 20 6d 63 69 47 65 74  DeviceIDA mciGet
12980 44 65 76 69 63 65 49 44 3b 0d 0a 2f 2f 20 23 65  DeviceID;..// #e
12990 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
129a0 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
129b0 29 20 65 78 70 6f 72 74 20 4d 43 49 44 45 56 49  ) export MCIDEVI
129c0 43 45 49 44 20 6d 63 69 47 65 74 44 65 76 69 63  CEID mciGetDevic
129d0 65 49 44 46 72 6f 6d 45 6c 65 6d 65 6e 74 49 44  eIDFromElementID
129e0 41 28 44 57 4f 52 44 20 64 77 45 6c 65 6d 65 6e  A(DWORD dwElemen
129f0 74 49 44 2c 20 4c 50 43 53 54 52 20 6c 70 73 74  tID, LPCSTR lpst
12a00 72 54 79 70 65 20 29 3b 0d 0a 65 78 74 65 72 6e  rType );..extern
12a10 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
12a20 20 4d 43 49 44 45 56 49 43 45 49 44 20 6d 63 69   MCIDEVICEID mci
12a30 47 65 74 44 65 76 69 63 65 49 44 46 72 6f 6d 45  GetDeviceIDFromE
12a40 6c 65 6d 65 6e 74 49 44 57 28 44 57 4f 52 44 20  lementIDW(DWORD 
12a50 64 77 45 6c 65 6d 65 6e 74 49 44 2c 20 4c 50 43  dwElementID, LPC
12a60 57 53 54 52 20 6c 70 73 74 72 54 79 70 65 20 29  WSTR lpstrType )
12a70 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
12a80 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
12a90 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6d  / #else..alias m
12aa0 63 69 47 65 74 44 65 76 69 63 65 49 44 46 72 6f  ciGetDeviceIDFro
12ab0 6d 45 6c 65 6d 65 6e 74 49 44 41 20 6d 63 69 47  mElementIDA mciG
12ac0 65 74 44 65 76 69 63 65 49 44 46 72 6f 6d 45 6c  etDeviceIDFromEl
12ad0 65 6d 65 6e 74 49 44 3b 0d 0a 2f 2f 20 23 65 6e  ementID;..// #en
12ae0 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
12af0 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
12b00 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 6d 63 69   export BOOL mci
12b10 47 65 74 45 72 72 6f 72 53 74 72 69 6e 67 41 28  GetErrorStringA(
12b20 4d 43 49 45 52 52 4f 52 20 6d 63 69 65 72 72 2c  MCIERROR mcierr,
12b30 20 4c 50 53 54 52 20 70 73 7a 54 65 78 74 2c 20   LPSTR pszText, 
12b40 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a  UINT cchText);..
12b50 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
12b60 65 78 70 6f 72 74 20 42 4f 4f 4c 20 6d 63 69 47  export BOOL mciG
12b70 65 74 45 72 72 6f 72 53 74 72 69 6e 67 57 28 4d  etErrorStringW(M
12b80 43 49 45 52 52 4f 52 20 6d 63 69 65 72 72 2c 20  CIERROR mcierr, 
12b90 4c 50 57 53 54 52 20 70 73 7a 54 65 78 74 2c 20  LPWSTR pszText, 
12ba0 55 49 4e 54 20 63 63 68 54 65 78 74 29 3b 0d 0a  UINT cchText);..
12bb0 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
12bc0 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
12bd0 65 6c 73 65 0d 0a 61 6c 69 61 73 20 6d 63 69 47  else..alias mciG
12be0 65 74 45 72 72 6f 72 53 74 72 69 6e 67 41 20 6d  etErrorStringA m
12bf0 63 69 47 65 74 45 72 72 6f 72 53 74 72 69 6e 67  ciGetErrorString
12c00 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
12c10 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23  !UNICODE....// #
12c20 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
12c30 20 23 65 6e 64 69 66 0d 0a 0d 0a 65 78 74 65 72   #endif....exter
12c40 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
12c50 74 20 42 4f 4f 4c 20 6d 63 69 53 65 74 59 69 65  t BOOL mciSetYie
12c60 6c 64 50 72 6f 63 28 4d 43 49 44 45 56 49 43 45  ldProc(MCIDEVICE
12c70 49 44 20 6d 63 69 49 64 2c 20 59 49 45 4c 44 50  ID mciId, YIELDP
12c80 52 4f 43 20 66 70 59 69 65 6c 64 50 72 6f 63 2c  ROC fpYieldProc,
12c90 0d 0a 20 20 44 57 4f 52 44 20 64 77 59 69 65 6c  ..  DWORD dwYiel
12ca0 64 44 61 74 61 29 3b 0d 0a 0d 0a 2f 2f 20 23 69  dData);....// #i
12cb0 66 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30  f (WINVER >= 0x0
12cc0 33 30 61 29 0d 0a 65 78 74 65 72 6e 28 57 69 6e  30a)..extern(Win
12cd0 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 54 41  dows) export HTA
12ce0 53 4b 20 6d 63 69 47 65 74 43 72 65 61 74 6f 72  SK mciGetCreator
12cf0 54 61 73 6b 28 4d 43 49 44 45 56 49 43 45 49 44  Task(MCIDEVICEID
12d00 20 6d 63 69 49 64 29 3b 0d 0a 65 78 74 65 72 6e   mciId);..extern
12d10 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
12d20 20 59 49 45 4c 44 50 52 4f 43 20 6d 63 69 47 65   YIELDPROC mciGe
12d30 74 59 69 65 6c 64 50 72 6f 63 28 4d 43 49 44 45  tYieldProc(MCIDE
12d40 56 49 43 45 49 44 20 6d 63 69 49 64 2c 20 4c 50  VICEID mciId, LP
12d50 44 57 4f 52 44 20 70 64 77 59 69 65 6c 64 44 61  DWORD pdwYieldDa
12d60 74 61 29 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  ta);..// #endif 
12d70 2f 2a 20 69 66 64 65 66 20 57 49 4e 56 45 52 20  /* ifdef WINVER 
12d80 3e 3d 20 30 78 30 33 30 61 20 2a 2f 0d 0a 0d 0a  >= 0x030a */....
12d90 2f 2f 20 23 69 66 20 28 57 49 4e 56 45 52 20 3c  // #if (WINVER <
12da0 20 30 78 30 33 30 61 29 0d 0a 2f 2f 20 2e 2e 2e   0x030a)..// ...
12db0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 69  ..// #endif /* i
12dc0 66 64 65 66 20 57 49 4e 56 45 52 20 3c 20 30 78  fdef WINVER < 0x
12dd0 30 33 30 61 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20  030a */....enum 
12de0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
12df0 49 4e 56 41 4c 49 44 5f 44 45 56 49 43 45 5f 49  INVALID_DEVICE_I
12e00 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  D = MCIERR_BASE 
12e10 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  + 1 }..enum : ui
12e20 6e 74 20 7b 20 4d 43 49 45 52 52 5f 55 4e 52 45  nt { MCIERR_UNRE
12e30 43 4f 47 4e 49 5a 45 44 5f 4b 45 59 57 4f 52 44  COGNIZED_KEYWORD
12e40 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
12e50 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   3 }..enum : uin
12e60 74 20 7b 20 4d 43 49 45 52 52 5f 55 4e 52 45 43  t { MCIERR_UNREC
12e70 4f 47 4e 49 5a 45 44 5f 43 4f 4d 4d 41 4e 44 20  OGNIZED_COMMAND 
12e80 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
12e90 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
12ea0 20 7b 20 4d 43 49 45 52 52 5f 48 41 52 44 57 41   { MCIERR_HARDWA
12eb0 52 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  RE = MCIERR_BASE
12ec0 20 2b 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   + 6 }..enum : u
12ed0 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 49 4e 56  int { MCIERR_INV
12ee0 41 4c 49 44 5f 44 45 56 49 43 45 5f 4e 41 4d 45  ALID_DEVICE_NAME
12ef0 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
12f00 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   7 }..enum : uin
12f10 74 20 7b 20 4d 43 49 45 52 52 5f 4f 55 54 5f 4f  t { MCIERR_OUT_O
12f20 46 5f 4d 45 4d 4f 52 59 20 3d 20 4d 43 49 45 52  F_MEMORY = MCIER
12f30 52 5f 42 41 53 45 20 2b 20 38 20 7d 0d 0a 65 6e  R_BASE + 8 }..en
12f40 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
12f50 52 52 5f 44 45 56 49 43 45 5f 4f 50 45 4e 20 3d  RR_DEVICE_OPEN =
12f60 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 39   MCIERR_BASE + 9
12f70 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
12f80 7b 20 4d 43 49 45 52 52 5f 43 41 4e 4e 4f 54 5f  { MCIERR_CANNOT_
12f90 4c 4f 41 44 5f 44 52 49 56 45 52 20 3d 20 4d 43  LOAD_DRIVER = MC
12fa0 49 45 52 52 5f 42 41 53 45 20 2b 20 31 30 20 7d  IERR_BASE + 10 }
12fb0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
12fc0 4d 43 49 45 52 52 5f 4d 49 53 53 49 4e 47 5f 43  MCIERR_MISSING_C
12fd0 4f 4d 4d 41 4e 44 5f 53 54 52 49 4e 47 20 3d 20  OMMAND_STRING = 
12fe0 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 31 31  MCIERR_BASE + 11
12ff0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13000 7b 20 4d 43 49 45 52 52 5f 50 41 52 41 4d 5f 4f  { MCIERR_PARAM_O
13010 56 45 52 46 4c 4f 57 20 3d 20 4d 43 49 45 52 52  VERFLOW = MCIERR
13020 5f 42 41 53 45 20 2b 20 31 32 20 7d 0d 0a 65 6e  _BASE + 12 }..en
13030 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13040 52 52 5f 4d 49 53 53 49 4e 47 5f 53 54 52 49 4e  RR_MISSING_STRIN
13050 47 5f 41 52 47 55 4d 45 4e 54 20 3d 20 4d 43 49  G_ARGUMENT = MCI
13060 45 52 52 5f 42 41 53 45 20 2b 20 31 33 20 7d 0d  ERR_BASE + 13 }.
13070 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
13080 43 49 45 52 52 5f 42 41 44 5f 49 4e 54 45 47 45  CIERR_BAD_INTEGE
13090 52 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  R = MCIERR_BASE 
130a0 2b 20 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 14 }..enum : u
130b0 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 50 41 52  int { MCIERR_PAR
130c0 53 45 52 5f 49 4e 54 45 52 4e 41 4c 20 3d 20 4d  SER_INTERNAL = M
130d0 43 49 45 52 52 5f 42 41 53 45 20 2b 20 31 35 20  CIERR_BASE + 15 
130e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
130f0 20 4d 43 49 45 52 52 5f 44 52 49 56 45 52 5f 49   MCIERR_DRIVER_I
13100 4e 54 45 52 4e 41 4c 20 3d 20 4d 43 49 45 52 52  NTERNAL = MCIERR
13110 5f 42 41 53 45 20 2b 20 31 36 20 7d 0d 0a 65 6e  _BASE + 16 }..en
13120 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13130 52 52 5f 4d 49 53 53 49 4e 47 5f 50 41 52 41 4d  RR_MISSING_PARAM
13140 45 54 45 52 20 3d 20 4d 43 49 45 52 52 5f 42 41  ETER = MCIERR_BA
13150 53 45 20 2b 20 31 37 20 7d 0d 0a 65 6e 75 6d 20  SE + 17 }..enum 
13160 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
13170 55 4e 53 55 50 50 4f 52 54 45 44 5f 46 55 4e 43  UNSUPPORTED_FUNC
13180 54 49 4f 4e 20 3d 20 4d 43 49 45 52 52 5f 42 41  TION = MCIERR_BA
13190 53 45 20 2b 20 31 38 20 7d 0d 0a 65 6e 75 6d 20  SE + 18 }..enum 
131a0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
131b0 46 49 4c 45 5f 4e 4f 54 5f 46 4f 55 4e 44 20 3d  FILE_NOT_FOUND =
131c0 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 31   MCIERR_BASE + 1
131d0 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  9 }..enum : uint
131e0 20 7b 20 4d 43 49 45 52 52 5f 44 45 56 49 43 45   { MCIERR_DEVICE
131f0 5f 4e 4f 54 5f 52 45 41 44 59 20 3d 20 4d 43 49  _NOT_READY = MCI
13200 45 52 52 5f 42 41 53 45 20 2b 20 32 30 20 7d 0d  ERR_BASE + 20 }.
13210 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
13220 43 49 45 52 52 5f 49 4e 54 45 52 4e 41 4c 20 3d  CIERR_INTERNAL =
13230 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 32   MCIERR_BASE + 2
13240 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
13250 20 7b 20 4d 43 49 45 52 52 5f 44 52 49 56 45 52   { MCIERR_DRIVER
13260 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13270 20 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   22 }..enum : ui
13280 6e 74 20 7b 20 4d 43 49 45 52 52 5f 43 41 4e 4e  nt { MCIERR_CANN
13290 4f 54 5f 55 53 45 5f 41 4c 4c 20 3d 20 4d 43 49  OT_USE_ALL = MCI
132a0 45 52 52 5f 42 41 53 45 20 2b 20 32 33 20 7d 0d  ERR_BASE + 23 }.
132b0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
132c0 43 49 45 52 52 5f 4d 55 4c 54 49 50 4c 45 20 3d  CIERR_MULTIPLE =
132d0 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 32   MCIERR_BASE + 2
132e0 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
132f0 20 7b 20 4d 43 49 45 52 52 5f 45 58 54 45 4e 53   { MCIERR_EXTENS
13300 49 4f 4e 5f 4e 4f 54 5f 46 4f 55 4e 44 20 3d 20  ION_NOT_FOUND = 
13310 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 32 35  MCIERR_BASE + 25
13320 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13330 7b 20 4d 43 49 45 52 52 5f 4f 55 54 4f 46 52 41  { MCIERR_OUTOFRA
13340 4e 47 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  NGE = MCIERR_BAS
13350 45 20 2b 20 32 36 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 26 }..enum :
13360 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 46   uint { MCIERR_F
13370 4c 41 47 53 5f 4e 4f 54 5f 43 4f 4d 50 41 54 49  LAGS_NOT_COMPATI
13380 42 4c 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  BLE = MCIERR_BAS
13390 45 20 2b 20 32 38 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 28 }..enum :
133a0 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 46   uint { MCIERR_F
133b0 49 4c 45 5f 4e 4f 54 5f 53 41 56 45 44 20 3d 20  ILE_NOT_SAVED = 
133c0 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 33 30  MCIERR_BASE + 30
133d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
133e0 7b 20 4d 43 49 45 52 52 5f 44 45 56 49 43 45 5f  { MCIERR_DEVICE_
133f0 54 59 50 45 5f 52 45 51 55 49 52 45 44 20 3d 20  TYPE_REQUIRED = 
13400 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 33 31  MCIERR_BASE + 31
13410 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
13420 7b 20 4d 43 49 45 52 52 5f 44 45 56 49 43 45 5f  { MCIERR_DEVICE_
13430 4c 4f 43 4b 45 44 20 3d 20 4d 43 49 45 52 52 5f  LOCKED = MCIERR_
13440 42 41 53 45 20 2b 20 33 32 20 7d 0d 0a 65 6e 75  BASE + 32 }..enu
13450 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
13460 52 5f 44 55 50 4c 49 43 41 54 45 5f 41 4c 49 41  R_DUPLICATE_ALIA
13470 53 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  S = MCIERR_BASE 
13480 2b 20 33 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 33 }..enum : u
13490 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 42 41 44  int { MCIERR_BAD
134a0 5f 43 4f 4e 53 54 41 4e 54 20 3d 20 4d 43 49 45  _CONSTANT = MCIE
134b0 52 52 5f 42 41 53 45 20 2b 20 33 34 20 7d 0d 0a  RR_BASE + 34 }..
134c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
134d0 49 45 52 52 5f 4d 55 53 54 5f 55 53 45 5f 53 48  IERR_MUST_USE_SH
134e0 41 52 45 41 42 4c 45 20 3d 20 4d 43 49 45 52 52  AREABLE = MCIERR
134f0 5f 42 41 53 45 20 2b 20 33 35 20 7d 0d 0a 65 6e  _BASE + 35 }..en
13500 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13510 52 52 5f 4d 49 53 53 49 4e 47 5f 44 45 56 49 43  RR_MISSING_DEVIC
13520 45 5f 4e 41 4d 45 20 3d 20 4d 43 49 45 52 52 5f  E_NAME = MCIERR_
13530 42 41 53 45 20 2b 20 33 36 20 7d 0d 0a 65 6e 75  BASE + 36 }..enu
13540 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
13550 52 5f 42 41 44 5f 54 49 4d 45 5f 46 4f 52 4d 41  R_BAD_TIME_FORMA
13560 54 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20  T = MCIERR_BASE 
13570 2b 20 33 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  + 37 }..enum : u
13580 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 4e 4f 5f  int { MCIERR_NO_
13590 43 4c 4f 53 49 4e 47 5f 51 55 4f 54 45 20 3d 20  CLOSING_QUOTE = 
135a0 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 33 38  MCIERR_BASE + 38
135b0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
135c0 7b 20 4d 43 49 45 52 52 5f 44 55 50 4c 49 43 41  { MCIERR_DUPLICA
135d0 54 45 5f 46 4c 41 47 53 20 3d 20 4d 43 49 45 52  TE_FLAGS = MCIER
135e0 52 5f 42 41 53 45 20 2b 20 33 39 20 7d 0d 0a 65  R_BASE + 39 }..e
135f0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
13600 45 52 52 5f 49 4e 56 41 4c 49 44 5f 46 49 4c 45  ERR_INVALID_FILE
13610 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13620 20 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   40 }..enum : ui
13630 6e 74 20 7b 20 4d 43 49 45 52 52 5f 4e 55 4c 4c  nt { MCIERR_NULL
13640 5f 50 41 52 41 4d 45 54 45 52 5f 42 4c 4f 43 4b  _PARAMETER_BLOCK
13650 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13660 20 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   41 }..enum : ui
13670 6e 74 20 7b 20 4d 43 49 45 52 52 5f 55 4e 4e 41  nt { MCIERR_UNNA
13680 4d 45 44 5f 52 45 53 4f 55 52 43 45 20 3d 20 4d  MED_RESOURCE = M
13690 43 49 45 52 52 5f 42 41 53 45 20 2b 20 34 32 20  CIERR_BASE + 42 
136a0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
136b0 20 4d 43 49 45 52 52 5f 4e 45 57 5f 52 45 51 55   MCIERR_NEW_REQU
136c0 49 52 45 53 5f 41 4c 49 41 53 20 3d 20 4d 43 49  IRES_ALIAS = MCI
136d0 45 52 52 5f 42 41 53 45 20 2b 20 34 33 20 7d 0d  ERR_BASE + 43 }.
136e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
136f0 43 49 45 52 52 5f 4e 4f 54 49 46 59 5f 4f 4e 5f  CIERR_NOTIFY_ON_
13700 41 55 54 4f 5f 4f 50 45 4e 20 3d 20 4d 43 49 45  AUTO_OPEN = MCIE
13710 52 52 5f 42 41 53 45 20 2b 20 34 34 20 7d 0d 0a  RR_BASE + 44 }..
13720 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13730 49 45 52 52 5f 4e 4f 5f 45 4c 45 4d 45 4e 54 5f  IERR_NO_ELEMENT_
13740 41 4c 4c 4f 57 45 44 20 3d 20 4d 43 49 45 52 52  ALLOWED = MCIERR
13750 5f 42 41 53 45 20 2b 20 34 35 20 7d 0d 0a 65 6e  _BASE + 45 }..en
13760 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13770 52 52 5f 4e 4f 4e 41 50 50 4c 49 43 41 42 4c 45  RR_NONAPPLICABLE
13780 5f 46 55 4e 43 54 49 4f 4e 20 3d 20 4d 43 49 45  _FUNCTION = MCIE
13790 52 52 5f 42 41 53 45 20 2b 20 34 36 20 7d 0d 0a  RR_BASE + 46 }..
137a0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
137b0 49 45 52 52 5f 49 4c 4c 45 47 41 4c 5f 46 4f 52  IERR_ILLEGAL_FOR
137c0 5f 41 55 54 4f 5f 4f 50 45 4e 20 3d 20 4d 43 49  _AUTO_OPEN = MCI
137d0 45 52 52 5f 42 41 53 45 20 2b 20 34 37 20 7d 0d  ERR_BASE + 47 }.
137e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
137f0 43 49 45 52 52 5f 46 49 4c 45 4e 41 4d 45 5f 52  CIERR_FILENAME_R
13800 45 51 55 49 52 45 44 20 3d 20 4d 43 49 45 52 52  EQUIRED = MCIERR
13810 5f 42 41 53 45 20 2b 20 34 38 20 7d 0d 0a 65 6e  _BASE + 48 }..en
13820 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13830 52 52 5f 45 58 54 52 41 5f 43 48 41 52 41 43 54  RR_EXTRA_CHARACT
13840 45 52 53 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  ERS = MCIERR_BAS
13850 45 20 2b 20 34 39 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 49 }..enum :
13860 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 44   uint { MCIERR_D
13870 45 56 49 43 45 5f 4e 4f 54 5f 49 4e 53 54 41 4c  EVICE_NOT_INSTAL
13880 4c 45 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  LED = MCIERR_BAS
13890 45 20 2b 20 35 30 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 50 }..enum :
138a0 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 47   uint { MCIERR_G
138b0 45 54 5f 43 44 20 3d 20 4d 43 49 45 52 52 5f 42  ET_CD = MCIERR_B
138c0 41 53 45 20 2b 20 35 31 20 7d 0d 0a 65 6e 75 6d  ASE + 51 }..enum
138d0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
138e0 5f 53 45 54 5f 43 44 20 3d 20 4d 43 49 45 52 52  _SET_CD = MCIERR
138f0 5f 42 41 53 45 20 2b 20 35 32 20 7d 0d 0a 65 6e  _BASE + 52 }..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 44 52 49 56 45 20 3d 20 4d  RR_SET_DRIVE = M
13920 43 49 45 52 52 5f 42 41 53 45 20 2b 20 35 33 20  CIERR_BASE + 53 
13930 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13940 20 4d 43 49 45 52 52 5f 44 45 56 49 43 45 5f 4c   MCIERR_DEVICE_L
13950 45 4e 47 54 48 20 3d 20 4d 43 49 45 52 52 5f 42  ENGTH = MCIERR_B
13960 41 53 45 20 2b 20 35 34 20 7d 0d 0a 65 6e 75 6d  ASE + 54 }..enum
13970 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
13980 5f 44 45 56 49 43 45 5f 4f 52 44 5f 4c 45 4e 47  _DEVICE_ORD_LENG
13990 54 48 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  TH = MCIERR_BASE
139a0 20 2b 20 35 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 55 }..enum : 
139b0 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 4e 4f  uint { MCIERR_NO
139c0 5f 49 4e 54 45 47 45 52 20 3d 20 4d 43 49 45 52  _INTEGER = MCIER
139d0 52 5f 42 41 53 45 20 2b 20 35 36 20 7d 0d 0a 0d  R_BASE + 56 }...
139e0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
139f0 43 49 45 52 52 5f 57 41 56 45 5f 4f 55 54 50 55  CIERR_WAVE_OUTPU
13a00 54 53 49 4e 55 53 45 20 3d 20 4d 43 49 45 52 52  TSINUSE = MCIERR
13a10 5f 42 41 53 45 20 2b 20 36 34 20 7d 0d 0a 65 6e  _BASE + 64 }..en
13a20 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13a30 52 52 5f 57 41 56 45 5f 53 45 54 4f 55 54 50 55  RR_WAVE_SETOUTPU
13a40 54 49 4e 55 53 45 20 3d 20 4d 43 49 45 52 52 5f  TINUSE = MCIERR_
13a50 42 41 53 45 20 2b 20 36 35 20 7d 0d 0a 65 6e 75  BASE + 65 }..enu
13a60 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52  m : uint { MCIER
13a70 52 5f 57 41 56 45 5f 49 4e 50 55 54 53 49 4e 55  R_WAVE_INPUTSINU
13a80 53 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  SE = MCIERR_BASE
13a90 20 2b 20 36 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 66 }..enum : 
13aa0 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 57 41  uint { MCIERR_WA
13ab0 56 45 5f 53 45 54 49 4e 50 55 54 49 4e 55 53 45  VE_SETINPUTINUSE
13ac0 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b   = MCIERR_BASE +
13ad0 20 36 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   67 }..enum : ui
13ae0 6e 74 20 7b 20 4d 43 49 45 52 52 5f 57 41 56 45  nt { MCIERR_WAVE
13af0 5f 4f 55 54 50 55 54 55 4e 53 50 45 43 49 46 49  _OUTPUTUNSPECIFI
13b00 45 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  ED = MCIERR_BASE
13b10 20 2b 20 36 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20   + 68 }..enum : 
13b20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 57 41  uint { MCIERR_WA
13b30 56 45 5f 49 4e 50 55 54 55 4e 53 50 45 43 49 46  VE_INPUTUNSPECIF
13b40 49 45 44 20 3d 20 4d 43 49 45 52 52 5f 42 41 53  IED = MCIERR_BAS
13b50 45 20 2b 20 36 39 20 7d 0d 0a 65 6e 75 6d 20 3a  E + 69 }..enum :
13b60 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f 57   uint { MCIERR_W
13b70 41 56 45 5f 4f 55 54 50 55 54 53 55 4e 53 55 49  AVE_OUTPUTSUNSUI
13b80 54 41 42 4c 45 20 3d 20 4d 43 49 45 52 52 5f 42  TABLE = MCIERR_B
13b90 41 53 45 20 2b 20 37 30 20 7d 0d 0a 65 6e 75 6d  ASE + 70 }..enum
13ba0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52   : uint { MCIERR
13bb0 5f 57 41 56 45 5f 53 45 54 4f 55 54 50 55 54 55  _WAVE_SETOUTPUTU
13bc0 4e 53 55 49 54 41 42 4c 45 20 3d 20 4d 43 49 45  NSUITABLE = MCIE
13bd0 52 52 5f 42 41 53 45 20 2b 20 37 31 20 7d 0d 0a  RR_BASE + 71 }..
13be0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13bf0 49 45 52 52 5f 57 41 56 45 5f 49 4e 50 55 54 53  IERR_WAVE_INPUTS
13c00 55 4e 53 55 49 54 41 42 4c 45 20 3d 20 4d 43 49  UNSUITABLE = MCI
13c10 45 52 52 5f 42 41 53 45 20 2b 20 37 32 20 7d 0d  ERR_BASE + 72 }.
13c20 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
13c30 43 49 45 52 52 5f 57 41 56 45 5f 53 45 54 49 4e  CIERR_WAVE_SETIN
13c40 50 55 54 55 4e 53 55 49 54 41 42 4c 45 20 3d 20  PUTUNSUITABLE = 
13c50 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20 37 33  MCIERR_BASE + 73
13c60 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
13c70 74 20 7b 20 4d 43 49 45 52 52 5f 53 45 51 5f 44  t { MCIERR_SEQ_D
13c80 49 56 5f 49 4e 43 4f 4d 50 41 54 49 42 4c 45 20  IV_INCOMPATIBLE 
13c90 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13ca0 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  80 }..enum : uin
13cb0 74 20 7b 20 4d 43 49 45 52 52 5f 53 45 51 5f 50  t { MCIERR_SEQ_P
13cc0 4f 52 54 5f 49 4e 55 53 45 20 3d 20 4d 43 49 45  ORT_INUSE = MCIE
13cd0 52 52 5f 42 41 53 45 20 2b 20 38 31 20 7d 0d 0a  RR_BASE + 81 }..
13ce0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13cf0 49 45 52 52 5f 53 45 51 5f 50 4f 52 54 5f 4e 4f  IERR_SEQ_PORT_NO
13d00 4e 45 58 49 53 54 45 4e 54 20 3d 20 4d 43 49 45  NEXISTENT = MCIE
13d10 52 52 5f 42 41 53 45 20 2b 20 38 32 20 7d 0d 0a  RR_BASE + 82 }..
13d20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13d30 49 45 52 52 5f 53 45 51 5f 50 4f 52 54 5f 4d 41  IERR_SEQ_PORT_MA
13d40 50 4e 4f 44 45 56 49 43 45 20 3d 20 4d 43 49 45  PNODEVICE = MCIE
13d50 52 52 5f 42 41 53 45 20 2b 20 38 33 20 7d 0d 0a  RR_BASE + 83 }..
13d60 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
13d70 49 45 52 52 5f 53 45 51 5f 50 4f 52 54 5f 4d 49  IERR_SEQ_PORT_MI
13d80 53 43 45 52 52 4f 52 20 3d 20 4d 43 49 45 52 52  SCERROR = MCIERR
13d90 5f 42 41 53 45 20 2b 20 38 34 20 7d 0d 0a 65 6e  _BASE + 84 }..en
13da0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13db0 52 52 5f 53 45 51 5f 54 49 4d 45 52 20 3d 20 4d  RR_SEQ_TIMER = M
13dc0 43 49 45 52 52 5f 42 41 53 45 20 2b 20 38 35 20  CIERR_BASE + 85 
13dd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13de0 20 4d 43 49 45 52 52 5f 53 45 51 5f 50 4f 52 54   MCIERR_SEQ_PORT
13df0 55 4e 53 50 45 43 49 46 49 45 44 20 3d 20 4d 43  UNSPECIFIED = MC
13e00 49 45 52 52 5f 42 41 53 45 20 2b 20 38 36 20 7d  IERR_BASE + 86 }
13e10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
13e20 4d 43 49 45 52 52 5f 53 45 51 5f 4e 4f 4d 49 44  MCIERR_SEQ_NOMID
13e30 49 50 52 45 53 45 4e 54 20 3d 20 4d 43 49 45 52  IPRESENT = MCIER
13e40 52 5f 42 41 53 45 20 2b 20 38 37 20 7d 0d 0a 0d  R_BASE + 87 }...
13e50 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
13e60 43 49 45 52 52 5f 4e 4f 5f 57 49 4e 44 4f 57 20  CIERR_NO_WINDOW 
13e70 3d 20 4d 43 49 45 52 52 5f 42 41 53 45 20 2b 20  = MCIERR_BASE + 
13e80 39 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  90 }..enum : uin
13e90 74 20 7b 20 4d 43 49 45 52 52 5f 43 52 45 41 54  t { MCIERR_CREAT
13ea0 45 57 49 4e 44 4f 57 20 3d 20 4d 43 49 45 52 52  EWINDOW = MCIERR
13eb0 5f 42 41 53 45 20 2b 20 39 31 20 7d 0d 0a 65 6e  _BASE + 91 }..en
13ec0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45  um : uint { MCIE
13ed0 52 52 5f 46 49 4c 45 5f 52 45 41 44 20 3d 20 4d  RR_FILE_READ = M
13ee0 43 49 45 52 52 5f 42 41 53 45 20 2b 20 39 32 20  CIERR_BASE + 92 
13ef0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
13f00 20 4d 43 49 45 52 52 5f 46 49 4c 45 5f 57 52 49   MCIERR_FILE_WRI
13f10 54 45 20 3d 20 4d 43 49 45 52 52 5f 42 41 53 45  TE = MCIERR_BASE
13f20 20 2b 20 39 33 20 7d 0d 0a 0d 0a 65 6e 75 6d 20   + 93 }....enum 
13f30 3a 20 75 69 6e 74 20 7b 20 4d 43 49 45 52 52 5f  : uint { MCIERR_
13f40 4e 4f 5f 49 44 45 4e 54 49 54 59 20 3d 20 4d 43  NO_IDENTITY = MC
13f50 49 45 52 52 5f 42 41 53 45 20 2b 20 39 34 20 7d  IERR_BASE + 94 }
13f60 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
13f70 7b 20 4d 43 49 45 52 52 5f 43 55 53 54 4f 4d 5f  { MCIERR_CUSTOM_
13f80 44 52 49 56 45 52 5f 42 41 53 45 20 3d 20 4d 43  DRIVER_BASE = MC
13f90 49 45 52 52 5f 42 41 53 45 20 2b 20 32 35 36 20  IERR_BASE + 256 
13fa0 7d 0d 0a 0d 0a 61 6c 69 61 73 20 44 52 56 5f 4d  }....alias DRV_M
13fb0 43 49 5f 46 49 52 53 54 20 4d 43 49 5f 46 49 52  CI_FIRST MCI_FIR
13fc0 53 54 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ST;....enum : ui
13fd0 6e 74 20 7b 20 4d 43 49 5f 4f 50 45 4e 20 3d 20  nt { MCI_OPEN = 
13fe0 30 78 30 38 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0803 }..enum :
13ff0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43 4c 4f 53   uint { MCI_CLOS
14000 45 20 3d 20 30 78 30 38 30 34 20 7d 0d 0a 65 6e  E = 0x0804 }..en
14010 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14020 45 53 43 41 50 45 20 3d 20 30 78 30 38 30 35 20  ESCAPE = 0x0805 
14030 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14040 20 4d 43 49 5f 50 4c 41 59 20 3d 20 30 78 30 38   MCI_PLAY = 0x08
14050 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  06 }..enum : uin
14060 74 20 7b 20 4d 43 49 5f 53 45 45 4b 20 3d 20 30  t { MCI_SEEK = 0
14070 78 30 38 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0807 }..enum : 
14080 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54 4f 50 20  uint { MCI_STOP 
14090 3d 20 30 78 30 38 30 38 20 7d 0d 0a 65 6e 75 6d  = 0x0808 }..enum
140a0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 50 41   : uint { MCI_PA
140b0 55 53 45 20 3d 20 30 78 30 38 30 39 20 7d 0d 0a  USE = 0x0809 }..
140c0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
140d0 49 5f 49 4e 46 4f 20 3d 20 30 78 30 38 30 41 20  I_INFO = 0x080A 
140e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
140f0 20 4d 43 49 5f 47 45 54 44 45 56 43 41 50 53 20   MCI_GETDEVCAPS 
14100 3d 20 30 78 30 38 30 42 20 7d 0d 0a 65 6e 75 6d  = 0x080B }..enum
14110 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 50   : uint { MCI_SP
14120 49 4e 20 3d 20 30 78 30 38 30 43 20 7d 0d 0a 65  IN = 0x080C }..e
14130 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
14140 5f 53 45 54 20 3d 20 30 78 30 38 30 44 20 7d 0d  _SET = 0x080D }.
14150 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14160 43 49 5f 53 54 45 50 20 3d 20 30 78 30 38 30 45  CI_STEP = 0x080E
14170 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14180 7b 20 4d 43 49 5f 52 45 43 4f 52 44 20 3d 20 30  { MCI_RECORD = 0
14190 78 30 38 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x080F }..enum : 
141a0 75 69 6e 74 20 7b 20 4d 43 49 5f 53 59 53 49 4e  uint { MCI_SYSIN
141b0 46 4f 20 3d 20 30 78 30 38 31 30 20 7d 0d 0a 65  FO = 0x0810 }..e
141c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
141d0 5f 42 52 45 41 4b 20 3d 20 30 78 30 38 31 31 20  _BREAK = 0x0811 
141e0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
141f0 20 4d 43 49 5f 53 41 56 45 20 3d 20 30 78 30 38   MCI_SAVE = 0x08
14200 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
14210 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 20 3d  t { MCI_STATUS =
14220 20 30 78 30 38 31 34 20 7d 0d 0a 65 6e 75 6d 20   0x0814 }..enum 
14230 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43 55 45  : uint { MCI_CUE
14240 20 3d 20 30 78 30 38 33 30 20 7d 0d 0a 65 6e 75   = 0x0830 }..enu
14250 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 52  m : uint { MCI_R
14260 45 41 4c 49 5a 45 20 3d 20 30 78 30 38 34 30 20  EALIZE = 0x0840 
14270 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14280 20 4d 43 49 5f 57 49 4e 44 4f 57 20 3d 20 30 78   MCI_WINDOW = 0x
14290 30 38 34 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0841 }..enum : u
142a0 69 6e 74 20 7b 20 4d 43 49 5f 50 55 54 20 3d 20  int { MCI_PUT = 
142b0 30 78 30 38 34 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0842 }..enum :
142c0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 48 45 52   uint { MCI_WHER
142d0 45 20 3d 20 30 78 30 38 34 33 20 7d 0d 0a 65 6e  E = 0x0843 }..en
142e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
142f0 46 52 45 45 5a 45 20 3d 20 30 78 30 38 34 34 20  FREEZE = 0x0844 
14300 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14310 20 4d 43 49 5f 55 4e 46 52 45 45 5a 45 20 3d 20   MCI_UNFREEZE = 
14320 30 78 30 38 34 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0845 }..enum :
14330 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4c 4f 41 44   uint { MCI_LOAD
14340 20 3d 20 30 78 30 38 35 30 20 7d 0d 0a 65 6e 75   = 0x0850 }..enu
14350 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43  m : uint { MCI_C
14360 55 54 20 3d 20 30 78 30 38 35 31 20 7d 0d 0a 65  UT = 0x0851 }..e
14370 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
14380 5f 43 4f 50 59 20 3d 20 30 78 30 38 35 32 20 7d  _COPY = 0x0852 }
14390 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
143a0 4d 43 49 5f 50 41 53 54 45 20 3d 20 30 78 30 38  MCI_PASTE = 0x08
143b0 35 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  53 }..enum : uin
143c0 74 20 7b 20 4d 43 49 5f 55 50 44 41 54 45 20 3d  t { MCI_UPDATE =
143d0 20 30 78 30 38 35 34 20 7d 0d 0a 65 6e 75 6d 20   0x0854 }..enum 
143e0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 52 45 53  : uint { MCI_RES
143f0 55 4d 45 20 3d 20 30 78 30 38 35 35 20 7d 0d 0a  UME = 0x0855 }..
14400 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
14410 49 5f 44 45 4c 45 54 45 20 3d 20 30 78 30 38 35  I_DELETE = 0x085
14420 36 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  6 }....enum : ui
14430 6e 74 20 7b 20 4d 43 49 5f 55 53 45 52 5f 4d 45  nt { MCI_USER_ME
14440 53 53 41 47 45 53 20 3d 20 44 52 56 5f 4d 43 49  SSAGES = DRV_MCI
14450 5f 46 49 52 53 54 20 2b 20 30 78 34 30 30 20 7d  _FIRST + 0x400 }
14460 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14470 4d 43 49 5f 4c 41 53 54 20 3d 20 30 78 30 46 46  MCI_LAST = 0x0FF
14480 46 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  F }....enum : ui
14490 6e 74 20 7b 20 4d 43 49 5f 41 4c 4c 5f 44 45 56  nt { MCI_ALL_DEV
144a0 49 43 45 5f 49 44 20 3d 20 63 61 73 74 28 4d 43  ICE_ID = cast(MC
144b0 49 44 45 56 49 43 45 49 44 29 2d 31 20 7d 0d 0a  IDEVICEID)-1 }..
144c0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
144d0 4d 43 49 5f 44 45 56 54 59 50 45 5f 56 43 52 20  MCI_DEVTYPE_VCR 
144e0 3d 20 35 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 513 }..enum : 
144f0 75 69 6e 74 20 7b 20 4d 43 49 5f 44 45 56 54 59  uint { MCI_DEVTY
14500 50 45 5f 56 49 44 45 4f 44 49 53 43 20 3d 20 35  PE_VIDEODISC = 5
14510 31 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  14 }..enum : uin
14520 74 20 7b 20 4d 43 49 5f 44 45 56 54 59 50 45 5f  t { MCI_DEVTYPE_
14530 4f 56 45 52 4c 41 59 20 3d 20 35 31 35 20 7d 0d  OVERLAY = 515 }.
14540 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14550 43 49 5f 44 45 56 54 59 50 45 5f 43 44 5f 41 55  CI_DEVTYPE_CD_AU
14560 44 49 4f 20 3d 20 35 31 36 20 7d 0d 0a 65 6e 75  DIO = 516 }..enu
14570 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 44  m : uint { MCI_D
14580 45 56 54 59 50 45 5f 44 41 54 20 3d 20 35 31 37  EVTYPE_DAT = 517
14590 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
145a0 7b 20 4d 43 49 5f 44 45 56 54 59 50 45 5f 53 43  { MCI_DEVTYPE_SC
145b0 41 4e 4e 45 52 20 3d 20 35 31 38 20 7d 0d 0a 65  ANNER = 518 }..e
145c0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
145d0 5f 44 45 56 54 59 50 45 5f 41 4e 49 4d 41 54 49  _DEVTYPE_ANIMATI
145e0 4f 4e 20 3d 20 35 31 39 20 7d 0d 0a 65 6e 75 6d  ON = 519 }..enum
145f0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 44 45   : uint { MCI_DE
14600 56 54 59 50 45 5f 44 49 47 49 54 41 4c 5f 56 49  VTYPE_DIGITAL_VI
14610 44 45 4f 20 3d 20 35 32 30 20 7d 0d 0a 65 6e 75  DEO = 520 }..enu
14620 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 44  m : uint { MCI_D
14630 45 56 54 59 50 45 5f 4f 54 48 45 52 20 3d 20 35  EVTYPE_OTHER = 5
14640 32 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  21 }..enum : uin
14650 74 20 7b 20 4d 43 49 5f 44 45 56 54 59 50 45 5f  t { MCI_DEVTYPE_
14660 57 41 56 45 46 4f 52 4d 5f 41 55 44 49 4f 20 3d  WAVEFORM_AUDIO =
14670 20 35 32 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   522 }..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 53 45 51 55 45 4e 43 45 52 20 3d 20 35 32  E_SEQUENCER = 52
146a0 33 20 7d 0d 0a 0d 0a 61 6c 69 61 73 20 4d 43 49  3 }....alias MCI
146b0 5f 44 45 56 54 59 50 45 5f 56 43 52 20 4d 43 49  _DEVTYPE_VCR MCI
146c0 5f 44 45 56 54 59 50 45 5f 46 49 52 53 54 3b 0d  _DEVTYPE_FIRST;.
146d0 0a 61 6c 69 61 73 20 4d 43 49 5f 44 45 56 54 59  .alias MCI_DEVTY
146e0 50 45 5f 53 45 51 55 45 4e 43 45 52 20 4d 43 49  PE_SEQUENCER MCI
146f0 5f 44 45 56 54 59 50 45 5f 4c 41 53 54 3b 0d 0a  _DEVTYPE_LAST;..
14700 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14710 4d 43 49 5f 44 45 56 54 59 50 45 5f 46 49 52 53  MCI_DEVTYPE_FIRS
14720 54 5f 55 53 45 52 20 3d 20 30 78 31 30 30 30 20  T_USER = 0x1000 
14730 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
14740 20 7b 20 4d 43 49 5f 4d 4f 44 45 5f 4e 4f 54 5f   { MCI_MODE_NOT_
14750 52 45 41 44 59 20 3d 20 4d 43 49 5f 53 54 52 49  READY = MCI_STRI
14760 4e 47 5f 4f 46 46 53 45 54 20 2b 20 31 32 20 7d  NG_OFFSET + 12 }
14770 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
14780 4d 43 49 5f 4d 4f 44 45 5f 53 54 4f 50 20 3d 20  MCI_MODE_STOP = 
14790 4d 43 49 5f 53 54 52 49 4e 47 5f 4f 46 46 53 45  MCI_STRING_OFFSE
147a0 54 20 2b 20 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a  T + 13 }..enum :
147b0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4d 4f 44 45   uint { MCI_MODE
147c0 5f 50 4c 41 59 20 3d 20 4d 43 49 5f 53 54 52 49  _PLAY = MCI_STRI
147d0 4e 47 5f 4f 46 46 53 45 54 20 2b 20 31 34 20 7d  NG_OFFSET + 14 }
147e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
147f0 4d 43 49 5f 4d 4f 44 45 5f 52 45 43 4f 52 44 20  MCI_MODE_RECORD 
14800 3d 20 4d 43 49 5f 53 54 52 49 4e 47 5f 4f 46 46  = MCI_STRING_OFF
14810 53 45 54 20 2b 20 31 35 20 7d 0d 0a 65 6e 75 6d  SET + 15 }..enum
14820 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4d 4f   : uint { MCI_MO
14830 44 45 5f 53 45 45 4b 20 3d 20 4d 43 49 5f 53 54  DE_SEEK = MCI_ST
14840 52 49 4e 47 5f 4f 46 46 53 45 54 20 2b 20 31 36  RING_OFFSET + 16
14850 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14860 7b 20 4d 43 49 5f 4d 4f 44 45 5f 50 41 55 53 45  { MCI_MODE_PAUSE
14870 20 3d 20 4d 43 49 5f 53 54 52 49 4e 47 5f 4f 46   = MCI_STRING_OF
14880 46 53 45 54 20 2b 20 31 37 20 7d 0d 0a 65 6e 75  FSET + 17 }..enu
14890 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4d  m : uint { MCI_M
148a0 4f 44 45 5f 4f 50 45 4e 20 3d 20 4d 43 49 5f 53  ODE_OPEN = MCI_S
148b0 54 52 49 4e 47 5f 4f 46 46 53 45 54 20 2b 20 31  TRING_OFFSET + 1
148c0 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  8 }....enum : ui
148d0 6e 74 20 7b 20 4d 43 49 5f 46 4f 52 4d 41 54 5f  nt { MCI_FORMAT_
148e0 4d 49 4c 4c 49 53 45 43 4f 4e 44 53 20 3d 20 30  MILLISECONDS = 0
148f0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
14900 7b 20 4d 43 49 5f 46 4f 52 4d 41 54 5f 48 4d 53  { MCI_FORMAT_HMS
14910 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 1 }..enum : u
14920 69 6e 74 20 7b 20 4d 43 49 5f 46 4f 52 4d 41 54  int { MCI_FORMAT
14930 5f 4d 53 46 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d  _MSF = 2 }..enum
14940 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f   : uint { MCI_FO
14950 52 4d 41 54 5f 46 52 41 4d 45 53 20 3d 20 33 20  RMAT_FRAMES = 3 
14960 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
14970 20 4d 43 49 5f 46 4f 52 4d 41 54 5f 53 4d 50 54   MCI_FORMAT_SMPT
14980 45 5f 32 34 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d  E_24 = 4 }..enum
14990 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f   : uint { MCI_FO
149a0 52 4d 41 54 5f 53 4d 50 54 45 5f 32 35 20 3d 20  RMAT_SMPTE_25 = 
149b0 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  5 }..enum : uint
149c0 20 7b 20 4d 43 49 5f 46 4f 52 4d 41 54 5f 53 4d   { MCI_FORMAT_SM
149d0 50 54 45 5f 33 30 20 3d 20 36 20 7d 0d 0a 65 6e  PTE_30 = 6 }..en
149e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
149f0 46 4f 52 4d 41 54 5f 53 4d 50 54 45 5f 33 30 44  FORMAT_SMPTE_30D
14a00 52 4f 50 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20  ROP = 7 }..enum 
14a10 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f 52  : uint { MCI_FOR
14a20 4d 41 54 5f 42 59 54 45 53 20 3d 20 38 20 7d 0d  MAT_BYTES = 8 }.
14a30 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14a40 43 49 5f 46 4f 52 4d 41 54 5f 53 41 4d 50 4c 45  CI_FORMAT_SAMPLE
14a50 53 20 3d 20 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20  S = 9 }..enum : 
14a60 75 69 6e 74 20 7b 20 4d 43 49 5f 46 4f 52 4d 41  uint { MCI_FORMA
14a70 54 5f 54 4d 53 46 20 3d 20 31 30 20 7d 0d 0a 0d  T_TMSF = 10 }...
14a80 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f  .// #define MCI_
14a90 4d 53 46 5f 4d 49 4e 55 54 45 28 6d 73 66 29 20  MSF_MINUTE(msf) 
14aa0 28 28 42 59 54 45 29 28 6d 73 66 29 29 0d 0a 2f  ((BYTE)(msf))../
14ab0 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f 4d 53  / #define MCI_MS
14ac0 46 5f 53 45 43 4f 4e 44 28 6d 73 66 29 20 28 28  F_SECOND(msf) ((
14ad0 42 59 54 45 29 28 28 28 57 4f 52 44 29 28 6d 73  BYTE)(((WORD)(ms
14ae0 66 29 29 20 3e 3e 20 38 29 29 0d 0a 2f 2f 20 23  f)) >> 8))..// #
14af0 64 65 66 69 6e 65 20 4d 43 49 5f 4d 53 46 5f 46  define MCI_MSF_F
14b00 52 41 4d 45 28 6d 73 66 29 20 28 28 42 59 54 45  RAME(msf) ((BYTE
14b10 29 28 28 6d 73 66 29 3e 3e 31 36 29 29 0d 0a 0d  )((msf)>>16))...
14b20 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f  .// #define MCI_
14b30 4d 41 4b 45 5f 4d 53 46 28 6d 2c 20 73 2c 20 66  MAKE_MSF(m, s, f
14b40 29 20 28 28 44 57 4f 52 44 29 28 28 28 42 59 54  ) ((DWORD)(((BYT
14b50 45 29 28 6d 29 20 7c 20 28 28 57 4f 52 44 29 28  E)(m) | ((WORD)(
14b60 73 29 3c 3c 38 29 29 20 7c 20 28 28 28 44 57 4f  s)<<8)) | (((DWO
14b70 52 44 29 28 42 59 54 45 29 28 66 29 29 3c 3c 31  RD)(BYTE)(f))<<1
14b80 36 29 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69  6)))....// #defi
14b90 6e 65 20 4d 43 49 5f 54 4d 53 46 5f 54 52 41 43  ne MCI_TMSF_TRAC
14ba0 4b 28 74 6d 73 66 29 20 28 28 42 59 54 45 29 28  K(tmsf) ((BYTE)(
14bb0 74 6d 73 66 29 29 0d 0a 2f 2f 20 23 64 65 66 69  tmsf))..// #defi
14bc0 6e 65 20 4d 43 49 5f 54 4d 53 46 5f 4d 49 4e 55  ne MCI_TMSF_MINU
14bd0 54 45 28 74 6d 73 66 29 20 28 28 42 59 54 45 29  TE(tmsf) ((BYTE)
14be0 28 28 28 57 4f 52 44 29 28 74 6d 73 66 29 29 20  (((WORD)(tmsf)) 
14bf0 3e 3e 20 38 29 29 0d 0a 2f 2f 20 23 64 65 66 69  >> 8))..// #defi
14c00 6e 65 20 4d 43 49 5f 54 4d 53 46 5f 53 45 43 4f  ne MCI_TMSF_SECO
14c10 4e 44 28 74 6d 73 66 29 20 28 28 42 59 54 45 29  ND(tmsf) ((BYTE)
14c20 28 28 74 6d 73 66 29 3e 3e 31 36 29 29 0d 0a 2f  ((tmsf)>>16))../
14c30 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f 54 4d  / #define MCI_TM
14c40 53 46 5f 46 52 41 4d 45 28 74 6d 73 66 29 20 28  SF_FRAME(tmsf) (
14c50 28 42 59 54 45 29 28 28 74 6d 73 66 29 3e 3e 32  (BYTE)((tmsf)>>2
14c60 34 29 29 0d 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e  4))....// #defin
14c70 65 20 4d 43 49 5f 4d 41 4b 45 5f 54 4d 53 46 28  e MCI_MAKE_TMSF(
14c80 74 2c 20 6d 2c 20 73 2c 20 66 29 20 28 28 44 57  t, m, s, f) ((DW
14c90 4f 52 44 29 28 28 28 42 59 54 45 29 28 74 29 20  ORD)(((BYTE)(t) 
14ca0 7c 20 28 28 57 4f 52 44 29 28 6d 29 3c 3c 38 29  | ((WORD)(m)<<8)
14cb0 29 20 7c 20 28 28 28 44 57 4f 52 44 29 28 42 59  ) | (((DWORD)(BY
14cc0 54 45 29 28 73 29 20 7c 20 28 28 57 4f 52 44 29  TE)(s) | ((WORD)
14cd0 28 66 29 3c 3c 38 29 29 3c 3c 31 36 29 29 29 0d  (f)<<8))<<16))).
14ce0 0a 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43  ...// #define MC
14cf0 49 5f 48 4d 53 5f 48 4f 55 52 28 68 6d 73 29 20  I_HMS_HOUR(hms) 
14d00 28 28 42 59 54 45 29 28 68 6d 73 29 29 0d 0a 2f  ((BYTE)(hms))../
14d10 2f 20 23 64 65 66 69 6e 65 20 4d 43 49 5f 48 4d  / #define MCI_HM
14d20 53 5f 4d 49 4e 55 54 45 28 68 6d 73 29 20 28 28  S_MINUTE(hms) ((
14d30 42 59 54 45 29 28 28 28 57 4f 52 44 29 28 68 6d  BYTE)(((WORD)(hm
14d40 73 29 29 20 3e 3e 20 38 29 29 0d 0a 2f 2f 20 23  s)) >> 8))..// #
14d50 64 65 66 69 6e 65 20 4d 43 49 5f 48 4d 53 5f 53  define MCI_HMS_S
14d60 45 43 4f 4e 44 28 68 6d 73 29 20 28 28 42 59 54  ECOND(hms) ((BYT
14d70 45 29 28 28 68 6d 73 29 3e 3e 31 36 29 29 0d 0a  E)((hms)>>16))..
14d80 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 4d 43 49  ..// #define MCI
14d90 5f 4d 41 4b 45 5f 48 4d 53 28 68 2c 20 6d 2c 20  _MAKE_HMS(h, m, 
14da0 73 29 20 28 28 44 57 4f 52 44 29 28 28 28 42 59  s) ((DWORD)(((BY
14db0 54 45 29 28 68 29 20 7c 20 28 28 57 4f 52 44 29  TE)(h) | ((WORD)
14dc0 28 6d 29 3c 3c 38 29 29 20 7c 20 28 28 28 44 57  (m)<<8)) | (((DW
14dd0 4f 52 44 29 28 42 59 54 45 29 28 73 29 29 3c 3c  ORD)(BYTE)(s))<<
14de0 31 36 29 29 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  16)))....enum : 
14df0 75 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54 49 46  uint { MCI_NOTIF
14e00 59 5f 53 55 43 43 45 53 53 46 55 4c 20 3d 20 30  Y_SUCCESSFUL = 0
14e10 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0001 }..enum : 
14e20 75 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54 49 46  uint { MCI_NOTIF
14e30 59 5f 53 55 50 45 52 53 45 44 45 44 20 3d 20 30  Y_SUPERSEDED = 0
14e40 78 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0002 }..enum : 
14e50 75 69 6e 74 20 7b 20 4d 43 49 5f 4e 4f 54 49 46  uint { MCI_NOTIF
14e60 59 5f 41 42 4f 52 54 45 44 20 3d 20 30 78 30 30  Y_ABORTED = 0x00
14e70 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
14e80 74 20 7b 20 4d 43 49 5f 4e 4f 54 49 46 59 5f 46  t { MCI_NOTIFY_F
14e90 41 49 4c 55 52 45 20 3d 20 30 78 30 30 30 38 20  AILURE = 0x0008 
14ea0 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
14eb0 20 7b 20 4d 43 49 5f 4e 4f 54 49 46 59 20 3d 20   { MCI_NOTIFY = 
14ec0 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
14ed0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
14ee0 57 41 49 54 20 3d 20 30 78 30 30 30 30 30 30 30  WAIT = 0x0000000
14ef0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
14f00 20 7b 20 4d 43 49 5f 46 52 4f 4d 20 3d 20 30 78   { MCI_FROM = 0x
14f10 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d  00000004 }..enum
14f20 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 54 4f   : uint { MCI_TO
14f30 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
14f40 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
14f50 43 49 5f 54 52 41 43 4b 20 3d 20 30 78 30 30 30  CI_TRACK = 0x000
14f60 30 30 30 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00010 }....enum 
14f70 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45  : uint { MCI_OPE
14f80 4e 5f 53 48 41 52 45 41 42 4c 45 20 3d 20 30 78  N_SHAREABLE = 0x
14f90 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d  00000100 }..enum
14fa0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50   : uint { MCI_OP
14fb0 45 4e 5f 45 4c 45 4d 45 4e 54 20 3d 20 30 78 30  EN_ELEMENT = 0x0
14fc0 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000200 }..enum 
14fd0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45  : uint { MCI_OPE
14fe0 4e 5f 41 4c 49 41 53 20 3d 20 30 78 30 30 30 30  N_ALIAS = 0x0000
14ff0 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0400 }..enum : u
15000 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45 4e 5f 45  int { MCI_OPEN_E
15010 4c 45 4d 45 4e 54 5f 49 44 20 3d 20 30 78 30 30  LEMENT_ID = 0x00
15020 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000800 }..enum :
15030 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45 4e   uint { MCI_OPEN
15040 5f 54 59 50 45 5f 49 44 20 3d 20 30 78 30 30 30  _TYPE_ID = 0x000
15050 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  01000 }..enum : 
15060 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 50 45 4e 5f  uint { MCI_OPEN_
15070 54 59 50 45 20 3d 20 30 78 30 30 30 30 32 30 30  TYPE = 0x0000200
15080 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
15090 6e 74 20 7b 20 4d 43 49 5f 53 45 45 4b 5f 54 4f  nt { MCI_SEEK_TO
150a0 5f 53 54 41 52 54 20 3d 20 30 78 30 30 30 30 30  _START = 0x00000
150b0 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
150c0 6e 74 20 7b 20 4d 43 49 5f 53 45 45 4b 5f 54 4f  nt { MCI_SEEK_TO
150d0 5f 45 4e 44 20 3d 20 30 78 30 30 30 30 30 32 30  _END = 0x0000020
150e0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
150f0 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f  nt { MCI_STATUS_
15100 49 54 45 4d 20 3d 20 30 78 30 30 30 30 30 31 30  ITEM = 0x0000010
15110 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
15120 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f 53 54   { MCI_STATUS_ST
15130 41 52 54 20 3d 20 30 78 30 30 30 30 30 32 30 30  ART = 0x00000200
15140 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
15150 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f 4c  t { MCI_STATUS_L
15160 45 4e 47 54 48 20 3d 20 30 78 30 30 30 30 30 30  ENGTH = 0x000000
15170 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
15180 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f 50  t { MCI_STATUS_P
15190 4f 53 49 54 49 4f 4e 20 3d 20 30 78 30 30 30 30  OSITION = 0x0000
151a0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
151b0 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53  int { MCI_STATUS
151c0 5f 4e 55 4d 42 45 52 5f 4f 46 5f 54 52 41 43 4b  _NUMBER_OF_TRACK
151d0 53 20 3d 20 30 78 30 30 30 30 30 30 30 33 20 7d  S = 0x00000003 }
151e0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
151f0 4d 43 49 5f 53 54 41 54 55 53 5f 4d 4f 44 45 20  MCI_STATUS_MODE 
15200 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
15210 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
15220 49 5f 53 54 41 54 55 53 5f 4d 45 44 49 41 5f 50  I_STATUS_MEDIA_P
15230 52 45 53 45 4e 54 20 3d 20 30 78 30 30 30 30 30  RESENT = 0x00000
15240 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  005 }..enum : ui
15250 6e 74 20 7b 20 4d 43 49 5f 53 54 41 54 55 53 5f  nt { MCI_STATUS_
15260 54 49 4d 45 5f 46 4f 52 4d 41 54 20 3d 20 30 78  TIME_FORMAT = 0x
15270 30 30 30 30 30 30 30 36 20 7d 0d 0a 65 6e 75 6d  00000006 }..enum
15280 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54   : uint { MCI_ST
15290 41 54 55 53 5f 52 45 41 44 59 20 3d 20 30 78 30  ATUS_READY = 0x0
152a0 30 30 30 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20  0000007 }..enum 
152b0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 54 41  : uint { MCI_STA
152c0 54 55 53 5f 43 55 52 52 45 4e 54 5f 54 52 41 43  TUS_CURRENT_TRAC
152d0 4b 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d  K = 0x00000008 }
152e0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
152f0 7b 20 4d 43 49 5f 49 4e 46 4f 5f 50 52 4f 44 55  { MCI_INFO_PRODU
15300 43 54 20 3d 20 30 78 30 30 30 30 30 31 30 30 20  CT = 0x00000100 
15310 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
15320 20 4d 43 49 5f 49 4e 46 4f 5f 46 49 4c 45 20 3d   MCI_INFO_FILE =
15330 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65   0x00000200 }..e
15340 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
15350 5f 49 4e 46 4f 5f 4d 45 44 49 41 5f 55 50 43 20  _INFO_MEDIA_UPC 
15360 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a  = 0x00000400 }..
15370 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
15380 49 5f 49 4e 46 4f 5f 4d 45 44 49 41 5f 49 44 45  I_INFO_MEDIA_IDE
15390 4e 54 49 54 59 20 3d 20 30 78 30 30 30 30 30 38  NTITY = 0x000008
153a0 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
153b0 74 20 7b 20 4d 43 49 5f 49 4e 46 4f 5f 4e 41 4d  t { MCI_INFO_NAM
153c0 45 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d  E = 0x00001000 }
153d0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
153e0 4d 43 49 5f 49 4e 46 4f 5f 43 4f 50 59 52 49 47  MCI_INFO_COPYRIG
153f0 48 54 20 3d 20 30 78 30 30 30 30 32 30 30 30 20  HT = 0x00002000 
15400 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
15410 20 7b 20 4d 43 49 5f 47 45 54 44 45 56 43 41 50   { MCI_GETDEVCAP
15420 53 5f 49 54 45 4d 20 3d 20 30 78 30 30 30 30 30  S_ITEM = 0x00000
15430 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  100 }....enum : 
15440 75 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44 45  uint { MCI_GETDE
15450 56 43 41 50 53 5f 43 41 4e 5f 52 45 43 4f 52 44  VCAPS_CAN_RECORD
15460 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
15470 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
15480 43 49 5f 47 45 54 44 45 56 43 41 50 53 5f 48 41  CI_GETDEVCAPS_HA
15490 53 5f 41 55 44 49 4f 20 3d 20 30 78 30 30 30 30  S_AUDIO = 0x0000
154a0 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0002 }..enum : u
154b0 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44 45 56  int { MCI_GETDEV
154c0 43 41 50 53 5f 48 41 53 5f 56 49 44 45 4f 20 3d  CAPS_HAS_VIDEO =
154d0 20 30 78 30 30 30 30 30 30 30 33 20 7d 0d 0a 65   0x00000003 }..e
154e0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
154f0 5f 47 45 54 44 45 56 43 41 50 53 5f 44 45 56 49  _GETDEVCAPS_DEVI
15500 43 45 5f 54 59 50 45 20 3d 20 30 78 30 30 30 30  CE_TYPE = 0x0000
15510 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
15520 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44 45 56  int { MCI_GETDEV
15530 43 41 50 53 5f 55 53 45 53 5f 46 49 4c 45 53 20  CAPS_USES_FILES 
15540 3d 20 30 78 30 30 30 30 30 30 30 35 20 7d 0d 0a  = 0x00000005 }..
15550 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
15560 49 5f 47 45 54 44 45 56 43 41 50 53 5f 43 4f 4d  I_GETDEVCAPS_COM
15570 50 4f 55 4e 44 5f 44 45 56 49 43 45 20 3d 20 30  POUND_DEVICE = 0
15580 78 30 30 30 30 30 30 30 36 20 7d 0d 0a 65 6e 75  x00000006 }..enu
15590 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 47  m : uint { MCI_G
155a0 45 54 44 45 56 43 41 50 53 5f 43 41 4e 5f 45 4a  ETDEVCAPS_CAN_EJ
155b0 45 43 54 20 3d 20 30 78 30 30 30 30 30 30 30 37  ECT = 0x00000007
155c0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
155d0 7b 20 4d 43 49 5f 47 45 54 44 45 56 43 41 50 53  { MCI_GETDEVCAPS
155e0 5f 43 41 4e 5f 50 4c 41 59 20 3d 20 30 78 30 30  _CAN_PLAY = 0x00
155f0 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  000008 }..enum :
15600 20 75 69 6e 74 20 7b 20 4d 43 49 5f 47 45 54 44   uint { MCI_GETD
15610 45 56 43 41 50 53 5f 43 41 4e 5f 53 41 56 45 20  EVCAPS_CAN_SAVE 
15620 3d 20 30 78 30 30 30 30 30 30 30 39 20 7d 0d 0a  = 0x00000009 }..
15630 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
15640 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 51 55 41 4e  MCI_SYSINFO_QUAN
15650 54 49 54 59 20 3d 20 30 78 30 30 30 30 30 31 30  TITY = 0x0000010
15660 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
15670 20 7b 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 4f   { MCI_SYSINFO_O
15680 50 45 4e 20 3d 20 30 78 30 30 30 30 30 32 30 30  PEN = 0x00000200
15690 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
156a0 7b 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 4e 41  { MCI_SYSINFO_NA
156b0 4d 45 20 3d 20 30 78 30 30 30 30 30 34 30 30 20  ME = 0x00000400 
156c0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
156d0 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 49 4e 53   MCI_SYSINFO_INS
156e0 54 41 4c 4c 4e 41 4d 45 20 3d 20 30 78 30 30 30  TALLNAME = 0x000
156f0 30 30 38 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00800 }....enum 
15700 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 54  : uint { MCI_SET
15710 5f 44 4f 4f 52 5f 4f 50 45 4e 20 3d 20 30 78 30  _DOOR_OPEN = 0x0
15720 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
15730 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 54  : uint { MCI_SET
15740 5f 44 4f 4f 52 5f 43 4c 4f 53 45 44 20 3d 20 30  _DOOR_CLOSED = 0
15750 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75  x00000200 }..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 54 49 4d 45 5f 46 4f 52 4d 41 54 20 3d  ET_TIME_FORMAT =
15780 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 65   0x00000400 }..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 41 55 44 49 4f 20 3d 20 30 78 30  _SET_AUDIO = 0x0
157b0 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000800 }..enum 
157c0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 54  : uint { MCI_SET
157d0 5f 56 49 44 45 4f 20 3d 20 30 78 30 30 30 30 31  _VIDEO = 0x00001
157e0 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
157f0 6e 74 20 7b 20 4d 43 49 5f 53 45 54 5f 4f 4e 20  nt { MCI_SET_ON 
15800 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d 0a  = 0x00002000 }..
15810 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
15820 49 5f 53 45 54 5f 4f 46 46 20 3d 20 30 78 30 30  I_SET_OFF = 0x00
15830 30 30 34 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  004000 }....enum
15840 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45   : uint { MCI_SE
15850 54 5f 41 55 44 49 4f 5f 41 4c 4c 20 3d 20 30 78  T_AUDIO_ALL = 0x
15860 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00000000 }..enum
15870 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45   : uint { MCI_SE
15880 54 5f 41 55 44 49 4f 5f 4c 45 46 54 20 3d 20 30  T_AUDIO_LEFT = 0
15890 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75  x00000001 }..enu
158a0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
158b0 45 54 5f 41 55 44 49 4f 5f 52 49 47 48 54 20 3d  ET_AUDIO_RIGHT =
158c0 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d   0x00000002 }...
158d0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
158e0 43 49 5f 42 52 45 41 4b 5f 4b 45 59 20 3d 20 30  CI_BREAK_KEY = 0
158f0 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75  x00000100 }..enu
15900 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 42  m : uint { MCI_B
15910 52 45 41 4b 5f 48 57 4e 44 20 3d 20 30 78 30 30  REAK_HWND = 0x00
15920 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000200 }..enum :
15930 20 75 69 6e 74 20 7b 20 4d 43 49 5f 42 52 45 41   uint { MCI_BREA
15940 4b 5f 4f 46 46 20 3d 20 30 78 30 30 30 30 30 34  K_OFF = 0x000004
15950 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
15960 69 6e 74 20 7b 20 4d 43 49 5f 52 45 43 4f 52 44  int { MCI_RECORD
15970 5f 49 4e 53 45 52 54 20 3d 20 30 78 30 30 30 30  _INSERT = 0x0000
15980 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
15990 69 6e 74 20 7b 20 4d 43 49 5f 52 45 43 4f 52 44  int { MCI_RECORD
159a0 5f 4f 56 45 52 57 52 49 54 45 20 3d 20 30 78 30  _OVERWRITE = 0x0
159b0 30 30 30 30 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75  0000200 }....enu
159c0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
159d0 41 56 45 5f 46 49 4c 45 20 3d 20 30 78 30 30 30  AVE_FILE = 0x000
159e0 30 30 31 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00100 }....enum 
159f0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4c 4f 41  : uint { MCI_LOA
15a00 44 5f 46 49 4c 45 20 3d 20 30 78 30 30 30 30 30  D_FILE = 0x00000
15a10 31 30 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20  100 }....struct 
15a20 74 61 67 4d 43 49 5f 47 45 4e 45 52 49 43 5f 50  tagMCI_GENERIC_P
15a30 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f  ARMS {..  DWORD_
15a40 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d  PTR dwCallback;.
15a50 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  .}..alias tagMCI
15a60 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d 53 20 4d  _GENERIC_PARMS M
15a70 43 49 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d 53  CI_GENERIC_PARMS
15a80 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
15a90 47 45 4e 45 52 49 43 5f 50 41 52 4d 53 2a 20 50  GENERIC_PARMS* P
15aa0 4d 43 49 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d  MCI_GENERIC_PARM
15ab0 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  S;..alias tagMCI
15ac0 5f 47 45 4e 45 52 49 43 5f 50 41 52 4d 53 2a 20  _GENERIC_PARMS* 
15ad0 4c 50 4d 43 49 5f 47 45 4e 45 52 49 43 5f 50 41  LPMCI_GENERIC_PA
15ae0 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  RMS;....// #ifde
15af0 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
15b00 63 74 20 74 61 67 4d 43 49 5f 4f 50 45 4e 5f 50  ct tagMCI_OPEN_P
15b10 41 52 4d 53 41 20 7b 0d 0a 20 20 44 57 4f 52 44  ARMSA {..  DWORD
15b20 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
15b30 0d 0a 20 20 4d 43 49 44 45 56 49 43 45 49 44 20  ..  MCIDEVICEID 
15b40 77 44 65 76 69 63 65 49 44 3b 0d 0a 20 20 4c 50  wDeviceID;..  LP
15b50 43 53 54 52 20 6c 70 73 74 72 44 65 76 69 63 65  CSTR lpstrDevice
15b60 54 79 70 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20  Type;..  LPCSTR 
15b70 6c 70 73 74 72 45 6c 65 6d 65 6e 74 4e 61 6d 65  lpstrElementName
15b80 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74  ;..  LPCSTR lpst
15b90 72 41 6c 69 61 73 3b 0d 0a 7d 0d 0a 61 6c 69 61  rAlias;..}..alia
15ba0 73 20 74 61 67 4d 43 49 5f 4f 50 45 4e 5f 50 41  s tagMCI_OPEN_PA
15bb0 52 4d 53 41 20 4d 43 49 5f 4f 50 45 4e 5f 50 41  RMSA MCI_OPEN_PA
15bc0 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RMSA;..alias tag
15bd0 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a  MCI_OPEN_PARMSA*
15be0 20 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53   PMCI_OPEN_PARMS
15bf0 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  A;..alias tagMCI
15c00 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a 20 4c 50  _OPEN_PARMSA* LP
15c10 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b  MCI_OPEN_PARMSA;
15c20 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43  ....struct tagMC
15c30 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 7b 0d  I_OPEN_PARMSW {.
15c40 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
15c50 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43 49 44  allback;..  MCID
15c60 45 56 49 43 45 49 44 20 77 44 65 76 69 63 65 49  EVICEID wDeviceI
15c70 44 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  D;..  LPCWSTR lp
15c80 73 74 72 44 65 76 69 63 65 54 79 70 65 3b 0d 0a  strDeviceType;..
15c90 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72 45    LPCWSTR lpstrE
15ca0 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20 20 4c  lementName;..  L
15cb0 50 43 57 53 54 52 20 6c 70 73 74 72 41 6c 69 61  PCWSTR lpstrAlia
15cc0 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  s;..}..alias tag
15cd0 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20  MCI_OPEN_PARMSW 
15ce0 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b  MCI_OPEN_PARMSW;
15cf0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f  ..alias tagMCI_O
15d00 50 45 4e 5f 50 41 52 4d 53 57 2a 20 50 4d 43 49  PEN_PARMSW* PMCI
15d10 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 61  _OPEN_PARMSW;..a
15d20 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 50 45 4e  lias tagMCI_OPEN
15d30 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49 5f 4f  _PARMSW* LPMCI_O
15d40 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f  PEN_PARMSW;..../
15d50 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
15d60 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
15d70 73 65 0d 0a 61 6c 69 61 73 20 4d 43 49 5f 4f 50  se..alias MCI_OP
15d80 45 4e 5f 50 41 52 4d 53 41 20 4d 43 49 5f 4f 50  EN_PARMSA MCI_OP
15d90 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  EN_PARMS;..alias
15da0 20 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d 53   PMCI_OPEN_PARMS
15db0 41 20 50 4d 43 49 5f 4f 50 45 4e 5f 50 41 52 4d  A PMCI_OPEN_PARM
15dc0 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 43 49 5f  S;..alias LPMCI_
15dd0 4f 50 45 4e 5f 50 41 52 4d 53 41 20 4c 50 4d 43  OPEN_PARMSA LPMC
15de0 49 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 2f  I_OPEN_PARMS;../
15df0 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
15e00 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d  ODE....// #else.
15e10 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
15e20 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  if....struct tag
15e30 4d 43 49 5f 50 4c 41 59 5f 50 41 52 4d 53 20 7b  MCI_PLAY_PARMS {
15e40 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
15e50 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f  Callback;..  DWO
15e60 52 44 20 64 77 46 72 6f 6d 3b 0d 0a 20 20 44 57  RD dwFrom;..  DW
15e70 4f 52 44 20 64 77 54 6f 3b 0d 0a 7d 0d 0a 61 6c  ORD dwTo;..}..al
15e80 69 61 73 20 74 61 67 4d 43 49 5f 50 4c 41 59 5f  ias tagMCI_PLAY_
15e90 50 41 52 4d 53 20 4d 43 49 5f 50 4c 41 59 5f 50  PARMS MCI_PLAY_P
15ea0 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ARMS;..alias tag
15eb0 4d 43 49 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20  MCI_PLAY_PARMS* 
15ec0 50 4d 43 49 5f 50 4c 41 59 5f 50 41 52 4d 53 3b  PMCI_PLAY_PARMS;
15ed0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 50  ..alias tagMCI_P
15ee0 4c 41 59 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49  LAY_PARMS* LPMCI
15ef0 5f 50 4c 41 59 5f 50 41 52 4d 53 3b 0d 0a 0d 0a  _PLAY_PARMS;....
15f00 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 53 45  struct tagMCI_SE
15f10 45 4b 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57  EK_PARMS {..  DW
15f20 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61  ORD_PTR dwCallba
15f30 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54  ck;..  DWORD dwT
15f40 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  o;..}..alias tag
15f50 4d 43 49 5f 53 45 45 4b 5f 50 41 52 4d 53 20 4d  MCI_SEEK_PARMS M
15f60 43 49 5f 53 45 45 4b 5f 50 41 52 4d 53 3b 0d 0a  CI_SEEK_PARMS;..
15f70 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45 45  alias tagMCI_SEE
15f80 4b 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f 53 45  K_PARMS* PMCI_SE
15f90 45 4b 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  EK_PARMS;..alias
15fa0 20 74 61 67 4d 43 49 5f 53 45 45 4b 5f 50 41 52   tagMCI_SEEK_PAR
15fb0 4d 53 2a 20 4c 50 4d 43 49 5f 53 45 45 4b 5f 50  MS* LPMCI_SEEK_P
15fc0 41 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  ARMS;....struct 
15fd0 74 61 67 4d 43 49 5f 53 54 41 54 55 53 5f 50 41  tagMCI_STATUS_PA
15fe0 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50  RMS {..  DWORD_P
15ff0 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a  TR dwCallback;..
16000 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 52 65    DWORD_PTR dwRe
16010 74 75 72 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64  turn;..  DWORD d
16020 77 49 74 65 6d 3b 0d 0a 20 20 44 57 4f 52 44 20  wItem;..  DWORD 
16030 64 77 54 72 61 63 6b 3b 0d 0a 7d 0d 0a 61 6c 69  dwTrack;..}..ali
16040 61 73 20 74 61 67 4d 43 49 5f 53 54 41 54 55 53  as tagMCI_STATUS
16050 5f 50 41 52 4d 53 20 4d 43 49 5f 53 54 41 54 55  _PARMS MCI_STATU
16060 53 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  S_PARMS;..alias 
16070 74 61 67 4d 43 49 5f 53 54 41 54 55 53 5f 50 41  tagMCI_STATUS_PA
16080 52 4d 53 2a 20 50 4d 43 49 5f 53 54 41 54 55 53  RMS* PMCI_STATUS
16090 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74  _PARMS;..alias t
160a0 61 67 4d 43 49 5f 53 54 41 54 55 53 5f 50 41 52  agMCI_STATUS_PAR
160b0 4d 53 2a 20 4c 50 4d 43 49 5f 53 54 41 54 55 53  MS* LPMCI_STATUS
160c0 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69  _PARMS;....// #i
160d0 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73  fdef _WIN32....s
160e0 74 72 75 63 74 20 74 61 67 4d 43 49 5f 49 4e 46  truct tagMCI_INF
160f0 4f 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20 44 57  O_PARMSA {..  DW
16100 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61  ORD_PTR dwCallba
16110 63 6b 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73  ck;..  LPSTR lps
16120 74 72 52 65 74 75 72 6e 3b 0d 0a 20 20 44 57 4f  trReturn;..  DWO
16130 52 44 20 64 77 52 65 74 53 69 7a 65 3b 0d 0a 7d  RD dwRetSize;..}
16140 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 49  ..alias tagMCI_I
16150 4e 46 4f 5f 50 41 52 4d 53 41 20 4d 43 49 5f 49  NFO_PARMSA MCI_I
16160 4e 46 4f 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69  NFO_PARMSA;..ali
16170 61 73 20 74 61 67 4d 43 49 5f 49 4e 46 4f 5f 50  as tagMCI_INFO_P
16180 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 49 4e 46  ARMSA* LPMCI_INF
16190 4f 5f 50 41 52 4d 53 41 3b 0d 0a 0d 0a 73 74 72  O_PARMSA;....str
161a0 75 63 74 20 74 61 67 4d 43 49 5f 49 4e 46 4f 5f  uct tagMCI_INFO_
161b0 50 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52  PARMSW {..  DWOR
161c0 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b  D_PTR dwCallback
161d0 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 74  ;..  LPWSTR lpst
161e0 72 52 65 74 75 72 6e 3b 0d 0a 20 20 44 57 4f 52  rReturn;..  DWOR
161f0 44 20 64 77 52 65 74 53 69 7a 65 3b 0d 0a 7d 0d  D dwRetSize;..}.
16200 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 49 4e  .alias tagMCI_IN
16210 46 4f 5f 50 41 52 4d 53 57 20 4d 43 49 5f 49 4e  FO_PARMSW MCI_IN
16220 46 4f 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61  FO_PARMSW;..alia
16230 73 20 74 61 67 4d 43 49 5f 49 4e 46 4f 5f 50 41  s tagMCI_INFO_PA
16240 52 4d 53 57 2a 20 4c 50 4d 43 49 5f 49 4e 46 4f  RMSW* LPMCI_INFO
16250 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23  _PARMSW;....// #
16260 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
16270 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
16280 0a 61 6c 69 61 73 20 4d 43 49 5f 49 4e 46 4f 5f  .alias MCI_INFO_
16290 50 41 52 4d 53 41 20 4d 43 49 5f 49 4e 46 4f 5f  PARMSA MCI_INFO_
162a0 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50  PARMS;..alias LP
162b0 4d 43 49 5f 49 4e 46 4f 5f 50 41 52 4d 53 41 20  MCI_INFO_PARMSA 
162c0 4c 50 4d 43 49 5f 49 4e 46 4f 5f 50 41 52 4d 53  LPMCI_INFO_PARMS
162d0 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
162e0 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65  UNICODE....// #e
162f0 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
16300 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74  #endif....struct
16310 20 74 61 67 4d 43 49 5f 47 45 54 44 45 56 43 41   tagMCI_GETDEVCA
16320 50 53 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57  PS_PARMS {..  DW
16330 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61  ORD_PTR dwCallba
16340 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52  ck;..  DWORD dwR
16350 65 74 75 72 6e 3b 0d 0a 20 20 44 57 4f 52 44 20  eturn;..  DWORD 
16360 64 77 49 74 65 6d 3b 0d 0a 7d 0d 0a 61 6c 69 61  dwItem;..}..alia
16370 73 20 74 61 67 4d 43 49 5f 47 45 54 44 45 56 43  s tagMCI_GETDEVC
16380 41 50 53 5f 50 41 52 4d 53 20 4d 43 49 5f 47 45  APS_PARMS MCI_GE
16390 54 44 45 56 43 41 50 53 5f 50 41 52 4d 53 3b 0d  TDEVCAPS_PARMS;.
163a0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 47 45  .alias tagMCI_GE
163b0 54 44 45 56 43 41 50 53 5f 50 41 52 4d 53 2a 20  TDEVCAPS_PARMS* 
163c0 50 4d 43 49 5f 47 45 54 44 45 56 43 41 50 53 5f  PMCI_GETDEVCAPS_
163d0 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61  PARMS;..alias ta
163e0 67 4d 43 49 5f 47 45 54 44 45 56 43 41 50 53 5f  gMCI_GETDEVCAPS_
163f0 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 47 45 54  PARMS* LPMCI_GET
16400 44 45 56 43 41 50 53 5f 50 41 52 4d 53 3b 0d 0a  DEVCAPS_PARMS;..
16410 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e  ..// #ifdef _WIN
16420 33 32 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  32....struct tag
16430 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
16440 53 41 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  SA {..  DWORD_PT
16450 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  R dwCallback;.. 
16460 20 4c 50 53 54 52 20 6c 70 73 74 72 52 65 74 75   LPSTR lpstrRetu
16470 72 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52  rn;..  DWORD dwR
16480 65 74 53 69 7a 65 3b 0d 0a 20 20 44 57 4f 52 44  etSize;..  DWORD
16490 20 64 77 4e 75 6d 62 65 72 3b 0d 0a 20 20 55 49   dwNumber;..  UI
164a0 4e 54 20 77 44 65 76 69 63 65 54 79 70 65 3b 0d  NT wDeviceType;.
164b0 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  .}..alias tagMCI
164c0 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d 53 41 20  _SYSINFO_PARMSA 
164d0 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
164e0 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  SA;..alias tagMC
164f0 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d 53 41  I_SYSINFO_PARMSA
16500 2a 20 50 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50  * PMCI_SYSINFO_P
16510 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61  ARMSA;..alias ta
16520 67 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52  gMCI_SYSINFO_PAR
16530 4d 53 41 2a 20 4c 50 4d 43 49 5f 53 59 53 49 4e  MSA* LPMCI_SYSIN
16540 46 4f 5f 50 41 52 4d 53 41 3b 0d 0a 0d 0a 73 74  FO_PARMSA;....st
16550 72 75 63 74 20 74 61 67 4d 43 49 5f 53 59 53 49  ruct tagMCI_SYSI
16560 4e 46 4f 5f 50 41 52 4d 53 57 20 7b 0d 0a 20 20  NFO_PARMSW {..  
16570 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c  DWORD_PTR dwCall
16580 62 61 63 6b 3b 0d 0a 20 20 4c 50 57 53 54 52 20  back;..  LPWSTR 
16590 6c 70 73 74 72 52 65 74 75 72 6e 3b 0d 0a 20 20  lpstrReturn;..  
165a0 44 57 4f 52 44 20 64 77 52 65 74 53 69 7a 65 3b  DWORD dwRetSize;
165b0 0d 0a 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62  ..  DWORD dwNumb
165c0 65 72 3b 0d 0a 20 20 55 49 4e 54 20 77 44 65 76  er;..  UINT wDev
165d0 69 63 65 54 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69  iceType;..}..ali
165e0 61 73 20 74 61 67 4d 43 49 5f 53 59 53 49 4e 46  as tagMCI_SYSINF
165f0 4f 5f 50 41 52 4d 53 57 20 4d 43 49 5f 53 59 53  O_PARMSW MCI_SYS
16600 49 4e 46 4f 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c  INFO_PARMSW;..al
16610 69 61 73 20 74 61 67 4d 43 49 5f 53 59 53 49 4e  ias tagMCI_SYSIN
16620 46 4f 5f 50 41 52 4d 53 57 2a 20 50 4d 43 49 5f  FO_PARMSW* PMCI_
16630 53 59 53 49 4e 46 4f 5f 50 41 52 4d 53 57 3b 0d  SYSINFO_PARMSW;.
16640 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 59  .alias tagMCI_SY
16650 53 49 4e 46 4f 5f 50 41 52 4d 53 57 2a 20 4c 50  SINFO_PARMSW* LP
16660 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
16670 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  SW;....// #ifdef
16680 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
16690 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
166a0 73 20 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41  s MCI_SYSINFO_PA
166b0 52 4d 53 41 20 4d 43 49 5f 53 59 53 49 4e 46 4f  RMSA MCI_SYSINFO
166c0 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 50  _PARMS;..alias P
166d0 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
166e0 53 41 20 50 4d 43 49 5f 53 59 53 49 4e 46 4f 5f  SA PMCI_SYSINFO_
166f0 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50  PARMS;..alias LP
16700 4d 43 49 5f 53 59 53 49 4e 46 4f 5f 50 41 52 4d  MCI_SYSINFO_PARM
16710 53 41 20 4c 50 4d 43 49 5f 53 59 53 49 4e 46 4f  SA LPMCI_SYSINFO
16720 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64  _PARMS;..// #end
16730 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f  if // UNICODE../
16740 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
16750 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
16760 72 75 63 74 20 74 61 67 4d 43 49 5f 53 45 54 5f  ruct tagMCI_SET_
16770 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44  PARMS {..  DWORD
16780 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
16790 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69 6d 65  ..  DWORD dwTime
167a0 46 6f 72 6d 61 74 3b 0d 0a 20 20 44 57 4f 52 44  Format;..  DWORD
167b0 20 64 77 41 75 64 69 6f 3b 0d 0a 7d 0d 0a 61 6c   dwAudio;..}..al
167c0 69 61 73 20 74 61 67 4d 43 49 5f 53 45 54 5f 50  ias tagMCI_SET_P
167d0 41 52 4d 53 20 4d 43 49 5f 53 45 54 5f 50 41 52  ARMS MCI_SET_PAR
167e0 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  MS;..alias tagMC
167f0 49 5f 53 45 54 5f 50 41 52 4d 53 2a 20 50 4d 43  I_SET_PARMS* PMC
16800 49 5f 53 45 54 5f 50 41 52 4d 53 3b 0d 0a 61 6c  I_SET_PARMS;..al
16810 69 61 73 20 74 61 67 4d 43 49 5f 53 45 54 5f 50  ias tagMCI_SET_P
16820 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 53 45 54 5f  ARMS* LPMCI_SET_
16830 50 41 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74  PARMS;....struct
16840 20 74 61 67 4d 43 49 5f 42 52 45 41 4b 5f 50 41   tagMCI_BREAK_PA
16850 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50  RMS {..  DWORD_P
16860 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a  TR dwCallback;..
16870 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32  // #ifdef _WIN32
16880 0d 0a 20 20 69 6e 74 20 6e 56 69 72 74 4b 65 79  ..  int nVirtKey
16890 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 42 72  ;..  HWND hwndBr
168a0 65 61 6b 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  eak;..// #else..
168b0 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
168c0 66 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  f..}..alias tagM
168d0 43 49 5f 42 52 45 41 4b 5f 50 41 52 4d 53 20 4d  CI_BREAK_PARMS M
168e0 43 49 5f 42 52 45 41 4b 5f 50 41 52 4d 53 3b 0d  CI_BREAK_PARMS;.
168f0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 42 52  .alias tagMCI_BR
16900 45 41 4b 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f  EAK_PARMS* PMCI_
16910 42 52 45 41 4b 5f 50 41 52 4d 53 3b 0d 0a 61 6c  BREAK_PARMS;..al
16920 69 61 73 20 74 61 67 4d 43 49 5f 42 52 45 41 4b  ias tagMCI_BREAK
16930 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 42 52  _PARMS* LPMCI_BR
16940 45 41 4b 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 2f 2f  EAK_PARMS;....//
16950 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
16960 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
16970 53 41 56 45 5f 50 41 52 4d 53 41 20 7b 0d 0a 20  SAVE_PARMSA {.. 
16980 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
16990 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43 53 54 52  lback;..  LPCSTR
169a0 20 6c 70 66 69 6c 65 6e 61 6d 65 3b 0d 0a 7d 0d   lpfilename;..}.
169b0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 41  .alias tagMCI_SA
169c0 56 45 5f 50 41 52 4d 53 41 20 4d 43 49 5f 53 41  VE_PARMSA MCI_SA
169d0 56 45 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61  VE_PARMSA;..alia
169e0 73 20 74 61 67 4d 43 49 5f 53 41 56 45 5f 50 41  s tagMCI_SAVE_PA
169f0 52 4d 53 41 2a 20 50 4d 43 49 5f 53 41 56 45 5f  RMSA* PMCI_SAVE_
16a00 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74  PARMSA;..alias t
16a10 61 67 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d 53  agMCI_SAVE_PARMS
16a20 41 2a 20 4c 50 4d 43 49 5f 53 41 56 45 5f 50 41  A* LPMCI_SAVE_PA
16a30 52 4d 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  RMSA;....struct 
16a40 74 61 67 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d  tagMCI_SAVE_PARM
16a50 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54  SW {..  DWORD_PT
16a60 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20  R dwCallback;.. 
16a70 20 4c 50 43 57 53 54 52 20 6c 70 66 69 6c 65 6e   LPCWSTR lpfilen
16a80 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ame;..}..alias t
16a90 61 67 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d 53  agMCI_SAVE_PARMS
16aa0 57 20 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d 53  W MCI_SAVE_PARMS
16ab0 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  W;..alias tagMCI
16ac0 5f 53 41 56 45 5f 50 41 52 4d 53 57 2a 20 50 4d  _SAVE_PARMSW* PM
16ad0 43 49 5f 53 41 56 45 5f 50 41 52 4d 53 57 3b 0d  CI_SAVE_PARMSW;.
16ae0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 41  .alias tagMCI_SA
16af0 56 45 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49  VE_PARMSW* LPMCI
16b00 5f 53 41 56 45 5f 50 41 52 4d 53 57 3b 0d 0a 0d  _SAVE_PARMSW;...
16b10 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
16b20 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
16b30 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d 43 49 5f  else..alias MCI_
16b40 53 41 56 45 5f 50 41 52 4d 53 41 20 4d 43 49 5f  SAVE_PARMSA MCI_
16b50 53 41 56 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  SAVE_PARMS;..ali
16b60 61 73 20 50 4d 43 49 5f 53 41 56 45 5f 50 41 52  as PMCI_SAVE_PAR
16b70 4d 53 41 20 50 4d 43 49 5f 53 41 56 45 5f 50 41  MSA PMCI_SAVE_PA
16b80 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 43  RMS;..alias LPMC
16b90 49 5f 53 41 56 45 5f 50 41 52 4d 53 41 20 4c 50  I_SAVE_PARMSA LP
16ba0 4d 43 49 5f 53 41 56 45 5f 50 41 52 4d 53 3b 0d  MCI_SAVE_PARMS;.
16bb0 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
16bc0 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c 73  ICODE....// #els
16bd0 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
16be0 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  ndif....// #ifde
16bf0 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
16c00 63 74 20 74 61 67 4d 43 49 5f 4c 4f 41 44 5f 50  ct tagMCI_LOAD_P
16c10 41 52 4d 53 41 20 7b 0d 0a 20 20 44 57 4f 52 44  ARMSA {..  DWORD
16c20 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
16c30 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 66 69 6c  ..  LPCSTR lpfil
16c40 65 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ename;..}..alias
16c50 20 74 61 67 4d 43 49 5f 4c 4f 41 44 5f 50 41 52   tagMCI_LOAD_PAR
16c60 4d 53 41 20 4d 43 49 5f 4c 4f 41 44 5f 50 41 52  MSA MCI_LOAD_PAR
16c70 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSA;..alias tagM
16c80 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 2a 20  CI_LOAD_PARMSA* 
16c90 50 4d 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41  PMCI_LOAD_PARMSA
16ca0 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
16cb0 4c 4f 41 44 5f 50 41 52 4d 53 41 2a 20 4c 50 4d  LOAD_PARMSA* LPM
16cc0 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 3b 0d  CI_LOAD_PARMSA;.
16cd0 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49  ...struct tagMCI
16ce0 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 20 7b 0d 0a  _LOAD_PARMSW {..
16cf0 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61    DWORD_PTR dwCa
16d00 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43 57 53  llback;..  LPCWS
16d10 54 52 20 6c 70 66 69 6c 65 6e 61 6d 65 3b 0d 0a  TR lpfilename;..
16d20 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
16d30 4c 4f 41 44 5f 50 41 52 4d 53 57 20 4d 43 49 5f  LOAD_PARMSW MCI_
16d40 4c 4f 41 44 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c  LOAD_PARMSW;..al
16d50 69 61 73 20 74 61 67 4d 43 49 5f 4c 4f 41 44 5f  ias tagMCI_LOAD_
16d60 50 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4c 4f 41  PARMSW* PMCI_LOA
16d70 44 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73  D_PARMSW;..alias
16d80 20 74 61 67 4d 43 49 5f 4c 4f 41 44 5f 50 41 52   tagMCI_LOAD_PAR
16d90 4d 53 57 2a 20 4c 50 4d 43 49 5f 4c 4f 41 44 5f  MSW* LPMCI_LOAD_
16da0 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  PARMSW;....// #i
16db0 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
16dc0 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
16dd0 61 6c 69 61 73 20 4d 43 49 5f 4c 4f 41 44 5f 50  alias MCI_LOAD_P
16de0 41 52 4d 53 41 20 4d 43 49 5f 4c 4f 41 44 5f 50  ARMSA MCI_LOAD_P
16df0 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 43  ARMS;..alias PMC
16e00 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 20 50 4d  I_LOAD_PARMSA PM
16e10 43 49 5f 4c 4f 41 44 5f 50 41 52 4d 53 3b 0d 0a  CI_LOAD_PARMS;..
16e20 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4c 4f 41 44  alias LPMCI_LOAD
16e30 5f 50 41 52 4d 53 41 20 4c 50 4d 43 49 5f 4c 4f  _PARMSA LPMCI_LO
16e40 41 44 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65  AD_PARMS;..// #e
16e50 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
16e60 0a 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ...// #else..// 
16e70 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
16e80 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
16e90 52 45 43 4f 52 44 5f 50 41 52 4d 53 20 7b 0d 0a  RECORD_PARMS {..
16ea0 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61    DWORD_PTR dwCa
16eb0 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44  llback;..  DWORD
16ec0 20 64 77 46 72 6f 6d 3b 0d 0a 20 20 44 57 4f 52   dwFrom;..  DWOR
16ed0 44 20 64 77 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61  D dwTo;..}..alia
16ee0 73 20 74 61 67 4d 43 49 5f 52 45 43 4f 52 44 5f  s tagMCI_RECORD_
16ef0 50 41 52 4d 53 20 4d 43 49 5f 52 45 43 4f 52 44  PARMS MCI_RECORD
16f00 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74  _PARMS;..alias t
16f10 61 67 4d 43 49 5f 52 45 43 4f 52 44 5f 50 41 52  agMCI_RECORD_PAR
16f20 4d 53 2a 20 4c 50 4d 43 49 5f 52 45 43 4f 52 44  MS* LPMCI_RECORD
16f30 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 65 6e 75 6d 20  _PARMS;....enum 
16f40 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
16f50 4d 4f 44 45 5f 50 41 52 4b 20 3d 20 4d 43 49 5f  MODE_PARK = MCI_
16f60 56 44 5f 4f 46 46 53 45 54 20 2b 20 31 20 7d 0d  VD_OFFSET + 1 }.
16f70 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
16f80 20 4d 43 49 5f 56 44 5f 4d 45 44 49 41 5f 43 4c   MCI_VD_MEDIA_CL
16f90 56 20 3d 20 4d 43 49 5f 56 44 5f 4f 46 46 53 45  V = MCI_VD_OFFSE
16fa0 54 20 2b 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  T + 2 }..enum : 
16fb0 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 4d 45  uint { MCI_VD_ME
16fc0 44 49 41 5f 43 41 56 20 3d 20 4d 43 49 5f 56 44  DIA_CAV = MCI_VD
16fd0 5f 4f 46 46 53 45 54 20 2b 20 33 20 7d 0d 0a 65  _OFFSET + 3 }..e
16fe0 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
16ff0 5f 56 44 5f 4d 45 44 49 41 5f 4f 54 48 45 52 20  _VD_MEDIA_OTHER 
17000 3d 20 4d 43 49 5f 56 44 5f 4f 46 46 53 45 54 20  = MCI_VD_OFFSET 
17010 2b 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  + 4 }....enum : 
17020 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 46 4f  uint { MCI_VD_FO
17030 52 4d 41 54 5f 54 52 41 43 4b 20 3d 20 30 78 34  RMAT_TRACK = 0x4
17040 30 30 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  001 }....enum : 
17050 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 50 4c  uint { MCI_VD_PL
17060 41 59 5f 52 45 56 45 52 53 45 20 3d 20 30 78 30  AY_REVERSE = 0x0
17070 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..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 46 41 53 54 20 3d 20 30 78 30 30  PLAY_FAST = 0x00
170a0 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  020000 }..enum :
170b0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 50   uint { MCI_VD_P
170c0 4c 41 59 5f 53 50 45 45 44 20 3d 20 30 78 30 30  LAY_SPEED = 0x00
170d0 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  040000 }..enum :
170e0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 50   uint { MCI_VD_P
170f0 4c 41 59 5f 53 43 41 4e 20 3d 20 30 78 30 30 30  LAY_SCAN = 0x000
17100 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  80000 }..enum : 
17110 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 50 4c  uint { MCI_VD_PL
17120 41 59 5f 53 4c 4f 57 20 3d 20 30 78 30 30 31 30  AY_SLOW = 0x0010
17130 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
17140 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 53   uint { MCI_VD_S
17150 45 45 4b 5f 52 45 56 45 52 53 45 20 3d 20 30 78  EEK_REVERSE = 0x
17160 30 30 30 31 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00010000 }....en
17170 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17180 56 44 5f 53 54 41 54 55 53 5f 53 50 45 45 44 20  VD_STATUS_SPEED 
17190 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d 0d 0a  = 0x00004002 }..
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 46 4f 52 57  I_VD_STATUS_FORW
171c0 41 52 44 20 3d 20 30 78 30 30 30 30 34 30 30 33  ARD = 0x00004003
171d0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
171e0 7b 20 4d 43 49 5f 56 44 5f 53 54 41 54 55 53 5f  { MCI_VD_STATUS_
171f0 4d 45 44 49 41 5f 54 59 50 45 20 3d 20 30 78 30  MEDIA_TYPE = 0x0
17200 30 30 30 34 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0004004 }..enum 
17210 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
17220 53 54 41 54 55 53 5f 53 49 44 45 20 3d 20 30 78  STATUS_SIDE = 0x
17230 30 30 30 30 34 30 30 35 20 7d 0d 0a 65 6e 75 6d  00004005 }..enum
17240 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
17250 5f 53 54 41 54 55 53 5f 44 49 53 43 5f 53 49 5a  _STATUS_DISC_SIZ
17260 45 20 3d 20 30 78 30 30 30 30 34 30 30 36 20 7d  E = 0x00004006 }
17270 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
17280 7b 20 4d 43 49 5f 56 44 5f 47 45 54 44 45 56 43  { MCI_VD_GETDEVC
17290 41 50 53 5f 43 4c 56 20 3d 20 30 78 30 30 30 31  APS_CLV = 0x0001
172a0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
172b0 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 47 45 54  int { MCI_VD_GET
172c0 44 45 56 43 41 50 53 5f 43 41 56 20 3d 20 30 78  DEVCAPS_CAV = 0x
172d0 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00020000 }....en
172e0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
172f0 56 44 5f 53 50 49 4e 5f 55 50 20 3d 20 30 78 30  VD_SPIN_UP = 0x0
17300 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
17310 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
17320 53 50 49 4e 5f 44 4f 57 4e 20 3d 20 30 78 30 30  SPIN_DOWN = 0x00
17330 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  020000 }....enum
17340 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
17350 5f 47 45 54 44 45 56 43 41 50 53 5f 43 41 4e 5f  _GETDEVCAPS_CAN_
17360 52 45 56 45 52 53 45 20 3d 20 30 78 30 30 30 30  REVERSE = 0x0000
17370 34 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4002 }..enum : u
17380 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 47 45 54  int { MCI_VD_GET
17390 44 45 56 43 41 50 53 5f 46 41 53 54 5f 52 41 54  DEVCAPS_FAST_RAT
173a0 45 20 3d 20 30 78 30 30 30 30 34 30 30 33 20 7d  E = 0x00004003 }
173b0 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
173c0 4d 43 49 5f 56 44 5f 47 45 54 44 45 56 43 41 50  MCI_VD_GETDEVCAP
173d0 53 5f 53 4c 4f 57 5f 52 41 54 45 20 3d 20 30 78  S_SLOW_RATE = 0x
173e0 30 30 30 30 34 30 30 34 20 7d 0d 0a 65 6e 75 6d  00004004 }..enum
173f0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44   : uint { MCI_VD
17400 5f 47 45 54 44 45 56 43 41 50 53 5f 4e 4f 52 4d  _GETDEVCAPS_NORM
17410 41 4c 5f 52 41 54 45 20 3d 20 30 78 30 30 30 30  AL_RATE = 0x0000
17420 34 30 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  4005 }....enum :
17430 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f 53   uint { MCI_VD_S
17440 54 45 50 5f 46 52 41 4d 45 53 20 3d 20 30 78 30  TEP_FRAMES = 0x0
17450 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
17460 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 56 44 5f  : uint { MCI_VD_
17470 53 54 45 50 5f 52 45 56 45 52 53 45 20 3d 20 30  STEP_REVERSE = 0
17480 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a 65  x00020000 }....e
17490 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
174a0 5f 56 44 5f 45 53 43 41 50 45 5f 53 54 52 49 4e  _VD_ESCAPE_STRIN
174b0 47 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d  G = 0x00000100 }
174c0 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43  ....struct tagMC
174d0 49 5f 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53 20  I_VD_PLAY_PARMS 
174e0 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  {..  DWORD_PTR d
174f0 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44 57  wCallback;..  DW
17500 4f 52 44 20 64 77 46 72 6f 6d 3b 0d 0a 20 20 44  ORD dwFrom;..  D
17510 57 4f 52 44 20 64 77 54 6f 3b 0d 0a 20 20 44 57  WORD dwTo;..  DW
17520 4f 52 44 20 64 77 53 70 65 65 64 3b 0d 0a 7d 0d  ORD dwSpeed;..}.
17530 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56 44  .alias tagMCI_VD
17540 5f 50 4c 41 59 5f 50 41 52 4d 53 20 4d 43 49 5f  _PLAY_PARMS MCI_
17550 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53 3b 0d 0a  VD_PLAY_PARMS;..
17560 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56 44 5f  alias tagMCI_VD_
17570 50 4c 41 59 5f 50 41 52 4d 53 2a 20 50 4d 43 49  PLAY_PARMS* PMCI
17580 5f 56 44 5f 50 4c 41 59 5f 50 41 52 4d 53 3b 0d  _VD_PLAY_PARMS;.
17590 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56 44  .alias tagMCI_VD
175a0 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20 4c 50 4d  _PLAY_PARMS* LPM
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 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
175d0 43 49 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d 53  CI_VD_STEP_PARMS
175e0 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20   {..  DWORD_PTR 
175f0 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 44  dwCallback;..  D
17600 57 4f 52 44 20 64 77 46 72 61 6d 65 73 3b 0d 0a  WORD dwFrames;..
17610 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
17620 56 44 5f 53 54 45 50 5f 50 41 52 4d 53 20 4d 43  VD_STEP_PARMS MC
17630 49 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d 53 3b  I_VD_STEP_PARMS;
17640 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56  ..alias tagMCI_V
17650 44 5f 53 54 45 50 5f 50 41 52 4d 53 2a 20 50 4d  D_STEP_PARMS* PM
17660 43 49 5f 56 44 5f 53 54 45 50 5f 50 41 52 4d 53  CI_VD_STEP_PARMS
17670 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
17680 56 44 5f 53 54 45 50 5f 50 41 52 4d 53 2a 20 4c  VD_STEP_PARMS* L
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 0d 0a 2f 2f 20 23 69 66 64 65 66  MS;....// #ifdef
176b0 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63   _WIN32....struc
176c0 74 20 74 61 67 4d 43 49 5f 56 44 5f 45 53 43 41  t tagMCI_VD_ESCA
176d0 50 45 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20 44  PE_PARMSA {..  D
176e0 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62  WORD_PTR dwCallb
176f0 61 63 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c  ack;..  LPCSTR l
17700 70 73 74 72 43 6f 6d 6d 61 6e 64 3b 0d 0a 7d 0d  pstrCommand;..}.
17710 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 56 44  .alias tagMCI_VD
17720 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 41 20 4d  _ESCAPE_PARMSA M
17730 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52  CI_VD_ESCAPE_PAR
17740 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSA;..alias tagM
17750 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52  CI_VD_ESCAPE_PAR
17760 4d 53 41 2a 20 50 4d 43 49 5f 56 44 5f 45 53 43  MSA* PMCI_VD_ESC
17770 41 50 45 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69  APE_PARMSA;..ali
17780 61 73 20 74 61 67 4d 43 49 5f 56 44 5f 45 53 43  as tagMCI_VD_ESC
17790 41 50 45 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43  APE_PARMSA* LPMC
177a0 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d  I_VD_ESCAPE_PARM
177b0 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  SA;....struct ta
177c0 67 4d 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50  gMCI_VD_ESCAPE_P
177d0 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44  ARMSW {..  DWORD
177e0 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
177f0 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74  ..  LPCWSTR lpst
17800 72 43 6f 6d 6d 61 6e 64 3b 0d 0a 7d 0d 0a 61 6c  rCommand;..}..al
17810 69 61 73 20 74 61 67 4d 43 49 5f 56 44 5f 45 53  ias tagMCI_VD_ES
17820 43 41 50 45 5f 50 41 52 4d 53 57 20 4d 43 49 5f  CAPE_PARMSW MCI_
17830 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 57  VD_ESCAPE_PARMSW
17840 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
17850 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 57  VD_ESCAPE_PARMSW
17860 2a 20 50 4d 43 49 5f 56 44 5f 45 53 43 41 50 45  * PMCI_VD_ESCAPE
17870 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20  _PARMSW;..alias 
17880 74 61 67 4d 43 49 5f 56 44 5f 45 53 43 41 50 45  tagMCI_VD_ESCAPE
17890 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49 5f 56  _PARMSW* LPMCI_V
178a0 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 57 3b  D_ESCAPE_PARMSW;
178b0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
178c0 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  ICODE..// ...../
178d0 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d  / #else..alias M
178e0 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50 41 52  CI_VD_ESCAPE_PAR
178f0 4d 53 41 20 4d 43 49 5f 56 44 5f 45 53 43 41 50  MSA MCI_VD_ESCAP
17900 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  E_PARMS;..alias 
17910 50 4d 43 49 5f 56 44 5f 45 53 43 41 50 45 5f 50  PMCI_VD_ESCAPE_P
17920 41 52 4d 53 41 20 50 4d 43 49 5f 56 44 5f 45 53  ARMSA PMCI_VD_ES
17930 43 41 50 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  CAPE_PARMS;..ali
17940 61 73 20 4c 50 4d 43 49 5f 56 44 5f 45 53 43 41  as LPMCI_VD_ESCA
17950 50 45 5f 50 41 52 4d 53 41 20 4c 50 4d 43 49 5f  PE_PARMSA LPMCI_
17960 56 44 5f 45 53 43 41 50 45 5f 50 41 52 4d 53 3b  VD_ESCAPE_PARMS;
17970 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
17980 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c  NICODE....// #el
17990 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
179a0 65 6e 64 69 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  endif....enum : 
179b0 75 69 6e 74 20 7b 20 4d 43 49 5f 43 44 41 5f 53  uint { MCI_CDA_S
179c0 54 41 54 55 53 5f 54 59 50 45 5f 54 52 41 43 4b  TATUS_TYPE_TRACK
179d0 20 3d 20 30 78 30 30 30 30 34 30 30 31 20 7d 0d   = 0x00004001 }.
179e0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
179f0 20 4d 43 49 5f 43 44 41 5f 54 52 41 43 4b 5f 41   MCI_CDA_TRACK_A
17a00 55 44 49 4f 20 3d 20 4d 43 49 5f 43 44 5f 4f 46  UDIO = MCI_CD_OF
17a10 46 53 45 54 20 2b 20 30 20 7d 0d 0a 65 6e 75 6d  FSET + 0 }..enum
17a20 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 43 44   : uint { MCI_CD
17a30 41 5f 54 52 41 43 4b 5f 4f 54 48 45 52 20 3d 20  A_TRACK_OTHER = 
17a40 4d 43 49 5f 43 44 5f 4f 46 46 53 45 54 20 2b 20  MCI_CD_OFFSET + 
17a50 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  1 }....enum : ui
17a60 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 50 43  nt { MCI_WAVE_PC
17a70 4d 20 3d 20 4d 43 49 5f 57 41 56 45 5f 4f 46 46  M = MCI_WAVE_OFF
17a80 53 45 54 20 2b 20 30 20 7d 0d 0a 65 6e 75 6d 20  SET + 0 }..enum 
17a90 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
17aa0 45 5f 4d 41 50 50 45 52 20 3d 20 4d 43 49 5f 57  E_MAPPER = MCI_W
17ab0 41 56 45 5f 4f 46 46 53 45 54 20 2b 20 31 20 7d  AVE_OFFSET + 1 }
17ac0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
17ad0 7b 20 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f  { MCI_WAVE_OPEN_
17ae0 42 55 46 46 45 52 20 3d 20 30 78 30 30 30 31 30  BUFFER = 0x00010
17af0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
17b00 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f  uint { MCI_WAVE_
17b10 53 45 54 5f 46 4f 52 4d 41 54 54 41 47 20 3d 20  SET_FORMATTAG = 
17b20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..en
17b30 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17b40 57 41 56 45 5f 53 45 54 5f 43 48 41 4e 4e 45 4c  WAVE_SET_CHANNEL
17b50 53 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  S = 0x00020000 }
17b60 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17b70 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 53 41 4d  MCI_WAVE_SET_SAM
17b80 50 4c 45 53 50 45 52 53 45 43 20 3d 20 30 78 30  PLESPERSEC = 0x0
17b90 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0040000 }..enum 
17ba0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
17bb0 45 5f 53 45 54 5f 41 56 47 42 59 54 45 53 50 45  E_SET_AVGBYTESPE
17bc0 52 53 45 43 20 3d 20 30 78 30 30 30 38 30 30 30  RSEC = 0x0008000
17bd0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
17be0 20 7b 20 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f   { MCI_WAVE_SET_
17bf0 42 4c 4f 43 4b 41 4c 49 47 4e 20 3d 20 30 78 30  BLOCKALIGN = 0x0
17c00 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0100000 }..enum 
17c10 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
17c20 45 5f 53 45 54 5f 42 49 54 53 50 45 52 53 41 4d  E_SET_BITSPERSAM
17c30 50 4c 45 20 3d 20 30 78 30 30 32 30 30 30 30 30  PLE = 0x00200000
17c40 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
17c50 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 49 4e 50  t { MCI_WAVE_INP
17c60 55 54 20 3d 20 30 78 30 30 34 30 30 30 30 30 20  UT = 0x00400000 
17c70 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
17c80 20 4d 43 49 5f 57 41 56 45 5f 4f 55 54 50 55 54   MCI_WAVE_OUTPUT
17c90 20 3d 20 30 78 30 30 38 30 30 30 30 30 20 7d 0d   = 0x00800000 }.
17ca0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
17cb0 20 4d 43 49 5f 57 41 56 45 5f 53 54 41 54 55 53   MCI_WAVE_STATUS
17cc0 5f 46 4f 52 4d 41 54 54 41 47 20 3d 20 30 78 30  _FORMATTAG = 0x0
17cd0 30 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0004001 }..enum 
17ce0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
17cf0 45 5f 53 54 41 54 55 53 5f 43 48 41 4e 4e 45 4c  E_STATUS_CHANNEL
17d00 53 20 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d  S = 0x00004002 }
17d10 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
17d20 4d 43 49 5f 57 41 56 45 5f 53 54 41 54 55 53 5f  MCI_WAVE_STATUS_
17d30 53 41 4d 50 4c 45 53 50 45 52 53 45 43 20 3d 20  SAMPLESPERSEC = 
17d40 30 78 30 30 30 30 34 30 30 33 20 7d 0d 0a 65 6e  0x00004003 }..en
17d50 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
17d60 57 41 56 45 5f 53 54 41 54 55 53 5f 41 56 47 42  WAVE_STATUS_AVGB
17d70 59 54 45 53 50 45 52 53 45 43 20 3d 20 30 78 30  YTESPERSEC = 0x0
17d80 30 30 30 34 30 30 34 20 7d 0d 0a 65 6e 75 6d 20  0004004 }..enum 
17d90 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56  : uint { MCI_WAV
17da0 45 5f 53 54 41 54 55 53 5f 42 4c 4f 43 4b 41 4c  E_STATUS_BLOCKAL
17db0 49 47 4e 20 3d 20 30 78 30 30 30 30 34 30 30 35  IGN = 0x00004005
17dc0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
17dd0 7b 20 4d 43 49 5f 57 41 56 45 5f 53 54 41 54 55  { MCI_WAVE_STATU
17de0 53 5f 42 49 54 53 50 45 52 53 41 4d 50 4c 45 20  S_BITSPERSAMPLE 
17df0 3d 20 30 78 30 30 30 30 34 30 30 36 20 7d 0d 0a  = 0x00004006 }..
17e00 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
17e10 49 5f 57 41 56 45 5f 53 54 41 54 55 53 5f 4c 45  I_WAVE_STATUS_LE
17e20 56 45 4c 20 3d 20 30 78 30 30 30 30 34 30 30 37  VEL = 0x00004007
17e30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
17e40 74 20 7b 20 4d 43 49 5f 57 41 56 45 5f 53 45 54  t { MCI_WAVE_SET
17e50 5f 41 4e 59 49 4e 50 55 54 20 3d 20 30 78 30 34  _ANYINPUT = 0x04
17e60 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
17e70 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45   uint { MCI_WAVE
17e80 5f 53 45 54 5f 41 4e 59 4f 55 54 50 55 54 20 3d  _SET_ANYOUTPUT =
17e90 20 30 78 30 38 30 30 30 30 30 30 20 7d 0d 0a 0d   0x08000000 }...
17ea0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
17eb0 43 49 5f 57 41 56 45 5f 47 45 54 44 45 56 43 41  CI_WAVE_GETDEVCA
17ec0 50 53 5f 49 4e 50 55 54 53 20 3d 20 30 78 30 30  PS_INPUTS = 0x00
17ed0 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  004001 }..enum :
17ee0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 57 41 56 45   uint { MCI_WAVE
17ef0 5f 47 45 54 44 45 56 43 41 50 53 5f 4f 55 54 50  _GETDEVCAPS_OUTP
17f00 55 54 53 20 3d 20 30 78 30 30 30 30 34 30 30 32  UTS = 0x00004002
17f10 20 7d 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20   }....// #ifdef 
17f20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63 74  _WIN32....struct
17f30 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 4f 50 45   tagMCI_WAVE_OPE
17f40 4e 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20 44 57  N_PARMSA {..  DW
17f50 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61  ORD_PTR dwCallba
17f60 63 6b 3b 0d 0a 20 20 4d 43 49 44 45 56 49 43 45  ck;..  MCIDEVICE
17f70 49 44 20 77 44 65 76 69 63 65 49 44 3b 0d 0a 20  ID wDeviceID;.. 
17f80 20 4c 50 43 53 54 52 20 6c 70 73 74 72 44 65 76   LPCSTR lpstrDev
17f90 69 63 65 54 79 70 65 3b 0d 0a 20 20 4c 50 43 53  iceType;..  LPCS
17fa0 54 52 20 6c 70 73 74 72 45 6c 65 6d 65 6e 74 4e  TR lpstrElementN
17fb0 61 6d 65 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c  ame;..  LPCSTR l
17fc0 70 73 74 72 41 6c 69 61 73 3b 0d 0a 20 20 44 57  pstrAlias;..  DW
17fd0 4f 52 44 20 64 77 42 75 66 66 65 72 53 65 63 6f  ORD dwBufferSeco
17fe0 6e 64 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  nds;..}..alias t
17ff0 61 67 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f  agMCI_WAVE_OPEN_
18000 50 41 52 4d 53 41 20 4d 43 49 5f 57 41 56 45 5f  PARMSA MCI_WAVE_
18010 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c  OPEN_PARMSA;..al
18020 69 61 73 20 74 61 67 4d 43 49 5f 57 41 56 45 5f  ias tagMCI_WAVE_
18030 4f 50 45 4e 5f 50 41 52 4d 53 41 2a 20 50 4d 43  OPEN_PARMSA* PMC
18040 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52 4d  I_WAVE_OPEN_PARM
18050 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  SA;..alias tagMC
18060 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52 4d  I_WAVE_OPEN_PARM
18070 53 41 2a 20 4c 50 4d 43 49 5f 57 41 56 45 5f 4f  SA* LPMCI_WAVE_O
18080 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a 0d 0a 73  PEN_PARMSA;....s
18090 74 72 75 63 74 20 74 61 67 4d 43 49 5f 57 41 56  truct tagMCI_WAV
180a0 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 7b 0d  E_OPEN_PARMSW {.
180b0 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
180c0 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43 49 44  allback;..  MCID
180d0 45 56 49 43 45 49 44 20 77 44 65 76 69 63 65 49  EVICEID wDeviceI
180e0 44 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  D;..  LPCWSTR lp
180f0 73 74 72 44 65 76 69 63 65 54 79 70 65 3b 0d 0a  strDeviceType;..
18100 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72 45    LPCWSTR lpstrE
18110 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20 20 4c  lementName;..  L
18120 50 43 57 53 54 52 20 6c 70 73 74 72 41 6c 69 61  PCWSTR lpstrAlia
18130 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 42 75  s;..  DWORD dwBu
18140 66 66 65 72 53 65 63 6f 6e 64 73 3b 0d 0a 7d 0d  fferSeconds;..}.
18150 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 57 41  .alias tagMCI_WA
18160 56 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4d  VE_OPEN_PARMSW M
18170 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52  CI_WAVE_OPEN_PAR
18180 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSW;..alias tagM
18190 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52  CI_WAVE_OPEN_PAR
181a0 4d 53 57 2a 20 50 4d 43 49 5f 57 41 56 45 5f 4f  MSW* PMCI_WAVE_O
181b0 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69  PEN_PARMSW;..ali
181c0 61 73 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 4f  as tagMCI_WAVE_O
181d0 50 45 4e 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43  PEN_PARMSW* LPMC
181e0 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52 4d  I_WAVE_OPEN_PARM
181f0 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  SW;....// #ifdef
18200 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
18210 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
18220 73 20 4d 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f  s MCI_WAVE_OPEN_
18230 50 41 52 4d 53 41 20 4d 43 49 5f 57 41 56 45 5f  PARMSA MCI_WAVE_
18240 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  OPEN_PARMS;..ali
18250 61 73 20 50 4d 43 49 5f 57 41 56 45 5f 4f 50 45  as PMCI_WAVE_OPE
18260 4e 5f 50 41 52 4d 53 41 20 50 4d 43 49 5f 57 41  N_PARMSA PMCI_WA
18270 56 45 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a  VE_OPEN_PARMS;..
18280 61 6c 69 61 73 20 4c 50 4d 43 49 5f 57 41 56 45  alias LPMCI_WAVE
18290 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 20 4c 50 4d  _OPEN_PARMSA LPM
182a0 43 49 5f 57 41 56 45 5f 4f 50 45 4e 5f 50 41 52  CI_WAVE_OPEN_PAR
182b0 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  MS;..// #endif /
182c0 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20  / UNICODE....// 
182d0 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
182e0 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75  / #endif....stru
182f0 63 74 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 44  ct tagMCI_WAVE_D
18300 45 4c 45 54 45 5f 50 41 52 4d 53 20 7b 0d 0a 20  ELETE_PARMS {.. 
18310 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
18320 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20  lback;..  DWORD 
18330 64 77 46 72 6f 6d 3b 0d 0a 20 20 44 57 4f 52 44  dwFrom;..  DWORD
18340 20 64 77 54 6f 3b 0d 0a 7d 0d 0a 61 6c 69 61 73   dwTo;..}..alias
18350 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 44 45 4c   tagMCI_WAVE_DEL
18360 45 54 45 5f 50 41 52 4d 53 20 4d 43 49 5f 57 41  ETE_PARMS MCI_WA
18370 56 45 5f 44 45 4c 45 54 45 5f 50 41 52 4d 53 3b  VE_DELETE_PARMS;
18380 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 57  ..alias tagMCI_W
18390 41 56 45 5f 44 45 4c 45 54 45 5f 50 41 52 4d 53  AVE_DELETE_PARMS
183a0 2a 20 50 4d 43 49 5f 57 41 56 45 5f 44 45 4c 45  * PMCI_WAVE_DELE
183b0 54 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  TE_PARMS;..alias
183c0 20 74 61 67 4d 43 49 5f 57 41 56 45 5f 44 45 4c   tagMCI_WAVE_DEL
183d0 45 54 45 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49  ETE_PARMS* LPMCI
183e0 5f 57 41 56 45 5f 44 45 4c 45 54 45 5f 50 41 52  _WAVE_DELETE_PAR
183f0 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  MS;....struct ta
18400 67 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 50 41  gMCI_WAVE_SET_PA
18410 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50  RMS {..  DWORD_P
18420 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a  TR dwCallback;..
18430 20 20 44 57 4f 52 44 20 64 77 54 69 6d 65 46 6f    DWORD dwTimeFo
18440 72 6d 61 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64  rmat;..  DWORD d
18450 77 41 75 64 69 6f 3b 0d 0a 2f 2f 20 23 69 66 64  wAudio;..// #ifd
18460 65 66 20 5f 57 49 4e 33 32 0d 0a 20 20 55 49 4e  ef _WIN32..  UIN
18470 54 20 77 49 6e 70 75 74 3b 0d 0a 20 20 55 49 4e  T wInput;..  UIN
18480 54 20 77 4f 75 74 70 75 74 3b 0d 0a 2f 2f 20 23  T wOutput;..// #
18490 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
184a0 20 23 65 6e 64 69 66 0d 0a 20 20 57 4f 52 44 20   #endif..  WORD 
184b0 77 46 6f 72 6d 61 74 54 61 67 3b 0d 0a 20 20 57  wFormatTag;..  W
184c0 4f 52 44 20 77 52 65 73 65 72 76 65 64 32 3b 0d  ORD wReserved2;.
184d0 0a 20 20 57 4f 52 44 20 6e 43 68 61 6e 6e 65 6c  .  WORD nChannel
184e0 73 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 73 65  s;..  WORD wRese
184f0 72 76 65 64 33 3b 0d 0a 20 20 44 57 4f 52 44 20  rved3;..  DWORD 
18500 6e 53 61 6d 70 6c 65 73 50 65 72 53 65 63 3b 0d  nSamplesPerSec;.
18510 0a 20 20 44 57 4f 52 44 20 6e 41 76 67 42 79 74  .  DWORD nAvgByt
18520 65 73 50 65 72 53 65 63 3b 0d 0a 20 20 57 4f 52  esPerSec;..  WOR
18530 44 20 6e 42 6c 6f 63 6b 41 6c 69 67 6e 3b 0d 0a  D nBlockAlign;..
18540 20 20 57 4f 52 44 20 77 52 65 73 65 72 76 65 64    WORD wReserved
18550 34 3b 0d 0a 20 20 57 4f 52 44 20 77 42 69 74 73  4;..  WORD wBits
18560 50 65 72 53 61 6d 70 6c 65 3b 0d 0a 20 20 57 4f  PerSample;..  WO
18570 52 44 20 77 52 65 73 65 72 76 65 64 35 3b 0d 0a  RD wReserved5;..
18580 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  }..alias tagMCI_
18590 57 41 56 45 5f 53 45 54 5f 50 41 52 4d 53 20 4d  WAVE_SET_PARMS M
185a0 43 49 5f 57 41 56 45 5f 53 45 54 5f 50 41 52 4d  CI_WAVE_SET_PARM
185b0 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  S;..alias tagMCI
185c0 5f 57 41 56 45 5f 53 45 54 5f 50 41 52 4d 53 2a  _WAVE_SET_PARMS*
185d0 20 50 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 50   PMCI_WAVE_SET_P
185e0 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61 67  ARMS;..alias tag
185f0 4d 43 49 5f 57 41 56 45 5f 53 45 54 5f 50 41 52  MCI_WAVE_SET_PAR
18600 4d 53 2a 20 4c 50 4d 43 49 5f 57 41 56 45 5f 53  MS* LPMCI_WAVE_S
18610 45 54 5f 50 41 52 4d 53 3b 0d 0a 0d 0a 65 6e 75  ET_PARMS;....enu
18620 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
18630 45 51 5f 44 49 56 5f 50 50 51 4e 20 3d 20 30 20  EQ_DIV_PPQN = 0 
18640 2b 20 4d 43 49 5f 53 45 51 5f 4f 46 46 53 45 54  + MCI_SEQ_OFFSET
18650 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18660 7b 20 4d 43 49 5f 53 45 51 5f 44 49 56 5f 53 4d  { MCI_SEQ_DIV_SM
18670 50 54 45 5f 32 34 20 3d 20 31 20 2b 20 4d 43 49  PTE_24 = 1 + MCI
18680 5f 53 45 51 5f 4f 46 46 53 45 54 20 7d 0d 0a 65  _SEQ_OFFSET }..e
18690 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
186a0 5f 53 45 51 5f 44 49 56 5f 53 4d 50 54 45 5f 32  _SEQ_DIV_SMPTE_2
186b0 35 20 3d 20 32 20 2b 20 4d 43 49 5f 53 45 51 5f  5 = 2 + MCI_SEQ_
186c0 4f 46 46 53 45 54 20 7d 0d 0a 65 6e 75 6d 20 3a  OFFSET }..enum :
186d0 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f   uint { MCI_SEQ_
186e0 44 49 56 5f 53 4d 50 54 45 5f 33 30 44 52 4f 50  DIV_SMPTE_30DROP
186f0 20 3d 20 33 20 2b 20 4d 43 49 5f 53 45 51 5f 4f   = 3 + MCI_SEQ_O
18700 46 46 53 45 54 20 7d 0d 0a 65 6e 75 6d 20 3a 20  FFSET }..enum : 
18710 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 44  uint { MCI_SEQ_D
18720 49 56 5f 53 4d 50 54 45 5f 33 30 20 3d 20 34 20  IV_SMPTE_30 = 4 
18730 2b 20 4d 43 49 5f 53 45 51 5f 4f 46 46 53 45 54  + MCI_SEQ_OFFSET
18740 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
18750 74 20 7b 20 4d 43 49 5f 53 45 51 5f 46 4f 52 4d  t { MCI_SEQ_FORM
18760 41 54 5f 53 4f 4e 47 50 54 52 20 3d 20 30 78 34  AT_SONGPTR = 0x4
18770 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  001 }..enum : ui
18780 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 46 49 4c  nt { MCI_SEQ_FIL
18790 45 20 3d 20 30 78 34 30 30 32 20 7d 0d 0a 65 6e  E = 0x4002 }..en
187a0 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f  um : uint { MCI_
187b0 53 45 51 5f 4d 49 44 49 20 3d 20 30 78 34 30 30  SEQ_MIDI = 0x400
187c0 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  3 }..enum : uint
187d0 20 7b 20 4d 43 49 5f 53 45 51 5f 53 4d 50 54 45   { MCI_SEQ_SMPTE
187e0 20 3d 20 30 78 34 30 30 34 20 7d 0d 0a 65 6e 75   = 0x4004 }..enu
187f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
18800 45 51 5f 4e 4f 4e 45 20 3d 20 36 35 35 33 33 20  EQ_NONE = 65533 
18810 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18820 20 4d 43 49 5f 53 45 51 5f 4d 41 50 50 45 52 20   MCI_SEQ_MAPPER 
18830 3d 20 36 35 35 33 35 20 7d 0d 0a 0d 0a 65 6e 75  = 65535 }....enu
18840 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
18850 45 51 5f 53 54 41 54 55 53 5f 54 45 4d 50 4f 20  EQ_STATUS_TEMPO 
18860 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d 0d 0a  = 0x00004002 }..
18870 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
18880 49 5f 53 45 51 5f 53 54 41 54 55 53 5f 50 4f 52  I_SEQ_STATUS_POR
18890 54 20 3d 20 30 78 30 30 30 30 34 30 30 33 20 7d  T = 0x00004003 }
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 53  MCI_SEQ_STATUS_S
188c0 4c 41 56 45 20 3d 20 30 78 30 30 30 30 34 30 30  LAVE = 0x0000400
188d0 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  7 }..enum : uint
188e0 20 7b 20 4d 43 49 5f 53 45 51 5f 53 54 41 54 55   { MCI_SEQ_STATU
188f0 53 5f 4d 41 53 54 45 52 20 3d 20 30 78 30 30 30  S_MASTER = 0x000
18900 30 34 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  04008 }..enum : 
18910 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45 51 5f 53  uint { MCI_SEQ_S
18920 54 41 54 55 53 5f 4f 46 46 53 45 54 20 3d 20 30  TATUS_OFFSET = 0
18930 78 30 30 30 30 34 30 30 39 20 7d 0d 0a 65 6e 75  x00004009 }..enu
18940 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
18950 45 51 5f 53 54 41 54 55 53 5f 44 49 56 54 59 50  EQ_STATUS_DIVTYP
18960 45 20 3d 20 30 78 30 30 30 30 34 30 30 41 20 7d  E = 0x0000400A }
18970 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18980 4d 43 49 5f 53 45 51 5f 53 54 41 54 55 53 5f 4e  MCI_SEQ_STATUS_N
18990 41 4d 45 20 3d 20 30 78 30 30 30 30 34 30 30 42  AME = 0x0000400B
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 43 4f 50 59 52 49 47 48 54 20 3d 20 30 78 30  _COPYRIGHT = 0x0
189d0 30 30 30 34 30 30 43 20 7d 0d 0a 0d 0a 65 6e 75  000400C }....enu
189e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
189f0 45 51 5f 53 45 54 5f 54 45 4d 50 4f 20 3d 20 30  EQ_SET_TEMPO = 0
18a00 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
18a10 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
18a20 45 51 5f 53 45 54 5f 50 4f 52 54 20 3d 20 30 78  EQ_SET_PORT = 0x
18a30 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00020000 }..enum
18a40 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45   : uint { MCI_SE
18a50 51 5f 53 45 54 5f 53 4c 41 56 45 20 3d 20 30 78  Q_SET_SLAVE = 0x
18a60 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00040000 }..enum
18a70 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53 45   : uint { MCI_SE
18a80 51 5f 53 45 54 5f 4d 41 53 54 45 52 20 3d 20 30  Q_SET_MASTER = 0
18a90 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75  x00080000 }..enu
18aa0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 53  m : uint { MCI_S
18ab0 45 51 5f 53 45 54 5f 4f 46 46 53 45 54 20 3d 20  EQ_SET_OFFSET = 
18ac0 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x01000000 }....
18ad0 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 53 45  struct tagMCI_SE
18ae0 51 5f 53 45 54 5f 50 41 52 4d 53 20 7b 0d 0a 20  Q_SET_PARMS {.. 
18af0 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
18b00 6c 62 61 63 6b 3b 0d 0a 20 20 44 57 4f 52 44 20  lback;..  DWORD 
18b10 64 77 54 69 6d 65 46 6f 72 6d 61 74 3b 0d 0a 20  dwTimeFormat;.. 
18b20 20 44 57 4f 52 44 20 64 77 41 75 64 69 6f 3b 0d   DWORD dwAudio;.
18b30 0a 20 20 44 57 4f 52 44 20 64 77 54 65 6d 70 6f  .  DWORD dwTempo
18b40 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50 6f 72  ;..  DWORD dwPor
18b50 74 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 6c  t;..  DWORD dwSl
18b60 61 76 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77  ave;..  DWORD dw
18b70 4d 61 73 74 65 72 3b 0d 0a 20 20 44 57 4f 52 44  Master;..  DWORD
18b80 20 64 77 4f 66 66 73 65 74 3b 0d 0a 7d 0d 0a 61   dwOffset;..}..a
18b90 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45 51 5f  lias tagMCI_SEQ_
18ba0 53 45 54 5f 50 41 52 4d 53 20 4d 43 49 5f 53 45  SET_PARMS MCI_SE
18bb0 51 5f 53 45 54 5f 50 41 52 4d 53 3b 0d 0a 61 6c  Q_SET_PARMS;..al
18bc0 69 61 73 20 74 61 67 4d 43 49 5f 53 45 51 5f 53  ias tagMCI_SEQ_S
18bd0 45 54 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f 53  ET_PARMS* PMCI_S
18be0 45 51 5f 53 45 54 5f 50 41 52 4d 53 3b 0d 0a 61  EQ_SET_PARMS;..a
18bf0 6c 69 61 73 20 74 61 67 4d 43 49 5f 53 45 51 5f  lias tagMCI_SEQ_
18c00 53 45 54 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49  SET_PARMS* LPMCI
18c10 5f 53 45 51 5f 53 45 54 5f 50 41 52 4d 53 3b 0d  _SEQ_SET_PARMS;.
18c20 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
18c30 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 57   MCI_ANIM_OPEN_W
18c40 53 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d  S = 0x00010000 }
18c50 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18c60 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41  MCI_ANIM_OPEN_PA
18c70 52 45 4e 54 20 3d 20 30 78 30 30 30 32 30 30 30  RENT = 0x0002000
18c80 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
18c90 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e   { MCI_ANIM_OPEN
18ca0 5f 4e 4f 53 54 41 54 49 43 20 3d 20 30 78 30 30  _NOSTATIC = 0x00
18cb0 30 34 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  040000 }....enum
18cc0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e   : uint { MCI_AN
18cd0 49 4d 5f 50 4c 41 59 5f 53 50 45 45 44 20 3d 20  IM_PLAY_SPEED = 
18ce0 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e  0x00010000 }..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 52 45 56 45 52 53  ANIM_PLAY_REVERS
18d10 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d  E = 0x00020000 }
18d20 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
18d30 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f 46 41  MCI_ANIM_PLAY_FA
18d40 53 54 20 3d 20 30 78 30 30 30 34 30 30 30 30 20  ST = 0x00040000 
18d50 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
18d60 20 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f 53   MCI_ANIM_PLAY_S
18d70 4c 4f 57 20 3d 20 30 78 30 30 30 38 30 30 30 30  LOW = 0x00080000
18d80 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18d90 7b 20 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f  { MCI_ANIM_PLAY_
18da0 53 43 41 4e 20 3d 20 30 78 30 30 31 30 30 30 30  SCAN = 0x0010000
18db0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
18dc0 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 53 54  nt { MCI_ANIM_ST
18dd0 45 50 5f 52 45 56 45 52 53 45 20 3d 20 30 78 30  EP_REVERSE = 0x0
18de0 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0010000 }..enum 
18df0 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49  : uint { MCI_ANI
18e00 4d 5f 53 54 45 50 5f 46 52 41 4d 45 53 20 3d 20  M_STEP_FRAMES = 
18e10 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 0d 0a  0x00020000 }....
18e20 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
18e30 49 5f 41 4e 49 4d 5f 53 54 41 54 55 53 5f 53 50  I_ANIM_STATUS_SP
18e40 45 45 44 20 3d 20 30 78 30 30 30 30 34 30 30 31  EED = 0x00004001
18e50 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
18e60 7b 20 4d 43 49 5f 41 4e 49 4d 5f 53 54 41 54 55  { MCI_ANIM_STATU
18e70 53 5f 46 4f 52 57 41 52 44 20 3d 20 30 78 30 30  S_FORWARD = 0x00
18e80 30 30 34 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  004002 }..enum :
18e90 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d   uint { MCI_ANIM
18ea0 5f 53 54 41 54 55 53 5f 48 57 4e 44 20 3d 20 30  _STATUS_HWND = 0
18eb0 78 30 30 30 30 34 30 30 33 20 7d 0d 0a 65 6e 75  x00004003 }..enu
18ec0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41  m : uint { MCI_A
18ed0 4e 49 4d 5f 53 54 41 54 55 53 5f 48 50 41 4c 20  NIM_STATUS_HPAL 
18ee0 3d 20 30 78 30 30 30 30 34 30 30 34 20 7d 0d 0a  = 0x00004004 }..
18ef0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
18f00 49 5f 41 4e 49 4d 5f 53 54 41 54 55 53 5f 53 54  I_ANIM_STATUS_ST
18f10 52 45 54 43 48 20 3d 20 30 78 30 30 30 30 34 30  RETCH = 0x000040
18f20 30 35 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  05 }....enum : u
18f30 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 49  int { MCI_ANIM_I
18f40 4e 46 4f 5f 54 45 58 54 20 3d 20 30 78 30 30 30  NFO_TEXT = 0x000
18f50 31 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  10000 }....enum 
18f60 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49  : uint { MCI_ANI
18f70 4d 5f 47 45 54 44 45 56 43 41 50 53 5f 43 41 4e  M_GETDEVCAPS_CAN
18f80 5f 52 45 56 45 52 53 45 20 3d 20 30 78 30 30 30  _REVERSE = 0x000
18f90 30 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  04001 }..enum : 
18fa0 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f  uint { MCI_ANIM_
18fb0 47 45 54 44 45 56 43 41 50 53 5f 46 41 53 54 5f  GETDEVCAPS_FAST_
18fc0 52 41 54 45 20 3d 20 30 78 30 30 30 30 34 30 30  RATE = 0x0000400
18fd0 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
18fe0 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 47 45 54 44   { MCI_ANIM_GETD
18ff0 45 56 43 41 50 53 5f 53 4c 4f 57 5f 52 41 54 45  EVCAPS_SLOW_RATE
19000 20 3d 20 30 78 30 30 30 30 34 30 30 33 20 7d 0d   = 0x00004003 }.
19010 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
19020 43 49 5f 41 4e 49 4d 5f 47 45 54 44 45 56 43 41  CI_ANIM_GETDEVCA
19030 50 53 5f 4e 4f 52 4d 41 4c 5f 52 41 54 45 20 3d  PS_NORMAL_RATE =
19040 20 30 78 30 30 30 30 34 30 30 34 20 7d 0d 0a 65   0x00004004 }..e
19050 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49  num : uint { MCI
19060 5f 41 4e 49 4d 5f 47 45 54 44 45 56 43 41 50 53  _ANIM_GETDEVCAPS
19070 5f 50 41 4c 45 54 54 45 53 20 3d 20 30 78 30 30  _PALETTES = 0x00
19080 30 30 34 30 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a  004006 }..enum :
19090 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d   uint { MCI_ANIM
190a0 5f 47 45 54 44 45 56 43 41 50 53 5f 43 41 4e 5f  _GETDEVCAPS_CAN_
190b0 53 54 52 45 54 43 48 20 3d 20 30 78 30 30 30 30  STRETCH = 0x0000
190c0 34 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4007 }..enum : u
190d0 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 47  int { MCI_ANIM_G
190e0 45 54 44 45 56 43 41 50 53 5f 4d 41 58 5f 57 49  ETDEVCAPS_MAX_WI
190f0 4e 44 4f 57 53 20 3d 20 30 78 30 30 30 30 34 30  NDOWS = 0x000040
19100 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  08 }....enum : u
19110 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 52  int { MCI_ANIM_R
19120 45 41 4c 49 5a 45 5f 4e 4f 52 4d 20 3d 20 30 78  EALIZE_NORM = 0x
19130 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00010000 }..enum
19140 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e   : uint { MCI_AN
19150 49 4d 5f 52 45 41 4c 49 5a 45 5f 42 4b 47 44 20  IM_REALIZE_BKGD 
19160 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a  = 0x00020000 }..
19170 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
19180 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f  MCI_ANIM_WINDOW_
19190 48 57 4e 44 20 3d 20 30 78 30 30 30 31 30 30 30  HWND = 0x0001000
191a0 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
191b0 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44   { MCI_ANIM_WIND
191c0 4f 57 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30  OW_STATE = 0x000
191d0 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  40000 }..enum : 
191e0 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f  uint { MCI_ANIM_
191f0 57 49 4e 44 4f 57 5f 54 45 58 54 20 3d 20 30 78  WINDOW_TEXT = 0x
19200 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00080000 }..enum
19210 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e   : uint { MCI_AN
19220 49 4d 5f 57 49 4e 44 4f 57 5f 45 4e 41 42 4c 45  IM_WINDOW_ENABLE
19230 5f 53 54 52 45 54 43 48 20 3d 20 30 78 30 30 31  _STRETCH = 0x001
19240 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
19250 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f  uint { MCI_ANIM_
19260 57 49 4e 44 4f 57 5f 44 49 53 41 42 4c 45 5f 53  WINDOW_DISABLE_S
19270 54 52 45 54 43 48 20 3d 20 30 78 30 30 32 30 30  TRETCH = 0x00200
19280 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
19290 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f  uint { MCI_ANIM_
192a0 57 49 4e 44 4f 57 5f 44 45 46 41 55 4c 54 20 3d  WINDOW_DEFAULT =
192b0 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d   0x00000000 }...
192c0 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
192d0 43 49 5f 41 4e 49 4d 5f 52 45 43 54 20 3d 20 30  CI_ANIM_RECT = 0
192e0 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
192f0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41  m : uint { MCI_A
19300 4e 49 4d 5f 50 55 54 5f 53 4f 55 52 43 45 20 3d  NIM_PUT_SOURCE =
19310 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65   0x00020000 }..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 44 45 53 54 49 4e  _ANIM_PUT_DESTIN
19340 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 30 30  ATION = 0x000400
19350 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
19360 69 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 57  int { MCI_ANIM_W
19370 48 45 52 45 5f 53 4f 55 52 43 45 20 3d 20 30 78  HERE_SOURCE = 0x
19380 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00020000 }..enum
19390 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 41 4e   : uint { MCI_AN
193a0 49 4d 5f 57 48 45 52 45 5f 44 45 53 54 49 4e 41  IM_WHERE_DESTINA
193b0 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 30 30 30  TION = 0x0004000
193c0 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
193d0 6e 74 20 7b 20 4d 43 49 5f 41 4e 49 4d 5f 55 50  nt { MCI_ANIM_UP
193e0 44 41 54 45 5f 48 44 43 20 3d 20 30 78 30 30 30  DATE_HDC = 0x000
193f0 32 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 69  20000 }....// #i
19400 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73  fdef _WIN32....s
19410 74 72 75 63 74 20 74 61 67 4d 43 49 5f 41 4e 49  truct tagMCI_ANI
19420 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 20 7b 0d  M_OPEN_PARMSA {.
19430 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
19440 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43 49 44  allback;..  MCID
19450 45 56 49 43 45 49 44 20 77 44 65 76 69 63 65 49  EVICEID wDeviceI
19460 44 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73  D;..  LPCSTR lps
19470 74 72 44 65 76 69 63 65 54 79 70 65 3b 0d 0a 20  trDeviceType;.. 
19480 20 4c 50 43 53 54 52 20 6c 70 73 74 72 45 6c 65   LPCSTR lpstrEle
19490 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43  mentName;..  LPC
194a0 53 54 52 20 6c 70 73 74 72 41 6c 69 61 73 3b 0d  STR lpstrAlias;.
194b0 0a 20 20 44 57 4f 52 44 20 64 77 53 74 79 6c 65  .  DWORD dwStyle
194c0 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 50 61  ;..  HWND hWndPa
194d0 72 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  rent;..}..alias 
194e0 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e  tagMCI_ANIM_OPEN
194f0 5f 50 41 52 4d 53 41 20 4d 43 49 5f 41 4e 49 4d  _PARMSA MCI_ANIM
19500 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a 61  _OPEN_PARMSA;..a
19510 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d  lias tagMCI_ANIM
19520 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a 20 50 4d  _OPEN_PARMSA* PM
19530 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52  CI_ANIM_OPEN_PAR
19540 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSA;..alias tagM
19550 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52  CI_ANIM_OPEN_PAR
19560 4d 53 41 2a 20 4c 50 4d 43 49 5f 41 4e 49 4d 5f  MSA* LPMCI_ANIM_
19570 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d 0a 0d 0a  OPEN_PARMSA;....
19580 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 41 4e  struct tagMCI_AN
19590 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 7b  IM_OPEN_PARMSW {
195a0 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77  ..  DWORD_PTR dw
195b0 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d 43 49  Callback;..  MCI
195c0 44 45 56 49 43 45 49 44 20 77 44 65 76 69 63 65  DEVICEID wDevice
195d0 49 44 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c  ID;..  LPCWSTR l
195e0 70 73 74 72 44 65 76 69 63 65 54 79 70 65 3b 0d  pstrDeviceType;.
195f0 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72  .  LPCWSTR lpstr
19600 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20 20  ElementName;..  
19610 4c 50 43 57 53 54 52 20 6c 70 73 74 72 41 6c 69  LPCWSTR lpstrAli
19620 61 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53  as;..  DWORD dwS
19630 74 79 6c 65 3b 0d 0a 20 20 48 57 4e 44 20 68 57  tyle;..  HWND hW
19640 6e 64 50 61 72 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c  ndParent;..}..al
19650 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f  ias tagMCI_ANIM_
19660 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4d 43 49 5f  OPEN_PARMSW MCI_
19670 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 57  ANIM_OPEN_PARMSW
19680 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f  ;..alias tagMCI_
19690 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 57  ANIM_OPEN_PARMSW
196a0 2a 20 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e  * PMCI_ANIM_OPEN
196b0 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20  _PARMSW;..alias 
196c0 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e  tagMCI_ANIM_OPEN
196d0 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43 49 5f 41  _PARMSW* LPMCI_A
196e0 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 3b  NIM_OPEN_PARMSW;
196f0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
19700 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  ICODE..// ...../
19710 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4d  / #else..alias M
19720 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52  CI_ANIM_OPEN_PAR
19730 4d 53 41 20 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45  MSA MCI_ANIM_OPE
19740 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  N_PARMS;..alias 
19750 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50 45 4e 5f 50  PMCI_ANIM_OPEN_P
19760 41 52 4d 53 41 20 50 4d 43 49 5f 41 4e 49 4d 5f  ARMSA PMCI_ANIM_
19770 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  OPEN_PARMS;..ali
19780 61 73 20 4c 50 4d 43 49 5f 41 4e 49 4d 5f 4f 50  as LPMCI_ANIM_OP
19790 45 4e 5f 50 41 52 4d 53 41 20 4c 50 4d 43 49 5f  EN_PARMSA LPMCI_
197a0 41 4e 49 4d 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b  ANIM_OPEN_PARMS;
197b0 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
197c0 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 23 65 6c  NICODE....// #el
197d0 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
197e0 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20  endif....struct 
197f0 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59  tagMCI_ANIM_PLAY
19800 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52  _PARMS {..  DWOR
19810 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b  D_PTR dwCallback
19820 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 72 6f  ;..  DWORD dwFro
19830 6d 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 6f  m;..  DWORD dwTo
19840 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 70 65  ;..  DWORD dwSpe
19850 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  ed;..}..alias ta
19860 67 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f 50  gMCI_ANIM_PLAY_P
19870 41 52 4d 53 20 4d 43 49 5f 41 4e 49 4d 5f 50 4c  ARMS MCI_ANIM_PL
19880 41 59 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  AY_PARMS;..alias
19890 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41   tagMCI_ANIM_PLA
198a0 59 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f 41 4e  Y_PARMS* PMCI_AN
198b0 49 4d 5f 50 4c 41 59 5f 50 41 52 4d 53 3b 0d 0a  IM_PLAY_PARMS;..
198c0 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49  alias tagMCI_ANI
198d0 4d 5f 50 4c 41 59 5f 50 41 52 4d 53 2a 20 4c 50  M_PLAY_PARMS* LP
198e0 4d 43 49 5f 41 4e 49 4d 5f 50 4c 41 59 5f 50 41  MCI_ANIM_PLAY_PA
198f0 52 4d 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74  RMS;....struct t
19900 61 67 4d 43 49 5f 41 4e 49 4d 5f 53 54 45 50 5f  agMCI_ANIM_STEP_
19910 50 41 52 4d 53 20 7b 0d 0a 20 20 44 57 4f 52 44  PARMS {..  DWORD
19920 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b  _PTR dwCallback;
19930 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 72 61 6d  ..  DWORD dwFram
19940 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  es;..}..alias ta
19950 67 4d 43 49 5f 41 4e 49 4d 5f 53 54 45 50 5f 50  gMCI_ANIM_STEP_P
19960 41 52 4d 53 20 4d 43 49 5f 41 4e 49 4d 5f 53 54  ARMS MCI_ANIM_ST
19970 45 50 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73  EP_PARMS;..alias
19980 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 53 54 45   tagMCI_ANIM_STE
19990 50 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f 41 4e  P_PARMS* PMCI_AN
199a0 49 4d 5f 53 54 45 50 5f 50 41 52 4d 53 3b 0d 0a  IM_STEP_PARMS;..
199b0 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49  alias tagMCI_ANI
199c0 4d 5f 53 54 45 50 5f 50 41 52 4d 53 2a 20 4c 50  M_STEP_PARMS* LP
199d0 4d 43 49 5f 41 4e 49 4d 5f 53 54 45 50 5f 50 41  MCI_ANIM_STEP_PA
199e0 52 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  RMS;....// #ifde
199f0 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75  f _WIN32....stru
19a00 63 74 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 57  ct tagMCI_ANIM_W
19a10 49 4e 44 4f 57 5f 50 41 52 4d 53 41 20 7b 0d 0a  INDOW_PARMSA {..
19a20 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61    DWORD_PTR dwCa
19a30 6c 6c 62 61 63 6b 3b 0d 0a 20 20 48 57 4e 44 20  llback;..  HWND 
19a40 68 57 6e 64 3b 0d 0a 20 20 55 49 4e 54 20 6e 43  hWnd;..  UINT nC
19a50 6d 64 53 68 6f 77 3b 0d 0a 20 20 4c 50 43 53 54  mdShow;..  LPCST
19a60 52 20 6c 70 73 74 72 54 65 78 74 3b 0d 0a 7d 0d  R lpstrText;..}.
19a70 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e  .alias tagMCI_AN
19a80 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41  IM_WINDOW_PARMSA
19a90 20 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57   MCI_ANIM_WINDOW
19aa0 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20  _PARMSA;..alias 
19ab0 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44  tagMCI_ANIM_WIND
19ac0 4f 57 5f 50 41 52 4d 53 41 2a 20 50 4d 43 49 5f  OW_PARMSA* PMCI_
19ad0 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  ANIM_WINDOW_PARM
19ae0 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  SA;..alias tagMC
19af0 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41  I_ANIM_WINDOW_PA
19b00 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 41 4e 49 4d  RMSA* LPMCI_ANIM
19b10 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41 3b 0d  _WINDOW_PARMSA;.
19b20 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49  ...struct tagMCI
19b30 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52  _ANIM_WINDOW_PAR
19b40 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50  MSW {..  DWORD_P
19b50 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a  TR dwCallback;..
19b60 20 20 48 57 4e 44 20 68 57 6e 64 3b 0d 0a 20 20    HWND hWnd;..  
19b70 55 49 4e 54 20 6e 43 6d 64 53 68 6f 77 3b 0d 0a  UINT nCmdShow;..
19b80 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72 54    LPCWSTR lpstrT
19b90 65 78 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  ext;..}..alias t
19ba0 61 67 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f  agMCI_ANIM_WINDO
19bb0 57 5f 50 41 52 4d 53 57 20 4d 43 49 5f 41 4e 49  W_PARMSW MCI_ANI
19bc0 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57 3b  M_WINDOW_PARMSW;
19bd0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 41  ..alias tagMCI_A
19be0 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53  NIM_WINDOW_PARMS
19bf0 57 2a 20 50 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e  W* PMCI_ANIM_WIN
19c00 44 4f 57 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69  DOW_PARMSW;..ali
19c10 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 57  as tagMCI_ANIM_W
19c20 49 4e 44 4f 57 5f 50 41 52 4d 53 57 2a 20 4c 50  INDOW_PARMSW* LP
19c30 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f  MCI_ANIM_WINDOW_
19c40 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  PARMSW;....// #i
19c50 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
19c60 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
19c70 61 6c 69 61 73 20 4d 43 49 5f 41 4e 49 4d 5f 57  alias MCI_ANIM_W
19c80 49 4e 44 4f 57 5f 50 41 52 4d 53 41 20 4d 43 49  INDOW_PARMSA MCI
19c90 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52  _ANIM_WINDOW_PAR
19ca0 4d 53 3b 0d 0a 61 6c 69 61 73 20 50 4d 43 49 5f  MS;..alias PMCI_
19cb0 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  ANIM_WINDOW_PARM
19cc0 53 41 20 50 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e  SA PMCI_ANIM_WIN
19cd0 44 4f 57 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61  DOW_PARMS;..alia
19ce0 73 20 4c 50 4d 43 49 5f 41 4e 49 4d 5f 57 49 4e  s LPMCI_ANIM_WIN
19cf0 44 4f 57 5f 50 41 52 4d 53 41 20 4c 50 4d 43 49  DOW_PARMSA LPMCI
19d00 5f 41 4e 49 4d 5f 57 49 4e 44 4f 57 5f 50 41 52  _ANIM_WINDOW_PAR
19d10 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  MS;..// #endif /
19d20 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20  / UNICODE....// 
19d30 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
19d40 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74 72 75  / #endif....stru
19d50 63 74 20 74 61 67 4d 43 49 5f 41 4e 49 4d 5f 52  ct tagMCI_ANIM_R
19d60 45 43 54 5f 50 41 52 4d 53 20 7b 0d 0a 20 20 44  ECT_PARMS {..  D
19d70 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62  WORD_PTR dwCallb
19d80 61 63 6b 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ack;..// #ifdef 
19d90 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58 54 0d 0a  MCI_USE_OFFEXT..
19da0 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  // .....// #else
19db0 20 20 20 2f 2a 20 69 66 64 65 66 20 4d 43 49 5f     /* ifdef MCI_
19dc0 55 53 45 5f 4f 46 46 45 58 54 20 2a 2f 0d 0a 20  USE_OFFEXT */.. 
19dd0 20 52 45 43 54 20 72 63 3b 0d 0a 2f 2f 20 23 65   RECT rc;..// #e
19de0 6e 64 69 66 20 20 2f 2a 20 69 66 64 65 66 20 4d  ndif  /* ifdef M
19df0 43 49 5f 55 53 45 5f 4f 46 46 45 58 54 20 2a 2f  CI_USE_OFFEXT */
19e00 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  ..}..alias tagMC
19e10 49 5f 41 4e 49 4d 5f 52 45 43 54 5f 50 41 52 4d  I_ANIM_RECT_PARM
19e20 53 20 4d 43 49 5f 41 4e 49 4d 5f 52 45 43 54 5f  S MCI_ANIM_RECT_
19e30 50 41 52 4d 53 3b 0d 0a 0d 0a 61 6c 69 61 73 20  PARMS;....alias 
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 2a 20 50 4d 43 49 5f 41 4e 49 4d 5f 52  RMS* PMCI_ANIM_R
19e60 45 43 54 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61  ECT_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 4c 50 4d 43 49 5f 41 4e 49  PARMS* LPMCI_ANI
19e90 4d 5f 52 45 43 54 5f 50 41 52 4d 53 3b 0d 0a 0d  M_RECT_PARMS;...
19ea0 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 41  .struct tagMCI_A
19eb0 4e 49 4d 5f 55 50 44 41 54 45 5f 50 41 52 4d 53  NIM_UPDATE_PARMS
19ec0 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20   {..  DWORD_PTR 
19ed0 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 52  dwCallback;..  R
19ee0 45 43 54 20 72 63 3b 0d 0a 20 20 48 44 43 20 68  ECT rc;..  HDC h
19ef0 44 43 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  DC;..}..alias ta
19f00 67 4d 43 49 5f 41 4e 49 4d 5f 55 50 44 41 54 45  gMCI_ANIM_UPDATE
19f10 5f 50 41 52 4d 53 20 4d 43 49 5f 41 4e 49 4d 5f  _PARMS MCI_ANIM_
19f20 55 50 44 41 54 45 5f 50 41 52 4d 53 3b 0d 0a 61  UPDATE_PARMS;..a
19f30 6c 69 61 73 20 74 61 67 4d 43 49 5f 41 4e 49 4d  lias tagMCI_ANIM
19f40 5f 55 50 44 41 54 45 5f 50 41 52 4d 53 2a 20 50  _UPDATE_PARMS* P
19f50 4d 43 49 5f 41 4e 49 4d 5f 55 50 44 41 54 45 5f  MCI_ANIM_UPDATE_
19f60 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 74 61  PARMS;..alias ta
19f70 67 4d 43 49 5f 41 4e 49 4d 5f 55 50 44 41 54 45  gMCI_ANIM_UPDATE
19f80 5f 50 41 52 4d 53 2a 20 4c 50 4d 43 49 5f 41 4e  _PARMS* LPMCI_AN
19f90 49 4d 5f 55 50 44 41 54 45 5f 50 41 52 4d 53 3b  IM_UPDATE_PARMS;
19fa0 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
19fb0 7b 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f  { MCI_OVLY_OPEN_
19fc0 57 53 20 3d 20 30 78 30 30 30 31 30 30 30 30 20  WS = 0x00010000 
19fd0 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
19fe0 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50   MCI_OVLY_OPEN_P
19ff0 41 52 45 4e 54 20 3d 20 30 78 30 30 30 32 30 30  ARENT = 0x000200
1a000 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
1a010 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 53  int { MCI_OVLY_S
1a020 54 41 54 55 53 5f 48 57 4e 44 20 3d 20 30 78 30  TATUS_HWND = 0x0
1a030 30 30 30 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0004001 }..enum 
1a040 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c  : uint { MCI_OVL
1a050 59 5f 53 54 41 54 55 53 5f 53 54 52 45 54 43 48  Y_STATUS_STRETCH
1a060 20 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d 0d   = 0x00004002 }.
1a070 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1a080 20 4d 43 49 5f 4f 56 4c 59 5f 49 4e 46 4f 5f 54   MCI_OVLY_INFO_T
1a090 45 58 54 20 3d 20 30 78 30 30 30 31 30 30 30 30  EXT = 0x00010000
1a0a0 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
1a0b0 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 47 45 54  t { MCI_OVLY_GET
1a0c0 44 45 56 43 41 50 53 5f 43 41 4e 5f 53 54 52 45  DEVCAPS_CAN_STRE
1a0d0 54 43 48 20 3d 20 30 78 30 30 30 30 34 30 30 31  TCH = 0x00004001
1a0e0 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a0f0 7b 20 4d 43 49 5f 4f 56 4c 59 5f 47 45 54 44 45  { MCI_OVLY_GETDE
1a100 56 43 41 50 53 5f 43 41 4e 5f 46 52 45 45 5a 45  VCAPS_CAN_FREEZE
1a110 20 3d 20 30 78 30 30 30 30 34 30 30 32 20 7d 0d   = 0x00004002 }.
1a120 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1a130 43 49 5f 4f 56 4c 59 5f 47 45 54 44 45 56 43 41  CI_OVLY_GETDEVCA
1a140 50 53 5f 4d 41 58 5f 57 49 4e 44 4f 57 53 20 3d  PS_MAX_WINDOWS =
1a150 20 30 78 30 30 30 30 34 30 30 33 20 7d 0d 0a 0d   0x00004003 }...
1a160 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d  .enum : uint { M
1a170 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 48  CI_OVLY_WINDOW_H
1a180 57 4e 44 20 3d 20 30 78 30 30 30 31 30 30 30 30  WND = 0x00010000
1a190 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1a1a0 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f  { MCI_OVLY_WINDO
1a1b0 57 5f 53 54 41 54 45 20 3d 20 30 78 30 30 30 34  W_STATE = 0x0004
1a1c0 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1a1d0 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57  int { MCI_OVLY_W
1a1e0 49 4e 44 4f 57 5f 54 45 58 54 20 3d 20 30 78 30  INDOW_TEXT = 0x0
1a1f0 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0080000 }..enum 
1a200 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c  : uint { MCI_OVL
1a210 59 5f 57 49 4e 44 4f 57 5f 45 4e 41 42 4c 45 5f  Y_WINDOW_ENABLE_
1a220 53 54 52 45 54 43 48 20 3d 20 30 78 30 30 31 30  STRETCH = 0x0010
1a230 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0000 }..enum : u
1a240 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57  int { MCI_OVLY_W
1a250 49 4e 44 4f 57 5f 44 49 53 41 42 4c 45 5f 53 54  INDOW_DISABLE_ST
1a260 52 45 54 43 48 20 3d 20 30 78 30 30 32 30 30 30  RETCH = 0x002000
1a270 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
1a280 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57  int { MCI_OVLY_W
1a290 49 4e 44 4f 57 5f 44 45 46 41 55 4c 54 20 3d 20  INDOW_DEFAULT = 
1a2a0 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x00000000 }....
1a2b0 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43  enum : uint { MC
1a2c0 49 5f 4f 56 4c 59 5f 52 45 43 54 20 3d 20 30 78  I_OVLY_RECT = 0x
1a2d0 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00010000 }..enum
1a2e0 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56   : uint { MCI_OV
1a2f0 4c 59 5f 50 55 54 5f 53 4f 55 52 43 45 20 3d 20  LY_PUT_SOURCE = 
1a300 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..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 44 45 53 54 49 4e 41  OVLY_PUT_DESTINA
1a330 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 30 30 30  TION = 0x0004000
1a340 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1a350 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 50 55 54 5f   { MCI_OVLY_PUT_
1a360 46 52 41 4d 45 20 3d 20 30 78 30 30 30 38 30 30  FRAME = 0x000800
1a370 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1a380 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 50 55 54  t { MCI_OVLY_PUT
1a390 5f 56 49 44 45 4f 20 3d 20 30 78 30 30 31 30 30  _VIDEO = 0x00100
1a3a0 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
1a3b0 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f  uint { MCI_OVLY_
1a3c0 57 48 45 52 45 5f 53 4f 55 52 43 45 20 3d 20 30  WHERE_SOURCE = 0
1a3d0 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
1a3e0 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 43 49 5f 4f  m : uint { MCI_O
1a3f0 56 4c 59 5f 57 48 45 52 45 5f 44 45 53 54 49 4e  VLY_WHERE_DESTIN
1a400 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 34 30 30  ATION = 0x000400
1a410 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1a420 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f 57 48 45  t { MCI_OVLY_WHE
1a430 52 45 5f 46 52 41 4d 45 20 3d 20 30 78 30 30 30  RE_FRAME = 0x000
1a440 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  80000 }..enum : 
1a450 75 69 6e 74 20 7b 20 4d 43 49 5f 4f 56 4c 59 5f  uint { MCI_OVLY_
1a460 57 48 45 52 45 5f 56 49 44 45 4f 20 3d 20 30 78  WHERE_VIDEO = 0x
1a470 30 30 31 30 30 30 30 30 20 7d 0d 0a 0d 0a 2f 2f  00100000 }....//
1a480 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
1a490 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f  ..struct tagMCI_
1a4a0 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 41  OVLY_OPEN_PARMSA
1a4b0 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20   {..  DWORD_PTR 
1a4c0 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4d  dwCallback;..  M
1a4d0 43 49 44 45 56 49 43 45 49 44 20 77 44 65 76 69  CIDEVICEID wDevi
1a4e0 63 65 49 44 3b 0d 0a 20 20 4c 50 43 53 54 52 20  ceID;..  LPCSTR 
1a4f0 6c 70 73 74 72 44 65 76 69 63 65 54 79 70 65 3b  lpstrDeviceType;
1a500 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74 72  ..  LPCSTR lpstr
1a510 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d 0a 20 20  ElementName;..  
1a520 4c 50 43 53 54 52 20 6c 70 73 74 72 41 6c 69 61  LPCSTR lpstrAlia
1a530 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74  s;..  DWORD dwSt
1a540 79 6c 65 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e  yle;..  HWND hWn
1a550 64 50 61 72 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69  dParent;..}..ali
1a560 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4f  as tagMCI_OVLY_O
1a570 50 45 4e 5f 50 41 52 4d 53 41 20 4d 43 49 5f 4f  PEN_PARMSA MCI_O
1a580 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b  VLY_OPEN_PARMSA;
1a590 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f  ..alias tagMCI_O
1a5a0 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 2a  VLY_OPEN_PARMSA*
1a5b0 20 50 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f   PMCI_OVLY_OPEN_
1a5c0 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74  PARMSA;..alias t
1a5d0 61 67 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f  agMCI_OVLY_OPEN_
1a5e0 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 4f 56  PARMSA* LPMCI_OV
1a5f0 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 3b 0d  LY_OPEN_PARMSA;.
1a600 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49  ...struct tagMCI
1a610 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53  _OVLY_OPEN_PARMS
1a620 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52  W {..  DWORD_PTR
1a630 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20   dwCallback;..  
1a640 4d 43 49 44 45 56 49 43 45 49 44 20 77 44 65 76  MCIDEVICEID wDev
1a650 69 63 65 49 44 3b 0d 0a 20 20 4c 50 43 57 53 54  iceID;..  LPCWST
1a660 52 20 6c 70 73 74 72 44 65 76 69 63 65 54 79 70  R lpstrDeviceTyp
1a670 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  e;..  LPCWSTR lp
1a680 73 74 72 45 6c 65 6d 65 6e 74 4e 61 6d 65 3b 0d  strElementName;.
1a690 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 72  .  LPCWSTR lpstr
1a6a0 41 6c 69 61 73 3b 0d 0a 20 20 44 57 4f 52 44 20  Alias;..  DWORD 
1a6b0 64 77 53 74 79 6c 65 3b 0d 0a 20 20 48 57 4e 44  dwStyle;..  HWND
1a6c0 20 68 57 6e 64 50 61 72 65 6e 74 3b 0d 0a 7d 0d   hWndParent;..}.
1a6d0 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56  .alias tagMCI_OV
1a6e0 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 57 20 4d  LY_OPEN_PARMSW M
1a6f0 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52  CI_OVLY_OPEN_PAR
1a700 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSW;..alias tagM
1a710 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52  CI_OVLY_OPEN_PAR
1a720 4d 53 57 2a 20 50 4d 43 49 5f 4f 56 4c 59 5f 4f  MSW* PMCI_OVLY_O
1a730 50 45 4e 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69  PEN_PARMSW;..ali
1a740 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4f  as tagMCI_OVLY_O
1a750 50 45 4e 5f 50 41 52 4d 53 57 2a 20 4c 50 4d 43  PEN_PARMSW* LPMC
1a760 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d  I_OVLY_OPEN_PARM
1a770 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  SW;....// #ifdef
1a780 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
1a790 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
1a7a0 73 20 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f  s MCI_OVLY_OPEN_
1a7b0 50 41 52 4d 53 41 20 4d 43 49 5f 4f 56 4c 59 5f  PARMSA MCI_OVLY_
1a7c0 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69  OPEN_PARMS;..ali
1a7d0 61 73 20 50 4d 43 49 5f 4f 56 4c 59 5f 4f 50 45  as PMCI_OVLY_OPE
1a7e0 4e 5f 50 41 52 4d 53 41 20 50 4d 43 49 5f 4f 56  N_PARMSA PMCI_OV
1a7f0 4c 59 5f 4f 50 45 4e 5f 50 41 52 4d 53 3b 0d 0a  LY_OPEN_PARMS;..
1a800 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4f 56 4c 59  alias LPMCI_OVLY
1a810 5f 4f 50 45 4e 5f 50 41 52 4d 53 41 20 4c 50 4d  _OPEN_PARMSA LPM
1a820 43 49 5f 4f 56 4c 59 5f 4f 50 45 4e 5f 50 41 52  CI_OVLY_OPEN_PAR
1a830 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  MS;..// #endif /
1a840 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20  / UNICODE....// 
1a850 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
1a860 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23  / #endif....// #
1a870 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a  ifdef _WIN32....
1a880 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 4f 56  struct tagMCI_OV
1a890 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41  LY_WINDOW_PARMSA
1a8a0 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20   {..  DWORD_PTR 
1a8b0 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 48  dwCallback;..  H
1a8c0 57 4e 44 20 68 57 6e 64 3b 0d 0a 20 20 55 49 4e  WND hWnd;..  UIN
1a8d0 54 20 6e 43 6d 64 53 68 6f 77 3b 0d 0a 20 20 4c  T nCmdShow;..  L
1a8e0 50 43 53 54 52 20 6c 70 73 74 72 54 65 78 74 3b  PCSTR lpstrText;
1a8f0 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43  ..}..alias tagMC
1a900 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50 41  I_OVLY_WINDOW_PA
1a910 52 4d 53 41 20 4d 43 49 5f 4f 56 4c 59 5f 57 49  RMSA MCI_OVLY_WI
1a920 4e 44 4f 57 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c  NDOW_PARMSA;..al
1a930 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f  ias tagMCI_OVLY_
1a940 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41 2a 20 50  WINDOW_PARMSA* P
1a950 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f  MCI_OVLY_WINDOW_
1a960 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74  PARMSA;..alias t
1a970 61 67 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f  agMCI_OVLY_WINDO
1a980 57 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f  W_PARMSA* LPMCI_
1a990 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d  OVLY_WINDOW_PARM
1a9a0 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61  SA;....struct ta
1a9b0 67 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57  gMCI_OVLY_WINDOW
1a9c0 5f 50 41 52 4d 53 57 20 7b 0d 0a 20 20 44 57 4f  _PARMSW {..  DWO
1a9d0 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62 61 63  RD_PTR dwCallbac
1a9e0 6b 3b 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 3b  k;..  HWND hWnd;
1a9f0 0d 0a 20 20 55 49 4e 54 20 6e 43 6d 64 53 68 6f  ..  UINT nCmdSho
1aa00 77 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70  w;..  LPCWSTR lp
1aa10 73 74 72 54 65 78 74 3b 0d 0a 7d 0d 0a 61 6c 69  strText;..}..ali
1aa20 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 57  as tagMCI_OVLY_W
1aa30 49 4e 44 4f 57 5f 50 41 52 4d 53 57 20 4d 43 49  INDOW_PARMSW MCI
1aa40 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52  _OVLY_WINDOW_PAR
1aa50 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d  MSW;..alias tagM
1aa60 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f 50  CI_OVLY_WINDOW_P
1aa70 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4f 56 4c 59  ARMSW* PMCI_OVLY
1aa80 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57 3b 0d  _WINDOW_PARMSW;.
1aa90 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56  .alias tagMCI_OV
1aaa0 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 57  LY_WINDOW_PARMSW
1aab0 2a 20 4c 50 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e  * LPMCI_OVLY_WIN
1aac0 44 4f 57 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f  DOW_PARMSW;..../
1aad0 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
1aae0 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
1aaf0 73 65 0d 0a 61 6c 69 61 73 20 4d 43 49 5f 4f 56  se..alias MCI_OV
1ab00 4c 59 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41  LY_WINDOW_PARMSA
1ab10 20 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57   MCI_OVLY_WINDOW
1ab20 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20 50  _PARMS;..alias P
1ab30 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57 5f  MCI_OVLY_WINDOW_
1ab40 50 41 52 4d 53 41 20 50 4d 43 49 5f 4f 56 4c 59  PARMSA PMCI_OVLY
1ab50 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 3b 0d 0a  _WINDOW_PARMS;..
1ab60 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4f 56 4c 59  alias LPMCI_OVLY
1ab70 5f 57 49 4e 44 4f 57 5f 50 41 52 4d 53 41 20 4c  _WINDOW_PARMSA L
1ab80 50 4d 43 49 5f 4f 56 4c 59 5f 57 49 4e 44 4f 57  PMCI_OVLY_WINDOW
1ab90 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64  _PARMS;..// #end
1aba0 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f  if // UNICODE../
1abb0 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
1abc0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 73 74  .// #endif....st
1abd0 72 75 63 74 20 74 61 67 4d 43 49 5f 4f 56 4c 59  ruct tagMCI_OVLY
1abe0 5f 52 45 43 54 5f 50 41 52 4d 53 20 7b 0d 0a 20  _RECT_PARMS {.. 
1abf0 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c   DWORD_PTR dwCal
1ac00 6c 62 61 63 6b 3b 0d 0a 2f 2f 20 23 69 66 64 65  lback;..// #ifde
1ac10 66 20 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58 54  f MCI_USE_OFFEXT
1ac20 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
1ac30 73 65 20 20 20 2f 2a 20 69 66 64 65 66 20 4d 43  se   /* ifdef MC
1ac40 49 5f 55 53 45 5f 4f 46 46 45 58 54 20 2a 2f 0d  I_USE_OFFEXT */.
1ac50 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a 2f 2f 20  .  RECT rc;..// 
1ac60 23 65 6e 64 69 66 20 20 2f 2a 20 69 66 64 65 66  #endif  /* ifdef
1ac70 20 4d 43 49 5f 55 53 45 5f 4f 46 46 45 58 54 20   MCI_USE_OFFEXT 
1ac80 2a 2f 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  */..}..alias tag
1ac90 4d 43 49 5f 4f 56 4c 59 5f 52 45 43 54 5f 50 41  MCI_OVLY_RECT_PA
1aca0 52 4d 53 20 4d 43 49 5f 4f 56 4c 59 5f 52 45 43  RMS MCI_OVLY_REC
1acb0 54 5f 50 41 52 4d 53 3b 0d 0a 61 6c 69 61 73 20  T_PARMS;..alias 
1acc0 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 52 45 43 54  tagMCI_OVLY_RECT
1acd0 5f 50 41 52 4d 53 2a 20 50 4d 43 49 5f 4f 56 4c  _PARMS* PMCI_OVL
1ace0 59 5f 52 45 43 54 5f 50 41 52 4d 53 3b 0d 0a 61  Y_RECT_PARMS;..a
1acf0 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59  lias tagMCI_OVLY
1ad00 5f 52 45 43 54 5f 50 41 52 4d 53 2a 20 4c 50 4d  _RECT_PARMS* LPM
1ad10 43 49 5f 4f 56 4c 59 5f 52 45 43 54 5f 50 41 52  CI_OVLY_RECT_PAR
1ad20 4d 53 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  MS;....// #ifdef
1ad30 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73 74 72 75 63   _WIN32....struc
1ad40 74 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 53 41  t tagMCI_OVLY_SA
1ad50 56 45 5f 50 41 52 4d 53 41 20 7b 0d 0a 20 20 44  VE_PARMSA {..  D
1ad60 57 4f 52 44 5f 50 54 52 20 64 77 43 61 6c 6c 62  WORD_PTR dwCallb
1ad70 61 63 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c  ack;..  LPCSTR l
1ad80 70 66 69 6c 65 6e 61 6d 65 3b 0d 0a 20 20 52 45  pfilename;..  RE
1ad90 43 54 20 72 63 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  CT rc;..}..alias
1ada0 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 53 41 56   tagMCI_OVLY_SAV
1adb0 45 5f 50 41 52 4d 53 41 20 4d 43 49 5f 4f 56 4c  E_PARMSA MCI_OVL
1adc0 59 5f 53 41 56 45 5f 50 41 52 4d 53 41 3b 0d 0a  Y_SAVE_PARMSA;..
1add0 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c  alias tagMCI_OVL
1ade0 59 5f 53 41 56 45 5f 50 41 52 4d 53 41 2a 20 50  Y_SAVE_PARMSA* P
1adf0 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41  MCI_OVLY_SAVE_PA
1ae00 52 4d 53 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RMSA;..alias tag
1ae10 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41  MCI_OVLY_SAVE_PA
1ae20 52 4d 53 41 2a 20 4c 50 4d 43 49 5f 4f 56 4c 59  RMSA* LPMCI_OVLY
1ae30 5f 53 41 56 45 5f 50 41 52 4d 53 41 3b 0d 0a 0d  _SAVE_PARMSA;...
1ae40 0a 73 74 72 75 63 74 20 74 61 67 4d 43 49 5f 4f  .struct tagMCI_O
1ae50 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 57 20  VLY_SAVE_PARMSW 
1ae60 7b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64  {..  DWORD_PTR d
1ae70 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50  wCallback;..  LP
1ae80 43 57 53 54 52 20 6c 70 66 69 6c 65 6e 61 6d 65  CWSTR lpfilename
1ae90 3b 0d 0a 20 20 52 45 43 54 20 72 63 3b 0d 0a 7d  ;..  RECT rc;..}
1aea0 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f  ..alias tagMCI_O
1aeb0 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 57 20  VLY_SAVE_PARMSW 
1aec0 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41  MCI_OVLY_SAVE_PA
1aed0 52 4d 53 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RMSW;..alias tag
1aee0 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41  MCI_OVLY_SAVE_PA
1aef0 52 4d 53 57 2a 20 50 4d 43 49 5f 4f 56 4c 59 5f  RMSW* PMCI_OVLY_
1af00 53 41 56 45 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c  SAVE_PARMSW;..al
1af10 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f  ias tagMCI_OVLY_
1af20 53 41 56 45 5f 50 41 52 4d 53 57 2a 20 4c 50 4d  SAVE_PARMSW* LPM
1af30 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41 52  CI_OVLY_SAVE_PAR
1af40 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  MSW;....// #ifde
1af50 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e  f UNICODE..// ..
1af60 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
1af70 61 73 20 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45  as MCI_OVLY_SAVE
1af80 5f 50 41 52 4d 53 41 20 4d 43 49 5f 4f 56 4c 59  _PARMSA MCI_OVLY
1af90 5f 53 41 56 45 5f 50 41 52 4d 53 3b 0d 0a 61 6c  _SAVE_PARMS;..al
1afa0 69 61 73 20 50 4d 43 49 5f 4f 56 4c 59 5f 53 41  ias PMCI_OVLY_SA
1afb0 56 45 5f 50 41 52 4d 53 41 20 50 4d 43 49 5f 4f  VE_PARMSA PMCI_O
1afc0 56 4c 59 5f 53 41 56 45 5f 50 41 52 4d 53 3b 0d  VLY_SAVE_PARMS;.
1afd0 0a 61 6c 69 61 73 20 4c 50 4d 43 49 5f 4f 56 4c  .alias LPMCI_OVL
1afe0 59 5f 53 41 56 45 5f 50 41 52 4d 53 41 20 4c 50  Y_SAVE_PARMSA LP
1aff0 4d 43 49 5f 4f 56 4c 59 5f 53 41 56 45 5f 50 41  MCI_OVLY_SAVE_PA
1b000 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  RMS;..// #endif 
1b010 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  // UNICODE..// #
1b020 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
1b030 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
1b040 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a 0d 0a 73  fdef _WIN32....s
1b050 74 72 75 63 74 20 74 61 67 4d 43 49 5f 4f 56 4c  truct tagMCI_OVL
1b060 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 20 7b 0d  Y_LOAD_PARMSA {.
1b070 0a 20 20 44 57 4f 52 44 5f 50 54 52 20 64 77 43  .  DWORD_PTR dwC
1b080 61 6c 6c 62 61 63 6b 3b 0d 0a 20 20 4c 50 43 53  allback;..  LPCS
1b090 54 52 20 6c 70 66 69 6c 65 6e 61 6d 65 3b 0d 0a  TR lpfilename;..
1b0a0 20 20 52 45 43 54 20 72 63 3b 0d 0a 7d 0d 0a 61    RECT rc;..}..a
1b0b0 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f 56 4c 59  lias tagMCI_OVLY
1b0c0 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 20 4d 43 49  _LOAD_PARMSA MCI
1b0d0 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53  _OVLY_LOAD_PARMS
1b0e0 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49  A;..alias tagMCI
1b0f0 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53  _OVLY_LOAD_PARMS
1b100 41 2a 20 50 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41  A* PMCI_OVLY_LOA
1b110 44 5f 50 41 52 4d 53 41 3b 0d 0a 61 6c 69 61 73  D_PARMSA;..alias
1b120 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41   tagMCI_OVLY_LOA
1b130 44 5f 50 41 52 4d 53 41 2a 20 4c 50 4d 43 49 5f  D_PARMSA* LPMCI_
1b140 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 41  OVLY_LOAD_PARMSA
1b150 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4d  ;....struct tagM
1b160 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52  CI_OVLY_LOAD_PAR
1b170 4d 53 57 20 7b 0d 0a 20 20 44 57 4f 52 44 5f 50  MSW {..  DWORD_P
1b180 54 52 20 64 77 43 61 6c 6c 62 61 63 6b 3b 0d 0a  TR dwCallback;..
1b190 20 20 4c 50 43 57 53 54 52 20 6c 70 66 69 6c 65    LPCWSTR lpfile
1b1a0 6e 61 6d 65 3b 0d 0a 20 20 52 45 43 54 20 72 63  name;..  RECT rc
1b1b0 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d  ;..}..alias tagM
1b1c0 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52  CI_OVLY_LOAD_PAR
1b1d0 4d 53 57 20 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41  MSW MCI_OVLY_LOA
1b1e0 44 5f 50 41 52 4d 53 57 3b 0d 0a 61 6c 69 61 73  D_PARMSW;..alias
1b1f0 20 74 61 67 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41   tagMCI_OVLY_LOA
1b200 44 5f 50 41 52 4d 53 57 2a 20 50 4d 43 49 5f 4f  D_PARMSW* PMCI_O
1b210 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 3b  VLY_LOAD_PARMSW;
1b220 0d 0a 61 6c 69 61 73 20 74 61 67 4d 43 49 5f 4f  ..alias tagMCI_O
1b230 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 57 2a  VLY_LOAD_PARMSW*
1b240 20 4c 50 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44   LPMCI_OVLY_LOAD
1b250 5f 50 41 52 4d 53 57 3b 0d 0a 0d 0a 2f 2f 20 23  _PARMSW;....// #
1b260 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
1b270 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
1b280 0a 61 6c 69 61 73 20 4d 43 49 5f 4f 56 4c 59 5f  .alias MCI_OVLY_
1b290 4c 4f 41 44 5f 50 41 52 4d 53 41 20 4d 43 49 5f  LOAD_PARMSA MCI_
1b2a0 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 3b  OVLY_LOAD_PARMS;
1b2b0 0d 0a 61 6c 69 61 73 20 50 4d 43 49 5f 4f 56 4c  ..alias PMCI_OVL
1b2c0 59 5f 4c 4f 41 44 5f 50 41 52 4d 53 41 20 50 4d  Y_LOAD_PARMSA PM
1b2d0 43 49 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52  CI_OVLY_LOAD_PAR
1b2e0 4d 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 43 49  MS;..alias LPMCI
1b2f0 5f 4f 56 4c 59 5f 4c 4f 41 44 5f 50 41 52 4d 53  _OVLY_LOAD_PARMS
1b300 41 20 4c 50 4d 43 49 5f 4f 56 4c 59 5f 4c 4f 41  A LPMCI_OVLY_LOA
1b310 44 5f 50 41 52 4d 53 3b 0d 0a 2f 2f 20 23 65 6e  D_PARMS;..// #en
1b320 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
1b330 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
1b340 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
1b350 2f 20 23 65 6e 64 69 66 20 20 2f 2a 20 69 66 6e  / #endif  /* ifn
1b360 64 65 66 20 4d 4d 4e 4f 4d 43 49 20 2a 2f 0d 0a  def MMNOMCI */..
1b370 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 4e 45 57  ..// #ifndef NEW
1b380 54 52 41 4e 53 50 41 52 45 4e 54 0d 0a 65 6e 75  TRANSPARENT..enu
1b390 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 45 57 54 52  m : uint { NEWTR
1b3a0 41 4e 53 50 41 52 45 4e 54 20 3d 20 33 20 7d 0d  ANSPARENT = 3 }.
1b3b0 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1b3c0 20 51 55 45 52 59 52 4f 50 53 55 50 50 4f 52 54   QUERYROPSUPPORT
1b3d0 20 3d 20 34 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64   = 40 }..// #end
1b3e0 69 66 20 20 2f 2a 20 69 66 6e 64 65 66 20 4e 45  if  /* ifndef NE
1b3f0 57 54 52 41 4e 53 50 41 52 45 4e 54 20 2a 2f 0d  WTRANSPARENT */.
1b400 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1b410 20 53 45 4c 45 43 54 44 49 42 20 3d 20 34 31 20   SELECTDIB = 41 
1b420 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 44 49  }..// #define DI
1b430 42 49 4e 44 45 58 28 6e 29 20 4d 41 4b 45 4c 4f  BINDEX(n) MAKELO
1b440 4e 47 28 28 6e 29 2c 30 78 31 30 46 46 29 0d 0a  NG((n),0x10FF)..
1b450 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 53 43 5f  ..// #ifndef SC_
1b460 53 43 52 45 45 4e 53 41 56 45 0d 0a 0d 0a 65 6e  SCREENSAVE....en
1b470 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 43 5f 53  um : uint { SC_S
1b480 43 52 45 45 4e 53 41 56 45 20 3d 20 30 78 46 31  CREENSAVE = 0xF1
1b490 34 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69  40 }....// #endi
1b4a0 66 20 20 2f 2a 20 69 66 6e 64 65 66 20 53 43 5f  f  /* ifndef SC_
1b4b0 53 43 52 45 45 4e 53 41 56 45 20 2a 2f 0d 0a 0d  SCREENSAVE */...
1b4c0 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c  .// #ifdef __cpl
1b4d0 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f  usplus..// }..//
1b4e0 20 23 65 6e 64 69 66 20 20 2f 2a 20 5f 5f 63 70   #endif  /* __cp
1b4f0 6c 75 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a 2f 2f  lusplus */....//
1b500 20 23 69 66 64 65 66 20 5f 57 49 4e 33 32 0d 0a   #ifdef _WIN32..
1b510 61 6c 69 67 6e 3a 0d 0a 2f 2f 20 23 65 6c 73 65  align:..// #else
1b520 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 52 43 5f  ..// #ifndef RC_
1b530 49 4e 56 4f 4b 45 44 0d 0a 2f 2f 20 23 2e 2e 2e  INVOKED..// #...
1b540 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20  ..// #endif..// 
1b550 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e  #endif....// #en
1b560 64 69 66 20 20 2f 2a 20 5f 49 4e 43 5f 4d 4d 53  dif  /* _INC_MMS
1b570 59 53 54 45 4d 20 2a 2f 0d 0a 0d 0a              YSTEM */....