Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1665 lines
48 KiB

  1. /*++ BUILD Version: 0001
  2. *
  3. * WOW v1.0
  4. *
  5. * Copyright (c) 1991, Microsoft Corporation
  6. *
  7. * WOWMMED.H
  8. * 16-bit MultiMedia API argument structures
  9. *
  10. * History:
  11. * Created 21-Jan-1992 by Mike Tricker (MikeTri), based on the work by jeffpar
  12. --*/
  13. /*++
  14. General MultiMedia related information
  15. Moved all the typedefs for H* and VP* back to WOW.H - MikeTri 090492
  16. --*/
  17. typedef WORD MMVER16; // major (high byte), minor (low byte)
  18. #ifndef _INC_MMSYSTEM
  19. typedef DWORD FOURCC; // a four character code
  20. typedef LONG LPARAM;
  21. #endif
  22. #define MAXPNAMELEN 32 // max product name length (including NULL)
  23. /* XLATOFF */
  24. #pragma pack(1)
  25. /* XLATON */
  26. /*
  27. * MultiMedia Data Structures - MikeTri 10-Feb-1992
  28. *
  29. */
  30. typedef struct _AUXCAPS16 { /* ac16 */
  31. WORD wMid;
  32. WORD wPid;
  33. MMVER16 vDriverVersion;
  34. char szPname[MAXPNAMELEN];
  35. WORD wTechnology;
  36. DWORD dwSupport;
  37. } AUXCAPS16;
  38. typedef AUXCAPS16 UNALIGNED *PAUXCAPS16;
  39. typedef VPVOID VPAUXCAPS16;
  40. typedef struct _DRVCONFIGINFO16 { /* dci16 */
  41. DWORD dwDCISize;
  42. VPCSTR lpszDCISectionName;
  43. VPCSTR lpszDCIAliasName;
  44. } DRVCONFIGINFO16;
  45. typedef DRVCONFIGINFO16 UNALIGNED *PDRVCONFIGINFO16;
  46. typedef VPVOID VPDRVCONFIGINFO16;
  47. typedef struct _JOYCAPS16 { /* jc16 */
  48. WORD wMid;
  49. WORD wPid;
  50. char szPname[MAXPNAMELEN];
  51. WORD wXmin;
  52. WORD wXmax;
  53. WORD wYmin;
  54. WORD wYmax;
  55. WORD wZmin;
  56. WORD wZmax;
  57. WORD wNumButtons;
  58. WORD wPeriodMin;
  59. WORD wPeriodMax;
  60. } JOYCAPS16;
  61. typedef JOYCAPS16 UNALIGNED *PJOYCAPS16;
  62. typedef VPVOID VPJOYCAPS16;
  63. typedef struct _JOYINFO16 { /* ji16 */
  64. WORD wXpos;
  65. WORD wYpos;
  66. WORD wZpos;
  67. WORD wButtons;
  68. } JOYINFO16;
  69. typedef JOYINFO16 UNALIGNED *PJOYINFO16;
  70. typedef VPVOID VPJOYINFO16;
  71. typedef struct _MCI_ANIM_OPEN_PARMS16 { /* maop16 */
  72. DWORD dwCallback;
  73. WORD wDeviceID;
  74. WORD wReserved0;
  75. VPCSTR lpstrDeviceType;
  76. VPCSTR lpstrElementName;
  77. VPCSTR lpstrAlias;
  78. DWORD dwStyle;
  79. HWND16 hWndParent; // Keeps consistent, and is equivalent anyway
  80. WORD wReserved1;
  81. } MCI_ANIM_OPEN_PARMS16;
  82. typedef MCI_ANIM_OPEN_PARMS16 UNALIGNED *PMCI_ANIM_OPEN_PARMS16;
  83. typedef VPVOID VPMCI_ANIM_OPEN_PARMS16;
  84. typedef struct _MCI_ANIM_PLAY_PARMS16 { /* mapp16 */
  85. DWORD dwCallback;
  86. DWORD dwFrom;
  87. DWORD dwTo;
  88. DWORD dwSpeed;
  89. } MCI_ANIM_PLAY_PARMS16;
  90. typedef MCI_ANIM_PLAY_PARMS16 UNALIGNED *PMCI_ANIM_PLAY_PARMS16;
  91. typedef VPVOID VPMCA_ANIM_PLAY_PARMS16;
  92. typedef struct _MCI_ANIM_RECT_PARMS16 { /* marp16 */
  93. DWORD dwCallback;
  94. RECT16 rc;
  95. } MCI_ANIM_RECT_PARMS16;
  96. typedef MCI_ANIM_RECT_PARMS16 UNALIGNED *PMCI_ANIM_RECT_PARMS16;
  97. typedef VPVOID VPMCI_ANIM_RECT_PARMS16;
  98. typedef struct _MCI_ANIM_STEP_PARMS16 { /* masp16 */
  99. DWORD dwCallback;
  100. DWORD dwFrames;
  101. } MCI_ANIM_STEP_PARMS16;
  102. typedef MCI_ANIM_STEP_PARMS16 UNALIGNED *PMCI_ANIM_STEP_PARMS16;
  103. typedef VPVOID VPMCI_ANIM_STEP_PARMS16;
  104. typedef struct _MCI_ANIM_UPDATE_PARMS16 { /* maup16 */
  105. DWORD dwCalback;
  106. RECT16 rc;
  107. HDC16 hDC;
  108. } MCI_ANIM_UPDATE_PARMS16;
  109. typedef MCI_ANIM_UPDATE_PARMS16 UNALIGNED *PMCI_ANIM_UPDATE_PARMS16;
  110. typedef VPVOID VPMCI_ANIM_UPDATE_PARMS16;
  111. typedef struct _MCI_ANIM_WINDOW_PARMS16 { /* mawp16 */
  112. DWORD dwCallabck;
  113. HWND16 hWnd;
  114. WORD wReserved1;
  115. WORD nCmdShow;
  116. WORD wReserved2;
  117. VPCSTR lpstrText;
  118. } MCI_ANIM_WINDOW_PARMS16;
  119. typedef MCI_ANIM_WINDOW_PARMS16 UNALIGNED *PMCI_ANIM_WINDOW_PARMS16;
  120. typedef VPVOID VPMCI_ANIM_WINDOW_PARMS16;
  121. typedef struct _MCI_BREAK_PARMS16 { /* mbp16 */
  122. DWORD dwCallback;
  123. INT16 nVirtKey;
  124. WORD wReserved0;
  125. HWND16 hwndBreak;
  126. WORD wReserved1;
  127. } MCI_BREAK_PARMS16;
  128. typedef MCI_BREAK_PARMS16 UNALIGNED *PMCI_BREAK_PARMS16;
  129. typedef VPVOID VPMCI_BREAK_PARMS16;
  130. typedef struct _MCI_GENERIC_PARMS16 { /* mgp16 */
  131. DWORD dwCallback;
  132. } MCI_GENERIC_PARMS16;
  133. typedef MCI_GENERIC_PARMS16 UNALIGNED *PMCI_GENERIC_PARMS16;
  134. typedef VPVOID VPMCI_GENERIC_PARMS16;
  135. typedef struct _MCI_GETDEVCAPS_PARMS16 { /* mgdp16 */
  136. DWORD dwCallback;
  137. DWORD dwReturn;
  138. DWORD dwItem;
  139. } MCI_GETDEVCAPS_PARMS16;
  140. typedef MCI_GETDEVCAPS_PARMS16 UNALIGNED *PMCI_GETDEVCAPS_PARMS16;
  141. typedef VPVOID VPMCI_GETDEVCAPS_PARMS16;
  142. typedef struct _MCI_INFO_PARMS16 { /* mip16 */
  143. DWORD dwCallback;
  144. VPSTR lpstrReturn;
  145. DWORD dwRetSize;
  146. } MCI_INFO_PARMS16;
  147. typedef MCI_INFO_PARMS16 UNALIGNED *PMCI_INFO_PARMS16;
  148. typedef VPVOID VPMCI_INFO_PARMS16;
  149. typedef struct _MCI_LOAD_PARMS16 { /* mlp16 */
  150. DWORD dwCallback;
  151. VPCSTR lpfilename;
  152. } MCI_LOAD_PARMS16;
  153. typedef MCI_LOAD_PARMS16 UNALIGNED *PMCI_LOAD_PARMS16;
  154. typedef VPVOID VPMCI_LOAD_PARMS16;
  155. typedef struct _MCI_OPEN_PARMS16 { /* mop16 */
  156. DWORD dwCallback;
  157. WORD wDeviceID;
  158. WORD wReserved0;
  159. VPCSTR lpstrDeviceType;
  160. VPCSTR lpstrElementName;
  161. VPCSTR lpstrAlias;
  162. } MCI_OPEN_PARMS16;
  163. typedef MCI_OPEN_PARMS16 UNALIGNED *PMCI_OPEN_PARMS16;
  164. typedef VPVOID VPMCI_OPEN_PARMS16;
  165. typedef struct _MCI_OVLY_LOAD_PARMS16 { /* molp16 */
  166. DWORD dwCallback;
  167. VPCSTR lpfilename;
  168. RECT16 rc;
  169. } MCI_OVLY_LOAD_PARMS16;
  170. typedef MCI_OVLY_LOAD_PARMS16 UNALIGNED *PMCI_OVLY_LOAD_PARMS16;
  171. typedef VPVOID VPMCI_OVLY_LOAD_PARMS16;
  172. typedef struct _MCI_OVLY_OPEN_PARMS16 { /* moop16 */
  173. DWORD dwCallabck;
  174. WORD wDeviceID;
  175. WORD wReserved0;
  176. VPCSTR lpstrDeviceType;
  177. VPCSTR lpstrElementName;
  178. VPCSTR lpstrAlias;
  179. DWORD dwStyle;
  180. HWND16 hWndParent; // The book is wrong
  181. WORD wReserved1;
  182. } MCI_OVLY_OPEN_PARMS16;
  183. typedef MCI_OVLY_OPEN_PARMS16 UNALIGNED *PMCI_OVLY_OPEN_PARMS16;
  184. typedef VPVOID VPMCI_OVLY_OPEN_PARMS16;
  185. typedef struct _MCI_OVLY_RECT_PARMS16 { /* morp16 */
  186. DWORD dwCallback;
  187. RECT16 rc;
  188. } MCI_OVLY_RECT_PARMS16;
  189. typedef MCI_OVLY_RECT_PARMS16 UNALIGNED *PMCI_OVLY_RECT_PARMS16;
  190. typedef VPVOID VPMCI_OVLY_RECT_PARMS16;
  191. typedef struct _MCI_OVLY_SAVE_PARMS16 { /* mosp16 */
  192. DWORD dwCallback;
  193. VPCSTR lpfilename;
  194. RECT16 rc;
  195. } MCI_OVLY_SAVE_PARMS16;
  196. typedef MCI_OVLY_SAVE_PARMS16 UNALIGNED *PMCI_OVLY_SAVE_PARMS16;
  197. typedef VPVOID VPMCI_OVLY_SAVE_PARMS16;
  198. typedef struct _MCI_OVLY_WINDOW_PARMS16 { /* mowp16 */
  199. DWORD dwCallabck;
  200. HWND16 hWnd;
  201. WORD wReserved1;
  202. WORD nCmdShow;
  203. WORD wReserved2;
  204. VPCSTR lpstrText;
  205. } MCI_OVLY_WINDOW_PARMS16;
  206. typedef MCI_OVLY_WINDOW_PARMS16 UNALIGNED *PMCI_OVLY_WINDOW_PARMS16;
  207. typedef VPVOID VPMCI_OVLY_WINDOW_PARMS16;
  208. typedef struct _MCI_PLAY_PARMS16 { /* mplp16 */
  209. DWORD dwCallback;
  210. DWORD dwFrom;
  211. DWORD dwTo;
  212. } MCI_PLAY_PARMS16;
  213. typedef MCI_PLAY_PARMS16 UNALIGNED *PMCI_PLAY_PARMS16;
  214. typedef VPVOID VPMCI_PLAY_PARMS16;
  215. typedef struct _MCI_RECORD_PARMS16 { /* mrecp16 */
  216. DWORD dwCallabck;
  217. DWORD dwFrom;
  218. DWORD dwTo;
  219. } MCI_RECORD_PARMS16;
  220. typedef MCI_RECORD_PARMS16 UNALIGNED *PMCI_RECORD_PARMS16;
  221. typedef VPVOID VPMCI_RECORD_PARMS16;
  222. typedef struct _MCI_SAVE_PARMS16 { /* msavp16 */
  223. DWORD dwCallback;
  224. VPCSTR lpfilename; // MMSYSTEM.H differs from the book
  225. } MCI_SAVE_PARMS16;
  226. typedef MCI_SAVE_PARMS16 UNALIGNED *PMCI_SAVE_PARMS16;
  227. typedef VPVOID VPMCI_SAVE_PARMS16;
  228. typedef struct _MCI_SEEK_PARMS16 { /* msep16 */
  229. DWORD dwCallback;
  230. DWORD dwTo;
  231. } MCI_SEEK_PARMS16;
  232. typedef MCI_SEEK_PARMS16 UNALIGNED *PMCI_SEEK_PARMS16;
  233. typedef VPVOID VPMCI_SEEK_PARMS16;
  234. typedef struct _MCI_SEQ_SET_PARMS16 { /* mssp16 */
  235. DWORD dwCallback;
  236. DWORD dwTimeFormat;
  237. DWORD dwAudio;
  238. DWORD dwTempo;
  239. DWORD dwPort;
  240. DWORD dwSlave;
  241. DWORD dwMaster;
  242. DWORD dwOffset;
  243. } MCI_SEQ_SET_PARMS16;
  244. typedef MCI_SEQ_SET_PARMS16 UNALIGNED *PMCI_SEQ_SET_PARMS16;
  245. typedef VPVOID VPMCI_SEQ_SET_PARMS16;
  246. typedef struct _MCI_SET_PARMS16 { /* msetp16 */
  247. DWORD dwCallback;
  248. DWORD dwTimeFormat;
  249. DWORD dwAudio;
  250. } MCI_SET_PARMS16;
  251. typedef MCI_SET_PARMS16 UNALIGNED *PMCI_SET_PARMS16;
  252. typedef VPVOID VPMCI_SET_PARMS16;
  253. typedef struct _MCI_SOUND_PARMS16 { /* msoup16 */
  254. DWORD dwCallback;
  255. VPCSTR lpstrSoundName;
  256. } MCI_SOUND_PARMS16;
  257. typedef MCI_SOUND_PARMS16 UNALIGNED *PMCI_SOUND_PARMS16;
  258. typedef VPVOID VPMCI_SOUND_PARMS16;
  259. typedef struct _MCI_STATUS_PARMS16 { /* mstp16 */
  260. DWORD dwCallback;
  261. DWORD dwReturn;
  262. DWORD dwItem;
  263. DWORD dwTrack;
  264. } MCI_STATUS_PARMS16;
  265. typedef MCI_STATUS_PARMS16 UNALIGNED *PMCI_STATUS_PARMS16;
  266. typedef VPVOID VPMCI_STATUS_PARMS16;
  267. typedef struct _MCI_SYSINFO_PARMS16 { /* msyip16 */
  268. DWORD dwCallback;
  269. VPSTR lpstrReturn;
  270. DWORD dwRetSize;
  271. DWORD dwNumber;
  272. WORD wDeviceType;
  273. WORD wReserved0;
  274. } MCI_SYSINFO_PARMS16;
  275. typedef MCI_SYSINFO_PARMS16 UNALIGNED *PMCI_SYSINFO_PARMS16;
  276. typedef VPVOID VPMCI_SYSINFO_PARMS16;
  277. typedef struct _MCI_VD_ESCAPE_PARMS16 { /* mvep16 */
  278. DWORD dwCallback;
  279. VPCSTR lpstrCommand;
  280. } MCI_VD_ESCAPE_PARMS16;
  281. typedef MCI_VD_ESCAPE_PARMS16 UNALIGNED *PMCI_VD_ESCAPE_PARMS16;
  282. typedef VPVOID VPMCI_VD_ESCAPE_PARMS16;
  283. typedef struct _MCI_VD_PLAY_PARMS16 { /* mvpp16 */
  284. DWORD dwCallback;
  285. DWORD dwFrom;
  286. DWORD dwTo;
  287. DWORD dwSpeed;
  288. } MCI_VD_PLAY_PARMS16;
  289. typedef MCI_VD_PLAY_PARMS16 UNALIGNED *PMCI_VD_PLAY_PARMS16;
  290. typedef VPVOID VPMCI_VD_PLAY_PARMS16;
  291. typedef struct _MCI_VD_STEP_PARMS16 { /* mvsp16 */
  292. DWORD dwCallback;
  293. DWORD dwFrames;
  294. } MCI_VD_STEP_PARMS16;
  295. typedef MCI_VD_STEP_PARMS16 UNALIGNED *PMCI_VD_STEP_PARMS16;
  296. typedef VPVOID VPMCI_VD_STEP_PARMS16;
  297. typedef struct _MCI_VD_DELETE_PARMS16 { /* mvdp16 */
  298. DWORD dwCallback;
  299. DWORD dwFrom;
  300. DWORD dwTo;
  301. } MCI_VD_DELETE_PARMS16;
  302. typedef MCI_VD_DELETE_PARMS16 UNALIGNED *PMCI_VD_DELETE_PARMS16;
  303. typedef VPVOID VPMCI_VD_DELETE_PARMS16;
  304. typedef struct _MCI_WAVE_OPEN_PARMS16 { /* mwop16 */
  305. DWORD dwCallback;
  306. WORD wDeviceID;
  307. WORD wReserved0;
  308. VPCSTR lpstrDeviceType;
  309. VPCSTR lpstrElementName;
  310. VPCSTR lpstrAlias;
  311. DWORD dwBufferSeconds;
  312. } MCI_WAVE_OPEN_PARMS16;
  313. typedef MCI_WAVE_OPEN_PARMS16 UNALIGNED *PMCI_WAVE_OPEN_PARMS16;
  314. typedef VPVOID VPMCI_WAVE_OPEN_PARMS16;
  315. typedef struct _MCI_WAVE_SET_PARMS16 { /* mwsp16 */
  316. DWORD dwCallback;
  317. DWORD dwTimeFormat;
  318. DWORD dwAudio;
  319. WORD wInput;
  320. WORD wReserved0;
  321. WORD wOutput;
  322. WORD wReserved1;
  323. WORD wFormatTag;
  324. WORD wReserved2;
  325. WORD nChannels;
  326. WORD wReserved3;
  327. DWORD nSamplesPerSecond;
  328. DWORD nAvgBytesPerSec;
  329. WORD nBlockAlign;
  330. WORD wReserved4;
  331. WORD wBitsPerSample;
  332. WORD wReserved5;
  333. } MCI_WAVE_SET_PARMS16;
  334. typedef MCI_WAVE_SET_PARMS16 UNALIGNED *PMCI_WAVE_SET_PARMS16;
  335. typedef VPVOID VPMCI_WAVE_SET_PARMS16;
  336. typedef struct _MIDIHDR16 { /* mhdr16 */
  337. VPSTR lpData;
  338. DWORD dwBufferLength;
  339. DWORD dwBytesRecorded;
  340. DWORD dwUser;
  341. DWORD dwFlags;
  342. struct _MIDIHDR16 far *lpNext;
  343. DWORD reserved;
  344. } MIDIHDR16;
  345. typedef MIDIHDR16 UNALIGNED *PMIDIHDR16;
  346. typedef VPVOID VPMIDIHDR16;
  347. typedef struct _MIDIINCAPS16 { /* mic16 */
  348. WORD wMid;
  349. WORD wPid;
  350. MMVER16 vDriverVersion;
  351. char szPname[MAXPNAMELEN];
  352. } MIDIINCAPS16;
  353. typedef MIDIINCAPS16 UNALIGNED *PMIDIINCAPS16;
  354. typedef VPVOID VPMIDIINCAPS16;
  355. typedef struct _MIDIOUTCAPS16 { /* moc16 */
  356. WORD wMid;
  357. WORD wPid;
  358. MMVER16 vDriverVersion;
  359. char szPname[MAXPNAMELEN];
  360. WORD wTechnology;
  361. WORD wVoices;
  362. WORD wNotes;
  363. WORD wChannelMask;
  364. DWORD dwSupport;
  365. } MIDIOUTCAPS16;
  366. typedef MIDIOUTCAPS16 UNALIGNED *PMIDIOUTCAPS16;
  367. typedef VPVOID VPMIDIOUTCAPS16;
  368. typedef struct _MMCKINFO16 { /* mcki16 */
  369. FOURCC ckid;
  370. DWORD cksize;
  371. FOURCC fccType;
  372. DWORD dwDataOffset;
  373. DWORD dwFlags;
  374. } MMCKINFO16;
  375. typedef MMCKINFO16 UNALIGNED *PMMCKINFO16;
  376. typedef VPVOID VPMMCKINFO16;
  377. typedef struct _MMIOINFO16 { /* mioi16 */
  378. DWORD dwFlags;
  379. FOURCC fccIOProc;
  380. VPMMIOPROC16 pIOProc;
  381. WORD wErrorRet;
  382. HTASK16 htask; // Header file MMSYSTEM.H differs from book
  383. LONG cchBuffer;
  384. VPSTR pchBuffer;
  385. VPSTR pchNext;
  386. VPSTR pchEndRead;
  387. VPSTR pchEndWrite;
  388. LONG lBufOffset;
  389. LONG lDiskOffset;
  390. DWORD adwInfo[3]; // The book says [4], MMSYSTEM.H doesn't
  391. DWORD dwReserved1;
  392. DWORD dwReserved2;
  393. HMMIO16 hmmio;
  394. } MMIOINFO16;
  395. typedef MMIOINFO16 UNALIGNED *PMMIOINFO16;
  396. typedef VPVOID VPMMIOINFO16;
  397. typedef struct _MMPACTION16 { /* mpa16 */
  398. BYTE bMenuItem;
  399. BYTE bActionCode;
  400. WORD wTextOffset;
  401. } MMPACTION16;
  402. typedef MMPACTION16 UNALIGNED *PMMPACTION16;
  403. typedef VPVOID VPMMPACTION16;
  404. typedef struct _MMPLABEL16 { /* mpl16 */
  405. WORD wFrameNum;
  406. WORD wTextOffset;
  407. } MMPLABEL16;
  408. typedef MMPLABEL16 UNALIGNED *PMMPLABEL16;
  409. typedef VPVOID VPMMPLABEL16;
  410. typedef struct _MMPMOVIEINFO16 { /* mpmi16 */
  411. DWORD dwFileVersion;
  412. DWORD dwTotalFrames;
  413. DWORD dwInitialFramesPerSecond;
  414. WORD wPixelDepth;
  415. DWORD dwMovieExtentX;
  416. DWORD dwMovieExtentY;
  417. char chFullMacName[128];
  418. } MMPMOVIEINFO16;
  419. typedef MMPMOVIEINFO16 UNALIGNED *PMMPMOVIEINFO16;
  420. typedef VPVOID VPMMPMOVIEINFO16;
  421. /* XLATOFF */
  422. typedef struct _MMTIME16 { /* mmt16 */
  423. WORD wType;
  424. union {
  425. DWORD ms;
  426. DWORD sample;
  427. DWORD cb;
  428. struct {
  429. BYTE hour;
  430. BYTE min;
  431. BYTE sec;
  432. BYTE frame;
  433. BYTE fps;
  434. BYTE dummy;
  435. } smpte;
  436. struct {
  437. DWORD songptrpos;
  438. } midi;
  439. } u;
  440. } MMTIME16;
  441. typedef MMTIME16 UNALIGNED *PMMTIME16;
  442. /* XLATON */
  443. typedef VPVOID VPMMTIME16;
  444. typedef struct _TIMECAPS16 { /* timc16 */
  445. WORD wPeriodMin;
  446. WORD wPeriodMax;
  447. } TIMECAPS16;
  448. typedef TIMECAPS16 UNALIGNED *PTIMECAPS16;
  449. typedef VPVOID VPTIMECAPS16;
  450. typedef struct _WAVEFORMAT16 { /* wft16 */
  451. WORD wFormatTag;
  452. WORD nChannels;
  453. DWORD nSamplesPerSec;
  454. DWORD nAvgBytesPerSec;
  455. WORD nBlockAlign;
  456. } WAVEFORMAT16;
  457. typedef WAVEFORMAT16 UNALIGNED *PWAVEFORMAT16;
  458. typedef VPVOID VPWAVEFORMAT16;
  459. typedef struct _PCMWAVEFORMAT16 { /* pwf16 */
  460. WAVEFORMAT16 wf;
  461. WORD wBitsPerSample;
  462. } PCMWAVEFORMAT16;
  463. typedef PCMWAVEFORMAT16 UNALIGNED *PPCMWAVEFORMAT16;
  464. typedef VPVOID VPPCMWAVEFORMAT16;
  465. typedef struct _WAVEHDR16 { /* whd16 */
  466. VPSTR lpData;
  467. DWORD dwBufferLength;
  468. DWORD dwBytesRecorded;
  469. DWORD dwUser;
  470. DWORD dwFlags;
  471. DWORD dwLoops;
  472. struct _WAVEHDR16 far *lpNext;
  473. DWORD reserved;
  474. } WAVEHDR16;
  475. typedef WAVEHDR16 UNALIGNED *PWAVEHDR16;
  476. typedef VPVOID VPWAVEHDR16;
  477. typedef struct _WAVEINCAPS16 { /* wic16 */
  478. WORD wMid;
  479. WORD wPid;
  480. MMVER16 vDriverVersion;
  481. char szPname[MAXPNAMELEN];
  482. DWORD dwFormats;
  483. WORD wChannels;
  484. } WAVEINCAPS16;
  485. typedef WAVEINCAPS16 UNALIGNED *PWAVEINCAPS16;
  486. typedef VPVOID VPWAVEINCAPS16;
  487. typedef struct _WAVEOUTCAPS16 { /* woc16 */
  488. WORD wMid;
  489. WORD wPid;
  490. MMVER16 vDriverVersion;
  491. char szPname[MAXPNAMELEN];
  492. DWORD dwFormats;
  493. WORD wChannels;
  494. DWORD dwSupport;
  495. } WAVEOUTCAPS16;
  496. typedef WAVEOUTCAPS16 UNALIGNED *PWAVEOUTCAPS16;
  497. typedef VPVOID VPWAVEOUTCAPS16;
  498. /* XLATOFF */
  499. #pragma pack()
  500. /* XLATON */
  501. /*
  502. * MultiMedia Window messages - MikeTri 10-Feb-1992
  503. */
  504. //#define MM_JOY1MOVE 0x03A0 // Joystick
  505. //#define MM_JOY2MOVE 0x03A1
  506. //#define MM_JOY1ZMOVE 0x03A2
  507. //#define MM_JOY2ZMOVE 0x03A3
  508. //#define MM_JOY1BUTTONDOWN 0x03B5
  509. //#define MM_JOY2BUTTONDOWN 0x03B6
  510. //#define MM_JOY1BUTTONUP 0x03B7
  511. //#define MM_JOY2BUTTONUP 0x03B8
  512. //#define MM_MCINOTIFY 0x03B9 // MCI
  513. //#define MM_MCISYSTEM_STRING 0x03CA
  514. //#define MM_WOM_OPEN 0x03BB // Waveform Output
  515. //#define MM_WOM_CLOSE 0x03BC
  516. //#define MM_WOM_DONE 0x03BD
  517. //#define MM_WIM_OPEN 0x03BE // Waveform Input
  518. //#define MM_WIM_CLOSE 0x03BF
  519. //#define MM_WIM_DATA 0x03C0
  520. //#define MM_MIM_OPEN 0x03C1 // MIDI Input
  521. //#define MM_MIM_CLOSE 0x03C2
  522. //#define MM_MIM_DATA 0x03C3
  523. //#define MM_MIM_LONGDATA 0x03C4
  524. //#define MM_MIM_ERROR 0x03C5
  525. //#define MM_MIM_LONGERROR 0x03C6
  526. //#define MM_MOM_OPEN 0x03C7 // MIDI Output
  527. //#define MM_MOM_CLOSE 0x03C8
  528. //#define MM_MOM_DONE 0x03C9
  529. /*
  530. * End of MultiMedia Window messages - MikeTri
  531. */
  532. /*++
  533. MultiMedia API IDs - start adding all the other APIs - Mike, 04-Feb-1992
  534. This is the complete exported list, in MMSYSTEM order
  535. Well, actually it isn't anymore - various ones have been removed which
  536. we aren't supporting, and because of the joys of H2INC I can't leave them
  537. here as comments. So - if they need to be added again check in the
  538. function prototypes below this list for the correct formats.
  539. Need to recheck the numbers before compiling this lot... - this raises the
  540. point that if we add any more they ought to go at the end of the list,
  541. otherwise we end up juggling numbers, which is a drag.
  542. --*/
  543. #define FUN_MMCALLPROC32 2 //
  544. #define FUN_MMSYSTEMGETVERSION 5 //
  545. #define FUN_OUTPUTDEBUGSTR 30 //
  546. #define FUN_DRIVERCALLBACK 31 //
  547. #define FUN_NOTIFY_CALLBACK_DATA 32 //
  548. #define FUN_JOYGETNUMDEVS 101 //
  549. #define FUN_JOYGETDEVCAPS 102 //
  550. #define FUN_JOYGETPOS 103 //
  551. #define FUN_JOYGETTHRESHOLD 104 //
  552. #define FUN_JOYRELEASECAPTURE 105 //
  553. #define FUN_JOYSETCAPTURE 106 //
  554. #define FUN_JOYSETTHRESHOLD 107 //
  555. #define FUN_JOYSETCALIBRATION 109 //
  556. #define FUN_MIDIOUTGETNUMDEVS 201 //
  557. #define FUN_MIDIOUTGETDEVCAPS 202 //
  558. #define FUN_MIDIOUTGETERRORTEXT 203 //
  559. #define FUN_MIDIOUTOPEN 204 //
  560. #define FUN_MIDIOUTCLOSE 205 //
  561. #define FUN_MIDIOUTPREPAREHEADER32 206 //
  562. #define FUN_MIDIOUTUNPREPAREHEADER32 207 //
  563. #define FUN_MIDIOUTSHORTMSG 208 //
  564. #define FUN_MIDIOUTLONGMSG 209 //
  565. #define FUN_MIDIOUTRESET 210 //
  566. #define FUN_MIDIOUTGETVOLUME 211 //
  567. #define FUN_MIDIOUTSETVOLUME 212 //
  568. #define FUN_MIDIOUTCACHEPATCHES 213 //
  569. #define FUN_MIDIOUTCACHEDRUMPATCHES 214 //
  570. #define FUN_MIDIOUTGETID 215 //
  571. #define FUN_MIDIOUTMESSAGE32 216 //
  572. #define FUN_MIDIINGETNUMDEVS 301 //
  573. #define FUN_MIDIINGETDEVCAPS 302 //
  574. #define FUN_MIDIINGETERRORTEXT 303 //
  575. #define FUN_MIDIINOPEN 304 //
  576. #define FUN_MIDIINCLOSE 305 //
  577. #define FUN_MIDIINPREPAREHEADER32 306 //
  578. #define FUN_MIDIINUNPREPAREHEADER32 307 //
  579. #define FUN_MIDIINADDBUFFER 308 //
  580. #define FUN_MIDIINSTART 309 //
  581. #define FUN_MIDIINSTOP 310 //
  582. #define FUN_MIDIINRESET 311 //
  583. #define FUN_MIDIINGETID 312 //
  584. #define FUN_MIDIINMESSAGE32 313 //
  585. #define FUN_AUXGETNUMDEVS 350 //
  586. #define FUN_AUXGETDEVCAPS 351 //
  587. #define FUN_AUXGETVOLUME 352 //
  588. #define FUN_AUXSETVOLUME 353 //
  589. #define FUN_AUXOUTMESSAGE32 354 //
  590. #define FUN_WAVEOUTGETNUMDEVS 401 //
  591. #define FUN_WAVEOUTGETDEVCAPS 402 //
  592. #define FUN_WAVEOUTGETERRORTEXT 403 //
  593. #define FUN_WAVEOUTOPEN 404 //
  594. #define FUN_WAVEOUTCLOSE 405 //
  595. #define FUN_WAVEOUTPREPAREHEADER32 406 //
  596. #define FUN_WAVEOUTUNPREPAREHEADER32 407 //
  597. #define FUN_WAVEOUTWRITE 408 //
  598. #define FUN_WAVEOUTPAUSE 409 //
  599. #define FUN_WAVEOUTRESTART 410 //
  600. #define FUN_WAVEOUTRESET 411 //
  601. #define FUN_WAVEOUTGETPOSITION 412 //
  602. #define FUN_WAVEOUTGETPITCH 413 //
  603. #define FUN_WAVEOUTSETPITCH 414 //
  604. #define FUN_WAVEOUTGETVOLUME 415 //
  605. #define FUN_WAVEOUTSETVOLUME 416 //
  606. #define FUN_WAVEOUTGETPLAYBACKRATE 417 //
  607. #define FUN_WAVEOUTSETPLAYBACKRATE 418 //
  608. #define FUN_WAVEOUTBREAKLOOP 419 //
  609. #define FUN_WAVEOUTGETID 420 //
  610. #define FUN_WAVEOUTMESSAGE32 421 //
  611. #define FUN_WAVEINGETNUMDEVS 501 //
  612. #define FUN_WAVEINGETDEVCAPS 502 //
  613. #define FUN_WAVEINGETERRORTEXT 503 //
  614. #define FUN_WAVEINOPEN 504 //
  615. #define FUN_WAVEINCLOSE 505 //
  616. #define FUN_WAVEINPREPAREHEADER32 506 //
  617. #define FUN_WAVEINUNPREPAREHEADER32 507 //
  618. #define FUN_WAVEINADDBUFFER 508 //
  619. #define FUN_WAVEINSTART 509 //
  620. #define FUN_WAVEINSTOP 510 //
  621. #define FUN_WAVEINRESET 511 //
  622. #define FUN_WAVEINGETPOSITION 512 //
  623. #define FUN_WAVEINGETID 513 //
  624. #define FUN_WAVEINMESSAGE32 514 //
  625. #define FUN_TIMEGETSYSTEMTIME 601 //
  626. #define FUN_TIMEGETTIME 607 //
  627. #define FUN_TIMESETEVENT 602 //
  628. #define FUN_TIMEKILLEVENT 603 //
  629. #define FUN_TIMEGETDEVCAPS 604 //
  630. #define FUN_TIMEBEGINPERIOD 605 //
  631. #define FUN_TIMEENDPERIOD 606 //
  632. #define FUN_MCISENDCOMMAND 701 //
  633. #define FUN_MCISENDSTRING 702 //
  634. #define FUN_MCIGETDEVICEID 703 //
  635. #define FUN_MCIGETERRORSTRING 706 //
  636. #define FUN_MCIEXECUTE 712 //
  637. #define FUN_MCISETYIELDPROC 714 //
  638. #define FUN_MCIGETDEVICEIDFROMELEMENTID 715 //
  639. #define FUN_MCIGETYIELDPROC 716 //
  640. #define FUN_MCIGETCREATORTASK 717 //
  641. #define FUN_MMIOOPEN 1210 //
  642. #define FUN_MMIOCLOSE 1211 //
  643. #define FUN_MMIOREAD 1212 //
  644. #define FUN_MMIOWRITE 1213 //
  645. #define FUN_MMIOSEEK 1214 //
  646. #define FUN_MMIOGETINFO 1215 //
  647. #define FUN_MMIOSETINFO 1216 //
  648. #define FUN_MMIOSETBUFFER 1217 //
  649. #define FUN_MMIOFLUSH 1218 //
  650. #define FUN_MMIOADVANCE 1219 //
  651. #define FUN_MMIOSTRINGTOFOURCC 1220 //
  652. #define FUN_MMIOINSTALLIOPROC 1221 //
  653. #define FUN_MMIOSENDMESSAGE 1222 //
  654. #define FUN_MMIODESCEND 1223 //
  655. #define FUN_MMIOASCEND 1224 //
  656. #define FUN_MMIOCREATECHUNK 1225 //
  657. #define FUN_MMIORENAME 1226 //
  658. /* XLATOFF */
  659. #pragma pack(2)
  660. /* XLATON */
  661. /*++
  662. Function prototypes - the seemingly unimportant number in the comment on
  663. each function MUST match the ones in the list above - otherwise you will
  664. turn into a frog, and 16 bit MultiMedia will wave its feet in the air...
  665. !! BE WARNED !!
  666. --*/
  667. typedef struct _MMCALLPROC3216 { /* mm2 */
  668. DWORD fSetCurrentDirectory; /* Set the current directory ? */
  669. DWORD lpProcAddress; /* function to call */
  670. DWORD p1; /* dwParam2 */
  671. DWORD p2; /* dwParam1 */
  672. DWORD p3; /* dwInstance */
  673. DWORD p4; /* uMsg */
  674. DWORD p5; /* uDevId */
  675. } MMCALLPROC3216;
  676. typedef MMCALLPROC3216 UNALIGNED *PMMCALLPROC3216;
  677. #ifdef NULLSTRUCT
  678. typedef struct _MMSYSTEMGETVERSION16 { /* mm5 */
  679. } MMSYSTEMGETVERSION16;
  680. typedef MMSYSTEMGETVERSION16 UNALIGNED *PMMSYSTEMGETVERSION;
  681. #endif
  682. typedef struct _OUTPUTDEBUGSTR16 { /* mm30 */
  683. VPSTR f1;
  684. } OUTPUTDEBUGSTR16;
  685. typedef OUTPUTDEBUGSTR16 UNALIGNED *POUTPUTDEBUGSTR16;
  686. typedef struct _DRIVERCALLBACK16 { /* mm31 */
  687. DWORD f7;
  688. DWORD f6;
  689. DWORD f5;
  690. DWORD f4;
  691. HDRVR16 f3;
  692. DWORD f2;
  693. DWORD f1;
  694. } DRIVERCALLBACK16;
  695. typedef DRIVERCALLBACK16 UNALIGNED *PDRIVERCALLBACK16;
  696. typedef struct _NOTIFY_CALLBACK_DATA16 { /* mm32 */
  697. VPCALLBACK_DATA f1;
  698. } NOTIFY_CALLBACK_DATA16;
  699. typedef NOTIFY_CALLBACK_DATA16 UNALIGNED *PNOTIFY_CALLBACK_DATA16;
  700. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  701. #ifdef NULLSTRUCT
  702. typedef struct _STACKLEAVE16 { mm33
  703. } STACKLEAVE16;
  704. typedef STACKLEAVE16 UNALIGNED *PSTACKLEAVE16;
  705. #endif
  706. ------------------------------------------------------------------------------*/
  707. #ifdef NULLSTRUCT
  708. typedef struct _JOYGETNUMDEVS16 { /* mm101 */
  709. } JOYGETNUMDEVS16;
  710. typedef JOYGETNUMDEVS16 UNALIGNED *PJOYGETNUMDEVS16;
  711. #endif
  712. typedef struct _JOYGETDEVCAPS16 { /* mm102 */
  713. WORD f3;
  714. VPJOYCAPS16 f2;
  715. WORD f1;
  716. } JOYGETDEVCAPS16;
  717. typedef JOYGETDEVCAPS16 UNALIGNED *PJOYGETDEVCAPS16;
  718. typedef struct _JOYGETPOS16 { /* mm103 */
  719. VPJOYINFO16 f2;
  720. WORD f1;
  721. } JOYGETPOS16;
  722. typedef JOYGETPOS16 UNALIGNED *PJOYGETPOS16;
  723. typedef struct _JOYGETTHRESHOLD16 { /* mm104 */
  724. VPWORD f2;
  725. WORD f1;
  726. } JOYGETTHRESHOLD16;
  727. typedef JOYGETTHRESHOLD16 UNALIGNED *PJOYGETTHRESHOLD16;
  728. typedef struct _JOYRELEASECAPTURE16 { /* mm105 */
  729. WORD f1;
  730. } JOYRELEASECAPTURE16;
  731. typedef JOYRELEASECAPTURE16 UNALIGNED *PJOYRELEASECAPTURE16;
  732. typedef struct _JOYSETCAPTURE16 { /* mm106 */
  733. BOOL16 f4;
  734. WORD f3;
  735. WORD f2;
  736. HWND16 f1;
  737. } JOYSETCAPTURE16;
  738. typedef JOYSETCAPTURE16 UNALIGNED *PJOYSETCAPTURE16;
  739. typedef struct _JOYSETTHRESHOLD16 { /* mm107 */
  740. WORD f2;
  741. WORD f1;
  742. } JOYSETTHRESHOLD16;
  743. typedef JOYSETTHRESHOLD16 UNALIGNED *PJOYSETTHRESHOLD16;
  744. typedef struct _JOYSETCALIBRATION16 { /* mm109 */
  745. VPWORD f7;
  746. VPWORD f6;
  747. VPWORD f5;
  748. VPWORD f4;
  749. VPWORD f3;
  750. VPWORD f2;
  751. WORD f1;
  752. } JOYSETCALIBRATION16;
  753. typedef JOYSETCALIBRATION16 UNALIGNED *PJOYSETCALIBRATION16;
  754. #ifdef NULLSTRUCT
  755. typedef struct _MIDIOUTGETNUMDEVS16 { /* mm201 */
  756. } MIDIOUTGETNUMDEVS16;
  757. typedef MIDIOUTGETNUMDEVS16 UNALIGNED *PMIDIOUTGETNUMDEVS16;
  758. #endif
  759. typedef struct _MIDIOUTGETDEVCAPS16 { /* mm202 */
  760. WORD f3;
  761. VPMIDIOUTCAPS16 f2;
  762. WORD f1;
  763. } MIDIOUTGETDEVCAPS16;
  764. typedef MIDIOUTGETDEVCAPS16 UNALIGNED *PMIDIOUTGETDEVCAPS16;
  765. typedef struct _MIDIOUTGETERRORTEXT16 { /* mm203 */
  766. WORD f3;
  767. VPSTR f2;
  768. WORD f1;
  769. } MIDIOUTGETERRORTEXT16;
  770. typedef MIDIOUTGETERRORTEXT16 UNALIGNED *PMIDIOUTGETERRORTEXT16;
  771. typedef struct _MIDIOUTOPEN16 { /* mm204 */
  772. DWORD f5;
  773. DWORD f4;
  774. DWORD f3;
  775. WORD f2;
  776. VPHMIDIOUT16 f1;
  777. } MIDIOUTOPEN16;
  778. typedef MIDIOUTOPEN16 UNALIGNED *PMIDIOUTOPEN16;
  779. typedef struct _MIDIOUTCLOSE16 { /* mm205 */
  780. HMIDIOUT16 f1;
  781. } MIDIOUTCLOSE16;
  782. typedef MIDIOUTCLOSE16 UNALIGNED *PMIDIOUTCLOSE16;
  783. typedef struct _MIDIOUTPREPAREHEADER3216 { /* mm206 */
  784. WORD f3;
  785. VPMIDIHDR16 f2;
  786. HMIDIOUT16 f1;
  787. } MIDIOUTPREPAREHEADER3216;
  788. typedef MIDIOUTPREPAREHEADER3216 UNALIGNED *PMIDIOUTPREPAREHEADER3216;
  789. typedef struct _MIDIOUTUNPREPAREHEADER3216 { /* mm207 */
  790. WORD f3;
  791. VPMIDIHDR16 f2;
  792. HMIDIOUT16 f1;
  793. } MIDIOUTUNPREPAREHEADER3216;
  794. typedef MIDIOUTUNPREPAREHEADER3216 UNALIGNED *PMIDIOUTUNPREPAREHEADER3216;
  795. typedef struct _MIDIOUTSHORTMSG16 { /* mm208 */
  796. DWORD f2;
  797. HMIDIOUT16 f1;
  798. } MIDIOUTSHORTMSG16;
  799. typedef MIDIOUTSHORTMSG16 UNALIGNED *PMIDIOUTSHORTMSG16;
  800. typedef struct _MIDIOUTLONGMSG16 { /* mm209 */
  801. WORD f3;
  802. VPMIDIHDR16 f2;
  803. HMIDIOUT16 f1;
  804. } MIDIOUTLONGMSG16;
  805. typedef MIDIOUTLONGMSG16 UNALIGNED *PMIDIOUTLONGMSG16;
  806. typedef struct _MIDIOUTRESET16 { /* mm210 */
  807. HMIDIOUT16 f1;
  808. } MIDIOUTRESET16;
  809. typedef MIDIOUTRESET16 UNALIGNED *PMIDIOUTRESET16;
  810. typedef struct _MIDIOUTGETVOLUME16 { /* mm211 */
  811. VPDWORD f2;
  812. WORD f1;
  813. } MIDIOUTGETVOLUME16;
  814. typedef MIDIOUTGETVOLUME16 UNALIGNED *PMIDIOUTGETVOLUME16;
  815. typedef struct _MIDIOUTSETVOLUME16 { /* mm212 */
  816. DWORD f2;
  817. WORD f1;
  818. } MIDIOUTSETVOLUME16;
  819. typedef MIDIOUTSETVOLUME16 UNALIGNED *PMIDIOUTSETVOLUME16;
  820. typedef struct _MIDIOUTCACHEPATCHES16 { /* mm213 */
  821. WORD f4;
  822. VPPATCHARRAY16 f3;
  823. WORD f2;
  824. HMIDIOUT16 f1;
  825. } MIDIOUTCACHEPATCHES16;
  826. typedef MIDIOUTCACHEPATCHES16 UNALIGNED *PMIDIOUTCACHEPATCHES16;
  827. typedef struct _MIDIOUTCACHEDRUMPATCHES16 { /* mm214 */
  828. WORD f4;
  829. VPKEYARRAY16 f3;
  830. WORD f2;
  831. HMIDIOUT16 f1;
  832. } MIDIOUTCACHEDRUMPATCHES16;
  833. typedef MIDIOUTCACHEDRUMPATCHES16 UNALIGNED *PMIDIOUTCACHEDRUMPATCHES16;
  834. typedef struct _MIDIOUTGETID16 { /* mm215 */
  835. VPWORD f2;
  836. HMIDIOUT16 f1;
  837. } MIDIOUTGETID16;
  838. typedef MIDIOUTGETID16 UNALIGNED *PMIDIOUTGETID16;
  839. typedef struct _MIDIOUTMESSAGE3216 { /* mm216 */
  840. DWORD f4;
  841. DWORD f3;
  842. WORD f2;
  843. HMIDIOUT16 f1;
  844. } MIDIOUTMESSAGE3216;
  845. typedef MIDIOUTMESSAGE3216 UNALIGNED *PMIDIOUTMESSAGE3216;
  846. #ifdef NULLSTRUCT
  847. typedef struct _MIDIINGETNUMDEVS16 { /* mm301 */
  848. } MIDIINGETNUMDEVS16;
  849. typedef MIDIINGETNUMDEVS16 UNALIGNED *PMIDIINGETNUMDEVS16;
  850. #endif
  851. typedef struct _MIDIINGETDEVCAPS16 { /* mm302 */
  852. WORD f3;
  853. VPMIDIINCAPS16 f2;
  854. WORD f1;
  855. } MIDIINGETDEVCAPS16;
  856. typedef MIDIINGETDEVCAPS16 UNALIGNED *PMIDIINGETDEVCAPS16;
  857. typedef struct _MIDIINGETERRORTEXT16 { /* mm303 */
  858. WORD f3;
  859. VPSTR f2;
  860. WORD f1;
  861. } MIDIINGETERRORTEXT16;
  862. typedef MIDIINGETERRORTEXT16 UNALIGNED *PMIDIINGETERRORTEXT16;
  863. typedef struct _MIDIINOPEN16 { /* mm304 */
  864. DWORD f5;
  865. DWORD f4;
  866. DWORD f3;
  867. WORD f2;
  868. VPHMIDIIN16 f1;
  869. } MIDIINOPEN16;
  870. typedef MIDIINOPEN16 UNALIGNED *PMIDIINOPEN16;
  871. typedef struct _MIDIINCLOSE16 { /* mm305 */
  872. HMIDIIN16 f1;
  873. } MIDIINCLOSE16;
  874. typedef MIDIINCLOSE16 UNALIGNED *PMIDIINCLOSE16;
  875. typedef struct _MIDIINPREPAREHEADER3216 { /* mm306 */
  876. WORD f3;
  877. VPMIDIHDR16 f2;
  878. HMIDIIN16 f1;
  879. } MIDIINPREPAREHEADER3216;
  880. typedef MIDIINPREPAREHEADER3216 UNALIGNED *PMIDIINPREPAREHEADER3216;
  881. typedef struct _MIDIINUNPREPAREHEADER3216 { /* mm307 */
  882. WORD f3;
  883. VPMIDIHDR16 f2;
  884. HMIDIIN16 f1;
  885. } MIDIINUNPREPAREHEADER3216;
  886. typedef MIDIINUNPREPAREHEADER3216 UNALIGNED *PMIDIINUNPREPAREHEADER3216;
  887. typedef struct _MIDIINADDBUFFER16 { /* mm308 */
  888. WORD f3;
  889. VPMIDIHDR16 f2;
  890. HMIDIIN16 f1;
  891. } MIDIINADDBUFFER16;
  892. typedef MIDIINADDBUFFER16 UNALIGNED *PMIDIINADDBUFFER16;
  893. typedef struct _MIDIINSTART16 { /* mm309 */
  894. HMIDIIN16 f1;
  895. } MIDIINSTART16;
  896. typedef MIDIINSTART16 UNALIGNED *PMIDIINSTART16;
  897. typedef struct _MIDIINSTOP16 { /* mm310 */
  898. HMIDIIN16 f1;
  899. } MIDIINSTOP16;
  900. typedef MIDIINSTOP16 UNALIGNED *PMIDIINSTOP16;
  901. typedef struct _MIDIINRESET16 { /* mm311 */
  902. HMIDIIN16 f1;
  903. } MIDIINRESET16;
  904. typedef MIDIINRESET16 UNALIGNED *PMIDIINRESET16;
  905. typedef struct _MIDIINGETID16 { /* mm312 */
  906. VPWORD f2;
  907. HMIDIIN16 f1;
  908. } MIDIINGETID16;
  909. typedef MIDIINGETID16 UNALIGNED *PMIDIINGETID16;
  910. typedef struct _MIDIINMESSAGE3216 { /* mm313 */
  911. DWORD f4;
  912. DWORD f3;
  913. WORD f2;
  914. HMIDIIN16 f1;
  915. } MIDIINMESSAGE3216;
  916. typedef MIDIINMESSAGE3216 UNALIGNED *PMIDIINMESSAGE3216;
  917. #ifdef NULLSTRUCT
  918. typedef struct _AUXGETNUMDEVS16 { /* mm350 */
  919. } AUXGETNUMDEVS16;
  920. typedef AUXGETNUMDEVS16 UNALIGNED *PAUGGETNUMDEVS16;
  921. #endif
  922. typedef struct _AUXGETDEVCAPS16 { /* mm351 */
  923. WORD f3;
  924. VPAUXCAPS16 f2;
  925. WORD f1;
  926. } AUXGETDEVCAPS16;
  927. typedef AUXGETDEVCAPS16 UNALIGNED *PAUXGETDEVCAPS16;
  928. typedef struct _AUXGETVOLUME16 { /* mm352 */
  929. VPDWORD f2;
  930. WORD f1;
  931. } AUXGETVOLUME16;
  932. typedef AUXGETVOLUME16 UNALIGNED *PAUXGETVOLUME16;
  933. typedef struct _AUXSETVOLUME16 { /* mm353 */
  934. DWORD f2;
  935. WORD f1;
  936. } AUXSETVOLUME16;
  937. typedef AUXSETVOLUME16 UNALIGNED *PAUXSETVOLUME16;
  938. typedef struct _AUXOUTMESSAGE3216 { /* mm354 */
  939. DWORD f4;
  940. DWORD f3;
  941. WORD f2;
  942. WORD f1;
  943. } AUXOUTMESSAGE3216;
  944. typedef AUXOUTMESSAGE3216 UNALIGNED *PAUXOUTMESSAGE3216;
  945. #ifdef NULLSTRUCT
  946. typedef struct _WAVEOUTGETNUMDEVS16 { /* mm401 */
  947. } WAVEOUTGETNUMDEVS16;
  948. typedef WAVEOUTGETNUMDEVS16 UNALIGNED *PWAVEOUTGETNUMDEVS16;
  949. #endif
  950. typedef struct _WAVEOUTGETDEVCAPS16 { /* mm402 */
  951. WORD f3;
  952. VPWAVEOUTCAPS16 f2;
  953. WORD f1;
  954. } WAVEOUTGETDEVCAPS16;
  955. typedef WAVEOUTGETDEVCAPS16 UNALIGNED *PWAVEOUTGETDEVCAPS16;
  956. typedef struct _WAVEOUTGETERRORTEXT16 { /* mm403 */
  957. WORD f3;
  958. VPSTR f2;
  959. WORD f1;
  960. } WAVEOUTGETERRORTEXT16;
  961. typedef WAVEOUTGETERRORTEXT16 UNALIGNED *PWAVEOUTGETERRORTEXT16;
  962. typedef struct _WAVEOUTOPEN16 { /* mm404 */
  963. DWORD f6;
  964. DWORD f5;
  965. DWORD f4;
  966. VPWAVEFORMAT16 f3;
  967. WORD f2;
  968. VPHWAVEOUT16 f1;
  969. } WAVEOUTOPEN16;
  970. typedef WAVEOUTOPEN16 UNALIGNED *PWAVEOUTOPEN16;
  971. typedef struct _WAVEOUTCLOSE16 { /* mm405 */
  972. HWAVEOUT16 f1;
  973. } WAVEOUTCLOSE16;
  974. typedef WAVEOUTCLOSE16 UNALIGNED *PWAVEOUTCLOSE16;
  975. typedef struct _WAVEOUTPREPAREHEADER3216 { /* mm406 */
  976. WORD f3;
  977. VPWAVEHDR16 f2;
  978. HWAVEOUT16 f1;
  979. } WAVEOUTPREPAREHEADER3216;
  980. typedef WAVEOUTPREPAREHEADER3216 UNALIGNED *PWAVEOUTPREPAREHEADER3216;
  981. typedef struct _WAVEOUTUNPREPAREHEADER3216 { /* mm407 */
  982. WORD f3;
  983. VPWAVEHDR16 f2;
  984. HWAVEOUT16 f1;
  985. } WAVEOUTUNPREPAREHEADER3216;
  986. typedef WAVEOUTUNPREPAREHEADER3216 UNALIGNED *PWAVEOUTUNPREPAREHEADER3216;
  987. typedef struct _WAVEOUTWRITE16 { /* mm408 */
  988. WORD f3;
  989. VPWAVEHDR16 f2;
  990. HWAVEOUT16 f1;
  991. } WAVEOUTWRITE16;
  992. typedef WAVEOUTWRITE16 UNALIGNED *PWAVEOUTWRITE16;
  993. typedef struct _WAVEOUTPAUSE16 { /* mm409 */
  994. HWAVEOUT16 f1;
  995. } WAVEOUTPAUSE16;
  996. typedef WAVEOUTPAUSE16 UNALIGNED *PWAVEOUTPAUSE16;
  997. typedef struct _WAVEOUTRESTART16 { /* mm410 */
  998. HWAVEOUT16 f1;
  999. } WAVEOUTRESTART16;
  1000. typedef WAVEOUTRESTART16 UNALIGNED *PWAVEOUTRESTART16;
  1001. typedef struct _WAVEOUTRESET16 { /* mm411 */
  1002. HWAVEOUT16 f1;
  1003. } WAVEOUTRESET16;
  1004. typedef WAVEOUTRESET16 UNALIGNED *PWAVEOUTRESET16;
  1005. typedef struct _WAVEOUTGETPOSITION16 { /* mm412 */
  1006. WORD f3;
  1007. VPMMTIME16 f2;
  1008. HWAVEOUT16 f1;
  1009. } WAVEOUTGETPOSITION16;
  1010. typedef WAVEOUTGETPOSITION16 UNALIGNED *PWAVEOUTGETPOSITION16;
  1011. typedef struct _WAVEOUTGETPITCH16 { /* mm413 */
  1012. VPDWORD f2;
  1013. HWAVEOUT16 f1;
  1014. } WAVEOUTGETPITCH16;
  1015. typedef WAVEOUTGETPITCH16 UNALIGNED *PWAVEOUTGETPITCH16;
  1016. typedef struct _WAVEOUTSETPITCH16 { /* mm414 */
  1017. DWORD f2;
  1018. HWAVEOUT16 f1;
  1019. } WAVEOUTSETPITCH16;
  1020. typedef WAVEOUTSETPITCH16 UNALIGNED *PWAVEOUTSETPITCH16;
  1021. typedef struct _WAVEOUTGETVOLUME16 { /* mm415 */
  1022. VPDWORD f2;
  1023. WORD f1;
  1024. } WAVEOUTGETVOLUME16;
  1025. typedef WAVEOUTGETVOLUME16 UNALIGNED *PWAVEOUTGETVOLUME16;
  1026. typedef struct _WAVEOUTSETVOLUME16 { /* mm416 */
  1027. DWORD f2;
  1028. WORD f1;
  1029. } WAVEOUTSETVOLUME16;
  1030. typedef WAVEOUTSETVOLUME16 UNALIGNED *PWAVEOUTSETVOLUME16;
  1031. typedef struct _WAVEOUTGETPLAYBACKRATE16 { /* mm417 */
  1032. VPDWORD f2;
  1033. HWAVEOUT16 f1;
  1034. } WAVEOUTGETPLAYBACKRATE16;
  1035. typedef WAVEOUTGETPLAYBACKRATE16 UNALIGNED *PWAVEOUTGETPLAYBACKRATE16;
  1036. typedef struct _WAVEOUTSETPLAYBACKRATE16 { /* mm418 */
  1037. DWORD f2;
  1038. HWAVEOUT16 f1;
  1039. } WAVEOUTSETPLAYBACKRATE16;
  1040. typedef WAVEOUTSETPLAYBACKRATE16 UNALIGNED *PWAVEOUTSETPLAYBACKRATE16;
  1041. typedef struct _WAVEOUTBREAKLOOP16 { /* mm419 */
  1042. HWAVEOUT16 f1;
  1043. } WAVEOUTBREAKLOOP16;
  1044. typedef WAVEOUTBREAKLOOP16 UNALIGNED *PWAVEOUTBREAKLOOP16;
  1045. typedef struct _WAVEOUTGETID16 { /* mm420 */
  1046. VPWORD f2;
  1047. HWAVEOUT16 f1;
  1048. } WAVEOUTGETID16;
  1049. typedef WAVEOUTGETID16 UNALIGNED *PWAVEOUTGETID16;
  1050. typedef struct _WAVEOUTMESSAGE3216 { /* mm421 */
  1051. DWORD f4;
  1052. DWORD f3;
  1053. WORD f2;
  1054. HWAVEOUT16 f1;
  1055. } WAVEOUTMESSAGE3216;
  1056. typedef WAVEOUTMESSAGE3216 UNALIGNED *PWAVEOUTMESSAGE3216;
  1057. #ifdef NULLSTRUCT
  1058. typedef struct _WAVEINGETNUMDEVS16 { /* mm501 */
  1059. } WAVEINGETNUMDEVS16;
  1060. typedef WAVEINGETNUMDEVS16 UNALIGNED *PWAVEINGETNUMDEVS16;
  1061. #endif
  1062. typedef struct _WAVEINGETDEVCAPS16 { /* mm502 */
  1063. WORD f3;
  1064. VPWAVEINCAPS16 f2;
  1065. WORD f1;
  1066. } WAVEINGETDEVCAPS16;
  1067. typedef WAVEINGETDEVCAPS16 UNALIGNED *PWAVEINGETDEVCAPS16;
  1068. typedef struct _WAVEINGETERRORTEXT16 { /* mm503 */
  1069. WORD f3;
  1070. VPSTR f2;
  1071. WORD f1;
  1072. } WAVEINGETERRORTEXT16;
  1073. typedef WAVEINGETERRORTEXT16 UNALIGNED *PWAVEINGETERRORTEXT16;
  1074. typedef struct _WAVEINOPEN16 { /* mm504 */
  1075. DWORD f6;
  1076. DWORD f5;
  1077. DWORD f4;
  1078. VPWAVEFORMAT16 f3;
  1079. WORD f2;
  1080. VPHWAVEIN16 f1;
  1081. } WAVEINOPEN16;
  1082. typedef WAVEINOPEN16 UNALIGNED *PWAVEINOPEN16;
  1083. typedef struct _WAVEINCLOSE16 { /* mm505 */
  1084. HWAVEIN16 f1;
  1085. } WAVEINCLOSE16;
  1086. typedef WAVEINCLOSE16 UNALIGNED *PWAVEINCLOSE16;
  1087. typedef struct _WAVEINPREPAREHEADER3216 { /* mm506 */
  1088. WORD f3;
  1089. VPWAVEHDR16 f2;
  1090. HWAVEIN16 f1;
  1091. } WAVEINPREPAREHEADER3216;
  1092. typedef WAVEINPREPAREHEADER3216 UNALIGNED *PWAVEINPREPAREHEADER3216;
  1093. typedef struct _WAVEINUNPREPAREHEADER3216 { /* mm507 */
  1094. WORD f3;
  1095. VPWAVEHDR16 f2;
  1096. HWAVEIN16 f1;
  1097. } WAVEINUNPREPAREHEADER3216;
  1098. typedef WAVEINUNPREPAREHEADER3216 UNALIGNED *PWAVEINUNPREPAREHEADER3216;
  1099. typedef struct _WAVEINADDBUFFER16 { /* mm508 */
  1100. WORD f3;
  1101. VPWAVEHDR16 f2;
  1102. HWAVEIN16 f1;
  1103. } WAVEINADDBUFFER16;
  1104. typedef WAVEINADDBUFFER16 UNALIGNED *PWAVEINADDBUFFER16;
  1105. typedef struct _WAVEINSTART16 { /* mm509 */
  1106. HWAVEIN16 f1;
  1107. } WAVEINSTART16;
  1108. typedef WAVEINSTART16 UNALIGNED *PWAVEINSTART16;
  1109. typedef struct _WAVEINSTOP16 { /* mm510 */
  1110. HWAVEIN16 f1;
  1111. } WAVEINSTOP16;
  1112. typedef WAVEINSTOP16 UNALIGNED *PWAVEINSTOP16;
  1113. typedef struct _WAVEINRESET16 { /* mm511 */
  1114. HWAVEIN16 f1;
  1115. } WAVEINRESET16;
  1116. typedef WAVEINRESET16 UNALIGNED *PWAVEINRESET16;
  1117. typedef struct _WAVEINGETPOSITION16 { /* mm512 */
  1118. WORD f3;
  1119. VPMMTIME16 f2;
  1120. HWAVEIN16 f1;
  1121. } WAVEINGETPOSITION16;
  1122. typedef WAVEINGETPOSITION16 UNALIGNED *PWAVEINGETPOSITION16;
  1123. typedef struct _WAVEINGETID16 { /* mm513 */
  1124. VPWORD f2;
  1125. HWAVEIN16 f1;
  1126. } WAVEINGETID16;
  1127. typedef WAVEINGETID16 UNALIGNED *PWAVEINGETID16;
  1128. typedef struct _WAVEINMESSAGE3216 { /* mm514 */
  1129. DWORD f4;
  1130. DWORD f3;
  1131. WORD f2;
  1132. HWAVEIN16 f1;
  1133. } WAVEINMESSAGE3216;
  1134. typedef WAVEINMESSAGE3216 UNALIGNED *PWAVEINMESSAGE3216;
  1135. typedef struct _TIMEGETSYSTEMTIME16 { /* mm601 */
  1136. WORD f2;
  1137. VPMMTIME16 f1;
  1138. } TIMEGETSYSTEMTIME16;
  1139. typedef TIMEGETSYSTEMTIME16 UNALIGNED *PTIMEGETSYSTEMTIME16;
  1140. #ifdef NULLSTRUCT
  1141. typedef struct _TIMEGETTIME16 { /* mm607 */
  1142. } TIMEGETTIME16;
  1143. typedef TIMEGETTIME16 UNALIGNED *PTIMEGETTIME16;
  1144. #endif
  1145. typedef struct _TIMESETEVENT16 { /* mm602 */
  1146. WORD f5;
  1147. DWORD f4;
  1148. VPTIMECALLBACK16 f3;
  1149. WORD f2;
  1150. WORD f1;
  1151. } TIMESETEVENT16;
  1152. typedef TIMESETEVENT16 UNALIGNED *PTIMESETEVENT16;
  1153. typedef struct _TIMEKILLEVENT16 { /* mm603 */
  1154. WORD f1;
  1155. } TIMEKILLEVENT16;
  1156. typedef TIMEKILLEVENT16 UNALIGNED *PTIMEKILLEVENT16;
  1157. typedef struct _TIMEGETDEVCAPS16 { /* mm604 */
  1158. WORD f2;
  1159. VPTIMECAPS16 f1;
  1160. } TIMEGETDEVCAPS16;
  1161. typedef TIMEGETDEVCAPS16 UNALIGNED *PTIMEGETDEVCAPS16;
  1162. typedef struct _TIMEBEGINPERIOD16 { /* mm605 */
  1163. WORD f1;
  1164. } TIMEBEGINPERIOD16;
  1165. typedef TIMEBEGINPERIOD16 UNALIGNED *PTIMEBEGINPERIOD16;
  1166. typedef struct _TIMEENDPERIOD16 { /* mm606 */
  1167. WORD f1;
  1168. } TIMEENDPERIOD16;
  1169. typedef TIMEENDPERIOD16 UNALIGNED *PTIMEENDPERIOD16;
  1170. typedef struct _MCISENDCOMMAND16 { /* mm701 */
  1171. DWORD f4;
  1172. DWORD f3;
  1173. WORD f2;
  1174. WORD f1;
  1175. } MCISENDCOMMAND16;
  1176. typedef MCISENDCOMMAND16 UNALIGNED *PMCISENDCOMMAND16;
  1177. typedef struct _MCISENDSTRING16 { /* mm702 */
  1178. HWND16 f4;
  1179. WORD f3;
  1180. VPSTR f2;
  1181. VPCSTR f1;
  1182. } MCISENDSTRING16;
  1183. typedef MCISENDSTRING16 UNALIGNED *PMCISENDSTRING16;
  1184. typedef struct _MCIGETDEVICEID16 { /* mm703 */
  1185. VPCSTR f1;
  1186. } MCIGETDEVICEID16;
  1187. typedef MCIGETDEVICEID16 UNALIGNED *PMCIGETDEVICEID16;
  1188. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1189. typedef struct _MCIPARSECOMMAND16 { mm704
  1190. BOOL16 f6;
  1191. VPWORD f5;
  1192. VPSTR f4;
  1193. VPCSTR f3;
  1194. VPSTR f2;
  1195. WORD f1;
  1196. } MCIPARSECOMMAND16;
  1197. typedef MCIPARSECOMMAND16 UNALIGNED *PMCIPARSECOMMAND16;
  1198. typedef struct _MCILOADCOMMANDRESOURCE16 { mm705
  1199. WORD f3;
  1200. VPCSTR f2;
  1201. HAND16 f1;
  1202. } MCILOADCOMMANDRESOURCE16;
  1203. typedef MCILOADCOMMANDRESOURCE16 UNALIGNED *PMCILOADCOMMANDRESOURCE16;
  1204. ------------------------------------------------------------------------------*/
  1205. typedef struct _MCIGETERRORSTRING16 { /* mm706 */
  1206. WORD f3;
  1207. VPSTR f2;
  1208. DWORD f1;
  1209. } MCIGETERRORSTRING16;
  1210. typedef MCIGETERRORSTRING16 UNALIGNED *PMCIGETERRORSTRING16;
  1211. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1212. typedef struct _MCISETDRIVERDATA16 { mm707
  1213. DWORD f2;
  1214. WORD f1;
  1215. } MCISETDRIVERDATA16;
  1216. typedef MCISETDRIVERDATA16 UNALIGNED *PMCISETDRIVERDATA16;
  1217. typedef struct _MCIGETDRIVERDATA16 { mm708
  1218. WORD f1;
  1219. } MCIGETDRIVERDATA16;
  1220. typedef MCIGETDRIVERDATA16 UNALIGNED *PMCIGETDRIVERDATA16;
  1221. typedef struct _MCIDRIVERYIELD16 { mm710
  1222. WORD f1;
  1223. } MCIDRIVERYIELD16;
  1224. typedef MCIDRIVERYIELD16 UNALIGNED *PMCIDRIVERYIELD16;
  1225. typedef struct _MCIDRIVERNOTIFY16 { mm711
  1226. WORD f3;
  1227. WORD f2;
  1228. HWND16 f1;
  1229. } MCIDRIVERNOTIFY16;
  1230. typedef MCIDRIVERNOTIFY16 UNALIGNED *PMCIDRIVERNOTIFY16;
  1231. ------------------------------------------------------------------------------*/
  1232. typedef struct _MCIEXECUTE16 { /* mm712 */
  1233. VPCSTR f1;
  1234. } MCIEXECUTE16;
  1235. typedef MCIEXECUTE16 UNALIGNED *PMCIEXECUTE16;
  1236. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1237. typedef struct _MCIFREECOMMANDRESOURCE16 { mm713
  1238. WORD f1;
  1239. } MCIFREECOMMANDRESOURCE16;
  1240. typedef MCIFREECOMMANDRESOURCE16 UNALIGNED *PMCIFREECOMMANDRESOURCE16;
  1241. ------------------------------------------------------------------------------*/
  1242. typedef struct _MCISETYIELDPROC16 { /* mm714 */
  1243. DWORD f3;
  1244. DWORD f2; //YIELDPROC
  1245. WORD f1;
  1246. } MCISETYIELDPROC16;
  1247. typedef MCISETYIELDPROC16 UNALIGNED *PMCISETYIELDPROC16;
  1248. typedef struct _MCIGETDEVICEIDFROMELEMENTID16 { /* mm715 */
  1249. VPCSTR f2;
  1250. DWORD f1;
  1251. } MCIGETDEVICEIDFROMELEMENTID16;
  1252. typedef MCIGETDEVICEIDFROMELEMENTID16 UNALIGNED *PMCIGETDEVICEIDFROMELEMENTID16;
  1253. typedef struct _MCIGETYIELDPROC16 { /* mm716 */
  1254. VPDWORD f2;
  1255. WORD f1;
  1256. } MCIGETYIELDPROC16;
  1257. typedef MCIGETYIELDPROC16 UNALIGNED *PMCIGETYIELDPROC16;
  1258. typedef struct _MCIGETCREATORTASK16 { /* mm717 */
  1259. WORD f1;
  1260. } MCIGETCREATORTASK16;
  1261. typedef MCIGETCREATORTASK16 UNALIGNED *PMCIGETCREATORTASK16;
  1262. /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1263. The following calls have all been zapped for the time being.
  1264. typedef struct _MMTASKCREATE16 { mm900
  1265. DWORD f3;
  1266. HAND16 f2;
  1267. VPTASKCALLBACK16 f1;
  1268. } MMTASKCREATE16;
  1269. typedef MMTASKCREATE16 UNALIGNED *PMMTASKCREATE16;
  1270. typedef struct _MMTASKBLOCK16 { mm902
  1271. HAND16 f1;
  1272. } MMTASKBLOCK16;
  1273. typedef MMTASKBLOCK16 UNALIGNED *PMMTASKBLOCK16;
  1274. typedef struct _MMTASKSIGNAL16 { mm903
  1275. HAND16 f1;
  1276. } MMTASKSIGNAL16;
  1277. typedef MMTASKSIGNAL16 UNALIGNED *PMMTASKSIGNAL16;
  1278. #ifdef NULLSTRUCT
  1279. typedef struct _MMGETCURRENTTASK16 { mm904
  1280. } MMGETCURRENTTASK16;
  1281. typedef MMGETCURRENTTASK16 UNALIGNED *PMMGETCURRENTTASK16;
  1282. #endif
  1283. #ifdef NULLSTRUCT
  1284. typedef struct _MMTASKYIELD16 { mm905
  1285. } MMTASKYIELD16;
  1286. typedef MMTASKYIELD16 UNALIGNED *PMMTASKYIELD16;
  1287. #endif
  1288. typedef struct _DRVCLOSE16 { mm1100
  1289. DWORD f3;
  1290. DWORD f2;
  1291. HDRVR16 f1;
  1292. } DRVCLOSE16;
  1293. typedef DRVCLOSE16 UNALIGNED *PDRVCLOSE16;
  1294. typedef struct _DRVOPEN16 { mm1101
  1295. DWORD f3;
  1296. VPSTR f2;
  1297. VPSTR f1;
  1298. } DRVOPEN16;
  1299. typedef DRVOPEN16 UNALIGNED *PDRVOPEN16;
  1300. typedef struct _DRVSENDMESSAGE16 { mm1102
  1301. DWORD f4;
  1302. DWORD f3;
  1303. WORD f2;
  1304. HDRVR16 f1;
  1305. } DRVSENDMESSAGE16;
  1306. typedef DRVSENDMESSAGE16 UNALIGNED *PDRVSENDMESSAGE16;
  1307. typedef struct _DRVGETMODULEHANDLE16 { mm1103
  1308. HDRVR16 f1;
  1309. } DRVGETMODULEHANDLE16;
  1310. typedef DRVGETMODULEHANDLE16 UNALIGNED *PDRVGETMODULEHANDLE;
  1311. #ifdef NULLSTRUCT
  1312. typedef struct _DRVDEFDRIVERPROC16{ mm1104
  1313. } DRVDEFDRIVERPROC16;
  1314. typedef DRVDEFDRIVERPROC16 UNALIGNED *PDRVDEFDRIVERPROC;
  1315. #endif
  1316. ------------------------------------------------------------------------------*/
  1317. typedef struct _MMIOOPEN16 { /* mm1210 */
  1318. DWORD f3;
  1319. VPMMIOINFO16 f2;
  1320. VPSTR f1;
  1321. } MMIOOPEN16;
  1322. typedef MMIOOPEN16 UNALIGNED *PMMIOOPEN16;
  1323. typedef struct _MMIOCLOSE16 { /* mm1211 */
  1324. WORD f2;
  1325. HMMIO16 f1;
  1326. } MMIOCLOSE16;
  1327. typedef MMIOCLOSE16 UNALIGNED *PMMIOCLOSE16;
  1328. typedef struct _MMIOREAD16 { /* mm1212 */
  1329. LONG f3;
  1330. HPSTR16 f2;
  1331. HMMIO16 f1;
  1332. } MMIOREAD16;
  1333. typedef MMIOREAD16 UNALIGNED *PMMIOREAD16;
  1334. typedef struct _MMIOWRITE16 { /* mm1213 */
  1335. LONG f3;
  1336. HPSTR16 f2;
  1337. HMMIO16 f1;
  1338. } MMIOWRITE16;
  1339. typedef MMIOWRITE16 UNALIGNED *PMMIOWRITE16;
  1340. typedef struct _MMIOSEEK16 { /* mm1214 */
  1341. INT16 f3;
  1342. LONG f2;
  1343. HMMIO16 f1;
  1344. } MMIOSEEK16;
  1345. typedef MMIOSEEK16 UNALIGNED *PMMIOSEEK16;
  1346. typedef struct _MMIOGETINFO16 { /* mm1215 */
  1347. WORD f3;
  1348. VPMMIOINFO16 f2;
  1349. HMMIO16 f1;
  1350. } MMIOGETINFO16;
  1351. typedef MMIOGETINFO16 UNALIGNED *PMMIOGETINFO16;
  1352. typedef struct _MMIOSETINFO16 { /* mm1216 */
  1353. WORD f3;
  1354. VPMMIOINFO16 f2;
  1355. HMMIO16 f1;
  1356. } MMIOSETINFO16;
  1357. typedef MMIOSETINFO16 UNALIGNED *PMMIOSETINFO16;
  1358. typedef struct _MMIOSETBUFFER16 { /* mm1217 */
  1359. WORD f4;
  1360. LONG f3;
  1361. VPSTR f2;
  1362. HMMIO16 f1;
  1363. } MMIOSETBUFFER16;
  1364. typedef MMIOSETBUFFER16 UNALIGNED *PMMIOSETBUFFER16;
  1365. typedef struct _MMIOFLUSH16 { /* mm1218 */
  1366. WORD f2;
  1367. HMMIO16 f1;
  1368. } MMIOFLUSH16;
  1369. typedef MMIOFLUSH16 UNALIGNED *PMMIOFLUSH16;
  1370. typedef struct _MMIOADVANCE16 { /* mm1219 */
  1371. WORD f3;
  1372. VPMMIOINFO16 f2;
  1373. HMMIO16 f1;
  1374. } MMIOADVANCE16;
  1375. typedef MMIOADVANCE16 UNALIGNED *PMMIOADVANCE16;
  1376. typedef struct _MMIOSTRINGTOFOURCC16 { /* mm1220 */
  1377. WORD f2;
  1378. VPCSTR f1;
  1379. } MMIOSTRINGTOFOURCC16;
  1380. typedef MMIOSTRINGTOFOURCC16 UNALIGNED *PMMIOSTRINGTOFOURCC16;
  1381. typedef struct _MMIOINSTALLIOPROC16 { /* mm1221 */
  1382. DWORD f3;
  1383. VPMMIOPROC16 f2;
  1384. FOURCC f1;
  1385. } MMIOINSTALLIOPROC16;
  1386. typedef MMIOINSTALLIOPROC16 UNALIGNED *PMMIOINSTALLIOPROC16;
  1387. typedef struct _MMIOSENDMESSAGE16 { /* mm1222 */
  1388. LPARAM f4;
  1389. LPARAM f3;
  1390. WORD f2;
  1391. HMMIO16 f1;
  1392. } MMIOSENDMESSAGE16;
  1393. typedef MMIOSENDMESSAGE16 UNALIGNED *PMMIOSENDMESSAGE16;
  1394. typedef struct _MMIODESCEND16 { /* mm1223 */
  1395. WORD f4;
  1396. VPMMCKINFO16 f3;
  1397. VPMMCKINFO16 f2;
  1398. HMMIO16 f1;
  1399. } MMIODESCEND16;
  1400. typedef MMIODESCEND16 UNALIGNED *PMMIODESCEND16;
  1401. typedef struct _MMIOASCEND16 { /* mm1224 */
  1402. WORD f3;
  1403. VPMMCKINFO16 f2;
  1404. HMMIO16 f1;
  1405. } MMIOASCEND16;
  1406. typedef MMIOASCEND16 UNALIGNED *PMMIOASCEND16;
  1407. typedef struct _MMIOCREATECHUNK16 { /* mm1225 */
  1408. WORD f3;
  1409. VPMMCKINFO16 f2;
  1410. HMMIO16 f1;
  1411. } MMIOCREATECHUNK16;
  1412. typedef MMIOCREATECHUNK16 UNALIGNED *PMMIOCREATECHUNK16;
  1413. typedef struct _MMIORENAME16 { /* mm1226 */
  1414. DWORD f4;
  1415. VPMMIOINFO16 f3;
  1416. VPCSTR f2;
  1417. VPCSTR f1;
  1418. } MMIORENAME16;
  1419. typedef MMIORENAME16 UNALIGNED *PMMIORENAME16;
  1420. /* XLATOFF */
  1421. #pragma pack()
  1422. /* XLATON */