summaryrefslogtreecommitdiffstats
path: root/private/mvdm/inc/wowmmed.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/mvdm/inc/wowmmed.h1665
1 files changed, 1665 insertions, 0 deletions
diff --git a/private/mvdm/inc/wowmmed.h b/private/mvdm/inc/wowmmed.h
new file mode 100644
index 000000000..bc26f71ed
--- /dev/null
+++ b/private/mvdm/inc/wowmmed.h
@@ -0,0 +1,1665 @@
+/*++ BUILD Version: 0001
+ *
+ * WOW v1.0
+ *
+ * Copyright (c) 1991, Microsoft Corporation
+ *
+ * WOWMMED.H
+ * 16-bit MultiMedia API argument structures
+ *
+ * History:
+ * Created 21-Jan-1992 by Mike Tricker (MikeTri), based on the work by jeffpar
+--*/
+/*++
+
+ General MultiMedia related information
+
+ Moved all the typedefs for H* and VP* back to WOW.H - MikeTri 090492
+
+--*/
+
+typedef WORD MMVER16; // major (high byte), minor (low byte)
+
+#ifndef _INC_MMSYSTEM
+typedef DWORD FOURCC; // a four character code
+typedef LONG LPARAM;
+#endif
+
+#define MAXPNAMELEN 32 // max product name length (including NULL)
+
+/* XLATOFF */
+#pragma pack(1)
+/* XLATON */
+
+
+/*
+ * MultiMedia Data Structures - MikeTri 10-Feb-1992
+ *
+ */
+
+
+typedef struct _AUXCAPS16 { /* ac16 */
+ WORD wMid;
+ WORD wPid;
+ MMVER16 vDriverVersion;
+ char szPname[MAXPNAMELEN];
+ WORD wTechnology;
+ DWORD dwSupport;
+} AUXCAPS16;
+typedef AUXCAPS16 UNALIGNED *PAUXCAPS16;
+typedef VPVOID VPAUXCAPS16;
+
+typedef struct _DRVCONFIGINFO16 { /* dci16 */
+ DWORD dwDCISize;
+ VPCSTR lpszDCISectionName;
+ VPCSTR lpszDCIAliasName;
+} DRVCONFIGINFO16;
+typedef DRVCONFIGINFO16 UNALIGNED *PDRVCONFIGINFO16;
+typedef VPVOID VPDRVCONFIGINFO16;
+
+typedef struct _JOYCAPS16 { /* jc16 */
+ WORD wMid;
+ WORD wPid;
+ char szPname[MAXPNAMELEN];
+ WORD wXmin;
+ WORD wXmax;
+ WORD wYmin;
+ WORD wYmax;
+ WORD wZmin;
+ WORD wZmax;
+ WORD wNumButtons;
+ WORD wPeriodMin;
+ WORD wPeriodMax;
+} JOYCAPS16;
+typedef JOYCAPS16 UNALIGNED *PJOYCAPS16;
+typedef VPVOID VPJOYCAPS16;
+
+typedef struct _JOYINFO16 { /* ji16 */
+ WORD wXpos;
+ WORD wYpos;
+ WORD wZpos;
+ WORD wButtons;
+} JOYINFO16;
+typedef JOYINFO16 UNALIGNED *PJOYINFO16;
+typedef VPVOID VPJOYINFO16;
+
+typedef struct _MCI_ANIM_OPEN_PARMS16 { /* maop16 */
+ DWORD dwCallback;
+ WORD wDeviceID;
+ WORD wReserved0;
+ VPCSTR lpstrDeviceType;
+ VPCSTR lpstrElementName;
+ VPCSTR lpstrAlias;
+ DWORD dwStyle;
+ HWND16 hWndParent; // Keeps consistent, and is equivalent anyway
+ WORD wReserved1;
+} MCI_ANIM_OPEN_PARMS16;
+typedef MCI_ANIM_OPEN_PARMS16 UNALIGNED *PMCI_ANIM_OPEN_PARMS16;
+typedef VPVOID VPMCI_ANIM_OPEN_PARMS16;
+
+typedef struct _MCI_ANIM_PLAY_PARMS16 { /* mapp16 */
+ DWORD dwCallback;
+ DWORD dwFrom;
+ DWORD dwTo;
+ DWORD dwSpeed;
+} MCI_ANIM_PLAY_PARMS16;
+typedef MCI_ANIM_PLAY_PARMS16 UNALIGNED *PMCI_ANIM_PLAY_PARMS16;
+typedef VPVOID VPMCA_ANIM_PLAY_PARMS16;
+
+typedef struct _MCI_ANIM_RECT_PARMS16 { /* marp16 */
+ DWORD dwCallback;
+ RECT16 rc;
+} MCI_ANIM_RECT_PARMS16;
+typedef MCI_ANIM_RECT_PARMS16 UNALIGNED *PMCI_ANIM_RECT_PARMS16;
+typedef VPVOID VPMCI_ANIM_RECT_PARMS16;
+
+typedef struct _MCI_ANIM_STEP_PARMS16 { /* masp16 */
+ DWORD dwCallback;
+ DWORD dwFrames;
+} MCI_ANIM_STEP_PARMS16;
+typedef MCI_ANIM_STEP_PARMS16 UNALIGNED *PMCI_ANIM_STEP_PARMS16;
+typedef VPVOID VPMCI_ANIM_STEP_PARMS16;
+
+typedef struct _MCI_ANIM_UPDATE_PARMS16 { /* maup16 */
+ DWORD dwCalback;
+ RECT16 rc;
+ HDC16 hDC;
+} MCI_ANIM_UPDATE_PARMS16;
+typedef MCI_ANIM_UPDATE_PARMS16 UNALIGNED *PMCI_ANIM_UPDATE_PARMS16;
+typedef VPVOID VPMCI_ANIM_UPDATE_PARMS16;
+
+typedef struct _MCI_ANIM_WINDOW_PARMS16 { /* mawp16 */
+ DWORD dwCallabck;
+ HWND16 hWnd;
+ WORD wReserved1;
+ WORD nCmdShow;
+ WORD wReserved2;
+ VPCSTR lpstrText;
+} MCI_ANIM_WINDOW_PARMS16;
+typedef MCI_ANIM_WINDOW_PARMS16 UNALIGNED *PMCI_ANIM_WINDOW_PARMS16;
+typedef VPVOID VPMCI_ANIM_WINDOW_PARMS16;
+
+typedef struct _MCI_BREAK_PARMS16 { /* mbp16 */
+ DWORD dwCallback;
+ INT16 nVirtKey;
+ WORD wReserved0;
+ HWND16 hwndBreak;
+ WORD wReserved1;
+} MCI_BREAK_PARMS16;
+typedef MCI_BREAK_PARMS16 UNALIGNED *PMCI_BREAK_PARMS16;
+typedef VPVOID VPMCI_BREAK_PARMS16;
+
+typedef struct _MCI_GENERIC_PARMS16 { /* mgp16 */
+ DWORD dwCallback;
+} MCI_GENERIC_PARMS16;
+typedef MCI_GENERIC_PARMS16 UNALIGNED *PMCI_GENERIC_PARMS16;
+typedef VPVOID VPMCI_GENERIC_PARMS16;
+
+typedef struct _MCI_GETDEVCAPS_PARMS16 { /* mgdp16 */
+ DWORD dwCallback;
+ DWORD dwReturn;
+ DWORD dwItem;
+} MCI_GETDEVCAPS_PARMS16;
+typedef MCI_GETDEVCAPS_PARMS16 UNALIGNED *PMCI_GETDEVCAPS_PARMS16;
+typedef VPVOID VPMCI_GETDEVCAPS_PARMS16;
+
+typedef struct _MCI_INFO_PARMS16 { /* mip16 */
+ DWORD dwCallback;
+ VPSTR lpstrReturn;
+ DWORD dwRetSize;
+} MCI_INFO_PARMS16;
+typedef MCI_INFO_PARMS16 UNALIGNED *PMCI_INFO_PARMS16;
+typedef VPVOID VPMCI_INFO_PARMS16;
+
+typedef struct _MCI_LOAD_PARMS16 { /* mlp16 */
+ DWORD dwCallback;
+ VPCSTR lpfilename;
+} MCI_LOAD_PARMS16;
+typedef MCI_LOAD_PARMS16 UNALIGNED *PMCI_LOAD_PARMS16;
+typedef VPVOID VPMCI_LOAD_PARMS16;
+
+typedef struct _MCI_OPEN_PARMS16 { /* mop16 */
+ DWORD dwCallback;
+ WORD wDeviceID;
+ WORD wReserved0;
+ VPCSTR lpstrDeviceType;
+ VPCSTR lpstrElementName;
+ VPCSTR lpstrAlias;
+} MCI_OPEN_PARMS16;
+typedef MCI_OPEN_PARMS16 UNALIGNED *PMCI_OPEN_PARMS16;
+typedef VPVOID VPMCI_OPEN_PARMS16;
+
+typedef struct _MCI_OVLY_LOAD_PARMS16 { /* molp16 */
+ DWORD dwCallback;
+ VPCSTR lpfilename;
+ RECT16 rc;
+} MCI_OVLY_LOAD_PARMS16;
+typedef MCI_OVLY_LOAD_PARMS16 UNALIGNED *PMCI_OVLY_LOAD_PARMS16;
+typedef VPVOID VPMCI_OVLY_LOAD_PARMS16;
+
+typedef struct _MCI_OVLY_OPEN_PARMS16 { /* moop16 */
+ DWORD dwCallabck;
+ WORD wDeviceID;
+ WORD wReserved0;
+ VPCSTR lpstrDeviceType;
+ VPCSTR lpstrElementName;
+ VPCSTR lpstrAlias;
+ DWORD dwStyle;
+ HWND16 hWndParent; // The book is wrong
+ WORD wReserved1;
+} MCI_OVLY_OPEN_PARMS16;
+typedef MCI_OVLY_OPEN_PARMS16 UNALIGNED *PMCI_OVLY_OPEN_PARMS16;
+typedef VPVOID VPMCI_OVLY_OPEN_PARMS16;
+
+typedef struct _MCI_OVLY_RECT_PARMS16 { /* morp16 */
+ DWORD dwCallback;
+ RECT16 rc;
+} MCI_OVLY_RECT_PARMS16;
+typedef MCI_OVLY_RECT_PARMS16 UNALIGNED *PMCI_OVLY_RECT_PARMS16;
+typedef VPVOID VPMCI_OVLY_RECT_PARMS16;
+
+typedef struct _MCI_OVLY_SAVE_PARMS16 { /* mosp16 */
+ DWORD dwCallback;
+ VPCSTR lpfilename;
+ RECT16 rc;
+} MCI_OVLY_SAVE_PARMS16;
+typedef MCI_OVLY_SAVE_PARMS16 UNALIGNED *PMCI_OVLY_SAVE_PARMS16;
+typedef VPVOID VPMCI_OVLY_SAVE_PARMS16;
+
+typedef struct _MCI_OVLY_WINDOW_PARMS16 { /* mowp16 */
+ DWORD dwCallabck;
+ HWND16 hWnd;
+ WORD wReserved1;
+ WORD nCmdShow;
+ WORD wReserved2;
+ VPCSTR lpstrText;
+} MCI_OVLY_WINDOW_PARMS16;
+typedef MCI_OVLY_WINDOW_PARMS16 UNALIGNED *PMCI_OVLY_WINDOW_PARMS16;
+typedef VPVOID VPMCI_OVLY_WINDOW_PARMS16;
+
+typedef struct _MCI_PLAY_PARMS16 { /* mplp16 */
+ DWORD dwCallback;
+ DWORD dwFrom;
+ DWORD dwTo;
+} MCI_PLAY_PARMS16;
+typedef MCI_PLAY_PARMS16 UNALIGNED *PMCI_PLAY_PARMS16;
+typedef VPVOID VPMCI_PLAY_PARMS16;
+
+typedef struct _MCI_RECORD_PARMS16 { /* mrecp16 */
+ DWORD dwCallabck;
+ DWORD dwFrom;
+ DWORD dwTo;
+} MCI_RECORD_PARMS16;
+typedef MCI_RECORD_PARMS16 UNALIGNED *PMCI_RECORD_PARMS16;
+typedef VPVOID VPMCI_RECORD_PARMS16;
+
+typedef struct _MCI_SAVE_PARMS16 { /* msavp16 */
+ DWORD dwCallback;
+ VPCSTR lpfilename; // MMSYSTEM.H differs from the book
+} MCI_SAVE_PARMS16;
+typedef MCI_SAVE_PARMS16 UNALIGNED *PMCI_SAVE_PARMS16;
+typedef VPVOID VPMCI_SAVE_PARMS16;
+
+typedef struct _MCI_SEEK_PARMS16 { /* msep16 */
+ DWORD dwCallback;
+ DWORD dwTo;
+} MCI_SEEK_PARMS16;
+typedef MCI_SEEK_PARMS16 UNALIGNED *PMCI_SEEK_PARMS16;
+typedef VPVOID VPMCI_SEEK_PARMS16;
+
+typedef struct _MCI_SEQ_SET_PARMS16 { /* mssp16 */
+ DWORD dwCallback;
+ DWORD dwTimeFormat;
+ DWORD dwAudio;
+ DWORD dwTempo;
+ DWORD dwPort;
+ DWORD dwSlave;
+ DWORD dwMaster;
+ DWORD dwOffset;
+} MCI_SEQ_SET_PARMS16;
+typedef MCI_SEQ_SET_PARMS16 UNALIGNED *PMCI_SEQ_SET_PARMS16;
+typedef VPVOID VPMCI_SEQ_SET_PARMS16;
+
+typedef struct _MCI_SET_PARMS16 { /* msetp16 */
+ DWORD dwCallback;
+ DWORD dwTimeFormat;
+ DWORD dwAudio;
+} MCI_SET_PARMS16;
+typedef MCI_SET_PARMS16 UNALIGNED *PMCI_SET_PARMS16;
+typedef VPVOID VPMCI_SET_PARMS16;
+
+typedef struct _MCI_SOUND_PARMS16 { /* msoup16 */
+ DWORD dwCallback;
+ VPCSTR lpstrSoundName;
+} MCI_SOUND_PARMS16;
+typedef MCI_SOUND_PARMS16 UNALIGNED *PMCI_SOUND_PARMS16;
+typedef VPVOID VPMCI_SOUND_PARMS16;
+
+typedef struct _MCI_STATUS_PARMS16 { /* mstp16 */
+ DWORD dwCallback;
+ DWORD dwReturn;
+ DWORD dwItem;
+ DWORD dwTrack;
+} MCI_STATUS_PARMS16;
+typedef MCI_STATUS_PARMS16 UNALIGNED *PMCI_STATUS_PARMS16;
+typedef VPVOID VPMCI_STATUS_PARMS16;
+
+typedef struct _MCI_SYSINFO_PARMS16 { /* msyip16 */
+ DWORD dwCallback;
+ VPSTR lpstrReturn;
+ DWORD dwRetSize;
+ DWORD dwNumber;
+ WORD wDeviceType;
+ WORD wReserved0;
+} MCI_SYSINFO_PARMS16;
+typedef MCI_SYSINFO_PARMS16 UNALIGNED *PMCI_SYSINFO_PARMS16;
+typedef VPVOID VPMCI_SYSINFO_PARMS16;
+
+typedef struct _MCI_VD_ESCAPE_PARMS16 { /* mvep16 */
+ DWORD dwCallback;
+ VPCSTR lpstrCommand;
+} MCI_VD_ESCAPE_PARMS16;
+typedef MCI_VD_ESCAPE_PARMS16 UNALIGNED *PMCI_VD_ESCAPE_PARMS16;
+typedef VPVOID VPMCI_VD_ESCAPE_PARMS16;
+
+typedef struct _MCI_VD_PLAY_PARMS16 { /* mvpp16 */
+ DWORD dwCallback;
+ DWORD dwFrom;
+ DWORD dwTo;
+ DWORD dwSpeed;
+} MCI_VD_PLAY_PARMS16;
+typedef MCI_VD_PLAY_PARMS16 UNALIGNED *PMCI_VD_PLAY_PARMS16;
+typedef VPVOID VPMCI_VD_PLAY_PARMS16;
+
+typedef struct _MCI_VD_STEP_PARMS16 { /* mvsp16 */
+ DWORD dwCallback;
+ DWORD dwFrames;
+} MCI_VD_STEP_PARMS16;
+typedef MCI_VD_STEP_PARMS16 UNALIGNED *PMCI_VD_STEP_PARMS16;
+typedef VPVOID VPMCI_VD_STEP_PARMS16;
+
+typedef struct _MCI_VD_DELETE_PARMS16 { /* mvdp16 */
+ DWORD dwCallback;
+ DWORD dwFrom;
+ DWORD dwTo;
+} MCI_VD_DELETE_PARMS16;
+typedef MCI_VD_DELETE_PARMS16 UNALIGNED *PMCI_VD_DELETE_PARMS16;
+typedef VPVOID VPMCI_VD_DELETE_PARMS16;
+
+typedef struct _MCI_WAVE_OPEN_PARMS16 { /* mwop16 */
+ DWORD dwCallback;
+ WORD wDeviceID;
+ WORD wReserved0;
+ VPCSTR lpstrDeviceType;
+ VPCSTR lpstrElementName;
+ VPCSTR lpstrAlias;
+ DWORD dwBufferSeconds;
+} MCI_WAVE_OPEN_PARMS16;
+typedef MCI_WAVE_OPEN_PARMS16 UNALIGNED *PMCI_WAVE_OPEN_PARMS16;
+typedef VPVOID VPMCI_WAVE_OPEN_PARMS16;
+
+typedef struct _MCI_WAVE_SET_PARMS16 { /* mwsp16 */
+ DWORD dwCallback;
+ DWORD dwTimeFormat;
+ DWORD dwAudio;
+ WORD wInput;
+ WORD wReserved0;
+ WORD wOutput;
+ WORD wReserved1;
+ WORD wFormatTag;
+ WORD wReserved2;
+ WORD nChannels;
+ WORD wReserved3;
+ DWORD nSamplesPerSecond;
+ DWORD nAvgBytesPerSec;
+ WORD nBlockAlign;
+ WORD wReserved4;
+ WORD wBitsPerSample;
+ WORD wReserved5;
+} MCI_WAVE_SET_PARMS16;
+typedef MCI_WAVE_SET_PARMS16 UNALIGNED *PMCI_WAVE_SET_PARMS16;
+typedef VPVOID VPMCI_WAVE_SET_PARMS16;
+
+typedef struct _MIDIHDR16 { /* mhdr16 */
+ VPSTR lpData;
+ DWORD dwBufferLength;
+ DWORD dwBytesRecorded;
+ DWORD dwUser;
+ DWORD dwFlags;
+ struct _MIDIHDR16 far *lpNext;
+ DWORD reserved;
+} MIDIHDR16;
+typedef MIDIHDR16 UNALIGNED *PMIDIHDR16;
+typedef VPVOID VPMIDIHDR16;
+
+typedef struct _MIDIINCAPS16 { /* mic16 */
+ WORD wMid;
+ WORD wPid;
+ MMVER16 vDriverVersion;
+ char szPname[MAXPNAMELEN];
+} MIDIINCAPS16;
+typedef MIDIINCAPS16 UNALIGNED *PMIDIINCAPS16;
+typedef VPVOID VPMIDIINCAPS16;
+
+typedef struct _MIDIOUTCAPS16 { /* moc16 */
+ WORD wMid;
+ WORD wPid;
+ MMVER16 vDriverVersion;
+ char szPname[MAXPNAMELEN];
+ WORD wTechnology;
+ WORD wVoices;
+ WORD wNotes;
+ WORD wChannelMask;
+ DWORD dwSupport;
+} MIDIOUTCAPS16;
+typedef MIDIOUTCAPS16 UNALIGNED *PMIDIOUTCAPS16;
+typedef VPVOID VPMIDIOUTCAPS16;
+
+typedef struct _MMCKINFO16 { /* mcki16 */
+ FOURCC ckid;
+ DWORD cksize;
+ FOURCC fccType;
+ DWORD dwDataOffset;
+ DWORD dwFlags;
+} MMCKINFO16;
+typedef MMCKINFO16 UNALIGNED *PMMCKINFO16;
+typedef VPVOID VPMMCKINFO16;
+
+typedef struct _MMIOINFO16 { /* mioi16 */
+ DWORD dwFlags;
+ FOURCC fccIOProc;
+ VPMMIOPROC16 pIOProc;
+ WORD wErrorRet;
+ HTASK16 htask; // Header file MMSYSTEM.H differs from book
+ LONG cchBuffer;
+ VPSTR pchBuffer;
+ VPSTR pchNext;
+ VPSTR pchEndRead;
+ VPSTR pchEndWrite;
+ LONG lBufOffset;
+ LONG lDiskOffset;
+ DWORD adwInfo[3]; // The book says [4], MMSYSTEM.H doesn't
+ DWORD dwReserved1;
+ DWORD dwReserved2;
+ HMMIO16 hmmio;
+} MMIOINFO16;
+typedef MMIOINFO16 UNALIGNED *PMMIOINFO16;
+typedef VPVOID VPMMIOINFO16;
+
+typedef struct _MMPACTION16 { /* mpa16 */
+ BYTE bMenuItem;
+ BYTE bActionCode;
+ WORD wTextOffset;
+} MMPACTION16;
+typedef MMPACTION16 UNALIGNED *PMMPACTION16;
+typedef VPVOID VPMMPACTION16;
+
+typedef struct _MMPLABEL16 { /* mpl16 */
+ WORD wFrameNum;
+ WORD wTextOffset;
+} MMPLABEL16;
+typedef MMPLABEL16 UNALIGNED *PMMPLABEL16;
+typedef VPVOID VPMMPLABEL16;
+
+typedef struct _MMPMOVIEINFO16 { /* mpmi16 */
+ DWORD dwFileVersion;
+ DWORD dwTotalFrames;
+ DWORD dwInitialFramesPerSecond;
+ WORD wPixelDepth;
+ DWORD dwMovieExtentX;
+ DWORD dwMovieExtentY;
+ char chFullMacName[128];
+} MMPMOVIEINFO16;
+typedef MMPMOVIEINFO16 UNALIGNED *PMMPMOVIEINFO16;
+typedef VPVOID VPMMPMOVIEINFO16;
+
+/* XLATOFF */
+typedef struct _MMTIME16 { /* mmt16 */
+ WORD wType;
+ union {
+ DWORD ms;
+ DWORD sample;
+ DWORD cb;
+ struct {
+ BYTE hour;
+ BYTE min;
+ BYTE sec;
+ BYTE frame;
+ BYTE fps;
+ BYTE dummy;
+ } smpte;
+ struct {
+ DWORD songptrpos;
+ } midi;
+ } u;
+} MMTIME16;
+typedef MMTIME16 UNALIGNED *PMMTIME16;
+/* XLATON */
+typedef VPVOID VPMMTIME16;
+
+typedef struct _TIMECAPS16 { /* timc16 */
+ WORD wPeriodMin;
+ WORD wPeriodMax;
+} TIMECAPS16;
+typedef TIMECAPS16 UNALIGNED *PTIMECAPS16;
+typedef VPVOID VPTIMECAPS16;
+
+typedef struct _WAVEFORMAT16 { /* wft16 */
+ WORD wFormatTag;
+ WORD nChannels;
+ DWORD nSamplesPerSec;
+ DWORD nAvgBytesPerSec;
+ WORD nBlockAlign;
+} WAVEFORMAT16;
+typedef WAVEFORMAT16 UNALIGNED *PWAVEFORMAT16;
+typedef VPVOID VPWAVEFORMAT16;
+
+typedef struct _PCMWAVEFORMAT16 { /* pwf16 */
+ WAVEFORMAT16 wf;
+ WORD wBitsPerSample;
+} PCMWAVEFORMAT16;
+typedef PCMWAVEFORMAT16 UNALIGNED *PPCMWAVEFORMAT16;
+typedef VPVOID VPPCMWAVEFORMAT16;
+
+typedef struct _WAVEHDR16 { /* whd16 */
+ VPSTR lpData;
+ DWORD dwBufferLength;
+ DWORD dwBytesRecorded;
+ DWORD dwUser;
+ DWORD dwFlags;
+ DWORD dwLoops;
+ struct _WAVEHDR16 far *lpNext;
+ DWORD reserved;
+} WAVEHDR16;
+typedef WAVEHDR16 UNALIGNED *PWAVEHDR16;
+typedef VPVOID VPWAVEHDR16;
+
+typedef struct _WAVEINCAPS16 { /* wic16 */
+ WORD wMid;
+ WORD wPid;
+ MMVER16 vDriverVersion;
+ char szPname[MAXPNAMELEN];
+ DWORD dwFormats;
+ WORD wChannels;
+} WAVEINCAPS16;
+typedef WAVEINCAPS16 UNALIGNED *PWAVEINCAPS16;
+typedef VPVOID VPWAVEINCAPS16;
+
+typedef struct _WAVEOUTCAPS16 { /* woc16 */
+ WORD wMid;
+ WORD wPid;
+ MMVER16 vDriverVersion;
+ char szPname[MAXPNAMELEN];
+ DWORD dwFormats;
+ WORD wChannels;
+ DWORD dwSupport;
+} WAVEOUTCAPS16;
+typedef WAVEOUTCAPS16 UNALIGNED *PWAVEOUTCAPS16;
+typedef VPVOID VPWAVEOUTCAPS16;
+
+/* XLATOFF */
+#pragma pack()
+/* XLATON */
+
+/*
+ * MultiMedia Window messages - MikeTri 10-Feb-1992
+ */
+
+//#define MM_JOY1MOVE 0x03A0 // Joystick
+//#define MM_JOY2MOVE 0x03A1
+//#define MM_JOY1ZMOVE 0x03A2
+//#define MM_JOY2ZMOVE 0x03A3
+//#define MM_JOY1BUTTONDOWN 0x03B5
+//#define MM_JOY2BUTTONDOWN 0x03B6
+//#define MM_JOY1BUTTONUP 0x03B7
+//#define MM_JOY2BUTTONUP 0x03B8
+
+//#define MM_MCINOTIFY 0x03B9 // MCI
+//#define MM_MCISYSTEM_STRING 0x03CA
+
+//#define MM_WOM_OPEN 0x03BB // Waveform Output
+//#define MM_WOM_CLOSE 0x03BC
+//#define MM_WOM_DONE 0x03BD
+
+//#define MM_WIM_OPEN 0x03BE // Waveform Input
+//#define MM_WIM_CLOSE 0x03BF
+//#define MM_WIM_DATA 0x03C0
+
+//#define MM_MIM_OPEN 0x03C1 // MIDI Input
+//#define MM_MIM_CLOSE 0x03C2
+//#define MM_MIM_DATA 0x03C3
+//#define MM_MIM_LONGDATA 0x03C4
+//#define MM_MIM_ERROR 0x03C5
+//#define MM_MIM_LONGERROR 0x03C6
+
+//#define MM_MOM_OPEN 0x03C7 // MIDI Output
+//#define MM_MOM_CLOSE 0x03C8
+//#define MM_MOM_DONE 0x03C9
+
+/*
+ * End of MultiMedia Window messages - MikeTri
+ */
+
+/*++
+
+ MultiMedia API IDs - start adding all the other APIs - Mike, 04-Feb-1992
+
+ This is the complete exported list, in MMSYSTEM order
+
+ Well, actually it isn't anymore - various ones have been removed which
+ we aren't supporting, and because of the joys of H2INC I can't leave them
+ here as comments. So - if they need to be added again check in the
+ function prototypes below this list for the correct formats.
+
+ Need to recheck the numbers before compiling this lot... - this raises the
+ point that if we add any more they ought to go at the end of the list,
+ otherwise we end up juggling numbers, which is a drag.
+
+--*/
+
+
+#define FUN_MMCALLPROC32 2 //
+#define FUN_MMSYSTEMGETVERSION 5 //
+
+#define FUN_OUTPUTDEBUGSTR 30 //
+#define FUN_DRIVERCALLBACK 31 //
+#define FUN_NOTIFY_CALLBACK_DATA 32 //
+
+#define FUN_JOYGETNUMDEVS 101 //
+#define FUN_JOYGETDEVCAPS 102 //
+#define FUN_JOYGETPOS 103 //
+#define FUN_JOYGETTHRESHOLD 104 //
+#define FUN_JOYRELEASECAPTURE 105 //
+#define FUN_JOYSETCAPTURE 106 //
+#define FUN_JOYSETTHRESHOLD 107 //
+#define FUN_JOYSETCALIBRATION 109 //
+
+#define FUN_MIDIOUTGETNUMDEVS 201 //
+#define FUN_MIDIOUTGETDEVCAPS 202 //
+#define FUN_MIDIOUTGETERRORTEXT 203 //
+#define FUN_MIDIOUTOPEN 204 //
+#define FUN_MIDIOUTCLOSE 205 //
+#define FUN_MIDIOUTPREPAREHEADER32 206 //
+#define FUN_MIDIOUTUNPREPAREHEADER32 207 //
+#define FUN_MIDIOUTSHORTMSG 208 //
+#define FUN_MIDIOUTLONGMSG 209 //
+#define FUN_MIDIOUTRESET 210 //
+#define FUN_MIDIOUTGETVOLUME 211 //
+#define FUN_MIDIOUTSETVOLUME 212 //
+#define FUN_MIDIOUTCACHEPATCHES 213 //
+#define FUN_MIDIOUTCACHEDRUMPATCHES 214 //
+#define FUN_MIDIOUTGETID 215 //
+#define FUN_MIDIOUTMESSAGE32 216 //
+
+#define FUN_MIDIINGETNUMDEVS 301 //
+#define FUN_MIDIINGETDEVCAPS 302 //
+#define FUN_MIDIINGETERRORTEXT 303 //
+#define FUN_MIDIINOPEN 304 //
+#define FUN_MIDIINCLOSE 305 //
+#define FUN_MIDIINPREPAREHEADER32 306 //
+#define FUN_MIDIINUNPREPAREHEADER32 307 //
+#define FUN_MIDIINADDBUFFER 308 //
+#define FUN_MIDIINSTART 309 //
+#define FUN_MIDIINSTOP 310 //
+#define FUN_MIDIINRESET 311 //
+#define FUN_MIDIINGETID 312 //
+#define FUN_MIDIINMESSAGE32 313 //
+
+#define FUN_AUXGETNUMDEVS 350 //
+#define FUN_AUXGETDEVCAPS 351 //
+#define FUN_AUXGETVOLUME 352 //
+#define FUN_AUXSETVOLUME 353 //
+#define FUN_AUXOUTMESSAGE32 354 //
+
+#define FUN_WAVEOUTGETNUMDEVS 401 //
+#define FUN_WAVEOUTGETDEVCAPS 402 //
+#define FUN_WAVEOUTGETERRORTEXT 403 //
+#define FUN_WAVEOUTOPEN 404 //
+#define FUN_WAVEOUTCLOSE 405 //
+#define FUN_WAVEOUTPREPAREHEADER32 406 //
+#define FUN_WAVEOUTUNPREPAREHEADER32 407 //
+#define FUN_WAVEOUTWRITE 408 //
+#define FUN_WAVEOUTPAUSE 409 //
+#define FUN_WAVEOUTRESTART 410 //
+#define FUN_WAVEOUTRESET 411 //
+#define FUN_WAVEOUTGETPOSITION 412 //
+#define FUN_WAVEOUTGETPITCH 413 //
+#define FUN_WAVEOUTSETPITCH 414 //
+#define FUN_WAVEOUTGETVOLUME 415 //
+#define FUN_WAVEOUTSETVOLUME 416 //
+#define FUN_WAVEOUTGETPLAYBACKRATE 417 //
+#define FUN_WAVEOUTSETPLAYBACKRATE 418 //
+#define FUN_WAVEOUTBREAKLOOP 419 //
+#define FUN_WAVEOUTGETID 420 //
+#define FUN_WAVEOUTMESSAGE32 421 //
+
+#define FUN_WAVEINGETNUMDEVS 501 //
+#define FUN_WAVEINGETDEVCAPS 502 //
+#define FUN_WAVEINGETERRORTEXT 503 //
+#define FUN_WAVEINOPEN 504 //
+#define FUN_WAVEINCLOSE 505 //
+#define FUN_WAVEINPREPAREHEADER32 506 //
+#define FUN_WAVEINUNPREPAREHEADER32 507 //
+#define FUN_WAVEINADDBUFFER 508 //
+#define FUN_WAVEINSTART 509 //
+#define FUN_WAVEINSTOP 510 //
+#define FUN_WAVEINRESET 511 //
+#define FUN_WAVEINGETPOSITION 512 //
+#define FUN_WAVEINGETID 513 //
+#define FUN_WAVEINMESSAGE32 514 //
+
+#define FUN_TIMEGETSYSTEMTIME 601 //
+#define FUN_TIMEGETTIME 607 //
+#define FUN_TIMESETEVENT 602 //
+#define FUN_TIMEKILLEVENT 603 //
+#define FUN_TIMEGETDEVCAPS 604 //
+#define FUN_TIMEBEGINPERIOD 605 //
+#define FUN_TIMEENDPERIOD 606 //
+
+#define FUN_MCISENDCOMMAND 701 //
+#define FUN_MCISENDSTRING 702 //
+#define FUN_MCIGETDEVICEID 703 //
+#define FUN_MCIGETERRORSTRING 706 //
+#define FUN_MCIEXECUTE 712 //
+#define FUN_MCISETYIELDPROC 714 //
+#define FUN_MCIGETDEVICEIDFROMELEMENTID 715 //
+#define FUN_MCIGETYIELDPROC 716 //
+#define FUN_MCIGETCREATORTASK 717 //
+
+#define FUN_MMIOOPEN 1210 //
+#define FUN_MMIOCLOSE 1211 //
+#define FUN_MMIOREAD 1212 //
+#define FUN_MMIOWRITE 1213 //
+#define FUN_MMIOSEEK 1214 //
+#define FUN_MMIOGETINFO 1215 //
+#define FUN_MMIOSETINFO 1216 //
+#define FUN_MMIOSETBUFFER 1217 //
+#define FUN_MMIOFLUSH 1218 //
+#define FUN_MMIOADVANCE 1219 //
+#define FUN_MMIOSTRINGTOFOURCC 1220 //
+#define FUN_MMIOINSTALLIOPROC 1221 //
+#define FUN_MMIOSENDMESSAGE 1222 //
+
+#define FUN_MMIODESCEND 1223 //
+#define FUN_MMIOASCEND 1224 //
+#define FUN_MMIOCREATECHUNK 1225 //
+#define FUN_MMIORENAME 1226 //
+
+/* XLATOFF */
+#pragma pack(2)
+/* XLATON */
+
+/*++
+
+ Function prototypes - the seemingly unimportant number in the comment on
+ each function MUST match the ones in the list above - otherwise you will
+ turn into a frog, and 16 bit MultiMedia will wave its feet in the air...
+
+ !! BE WARNED !!
+
+--*/
+
+typedef struct _MMCALLPROC3216 { /* mm2 */
+ DWORD fSetCurrentDirectory; /* Set the current directory ? */
+ DWORD lpProcAddress; /* function to call */
+ DWORD p1; /* dwParam2 */
+ DWORD p2; /* dwParam1 */
+ DWORD p3; /* dwInstance */
+ DWORD p4; /* uMsg */
+ DWORD p5; /* uDevId */
+} MMCALLPROC3216;
+typedef MMCALLPROC3216 UNALIGNED *PMMCALLPROC3216;
+
+
+#ifdef NULLSTRUCT
+typedef struct _MMSYSTEMGETVERSION16 { /* mm5 */
+} MMSYSTEMGETVERSION16;
+typedef MMSYSTEMGETVERSION16 UNALIGNED *PMMSYSTEMGETVERSION;
+#endif
+
+typedef struct _OUTPUTDEBUGSTR16 { /* mm30 */
+ VPSTR f1;
+} OUTPUTDEBUGSTR16;
+typedef OUTPUTDEBUGSTR16 UNALIGNED *POUTPUTDEBUGSTR16;
+
+typedef struct _DRIVERCALLBACK16 { /* mm31 */
+ DWORD f7;
+ DWORD f6;
+ DWORD f5;
+ DWORD f4;
+ HDRVR16 f3;
+ DWORD f2;
+ DWORD f1;
+} DRIVERCALLBACK16;
+typedef DRIVERCALLBACK16 UNALIGNED *PDRIVERCALLBACK16;
+
+
+typedef struct _NOTIFY_CALLBACK_DATA16 { /* mm32 */
+ VPCALLBACK_DATA f1;
+} NOTIFY_CALLBACK_DATA16;
+typedef NOTIFY_CALLBACK_DATA16 UNALIGNED *PNOTIFY_CALLBACK_DATA16;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#ifdef NULLSTRUCT
+typedef struct _STACKLEAVE16 { mm33
+} STACKLEAVE16;
+typedef STACKLEAVE16 UNALIGNED *PSTACKLEAVE16;
+#endif
+
+------------------------------------------------------------------------------*/
+
+#ifdef NULLSTRUCT
+typedef struct _JOYGETNUMDEVS16 { /* mm101 */
+} JOYGETNUMDEVS16;
+typedef JOYGETNUMDEVS16 UNALIGNED *PJOYGETNUMDEVS16;
+#endif
+
+typedef struct _JOYGETDEVCAPS16 { /* mm102 */
+ WORD f3;
+ VPJOYCAPS16 f2;
+ WORD f1;
+} JOYGETDEVCAPS16;
+typedef JOYGETDEVCAPS16 UNALIGNED *PJOYGETDEVCAPS16;
+
+typedef struct _JOYGETPOS16 { /* mm103 */
+ VPJOYINFO16 f2;
+ WORD f1;
+} JOYGETPOS16;
+typedef JOYGETPOS16 UNALIGNED *PJOYGETPOS16;
+
+typedef struct _JOYGETTHRESHOLD16 { /* mm104 */
+ VPWORD f2;
+ WORD f1;
+} JOYGETTHRESHOLD16;
+typedef JOYGETTHRESHOLD16 UNALIGNED *PJOYGETTHRESHOLD16;
+
+typedef struct _JOYRELEASECAPTURE16 { /* mm105 */
+ WORD f1;
+} JOYRELEASECAPTURE16;
+typedef JOYRELEASECAPTURE16 UNALIGNED *PJOYRELEASECAPTURE16;
+
+typedef struct _JOYSETCAPTURE16 { /* mm106 */
+ BOOL16 f4;
+ WORD f3;
+ WORD f2;
+ HWND16 f1;
+} JOYSETCAPTURE16;
+typedef JOYSETCAPTURE16 UNALIGNED *PJOYSETCAPTURE16;
+
+typedef struct _JOYSETTHRESHOLD16 { /* mm107 */
+ WORD f2;
+ WORD f1;
+} JOYSETTHRESHOLD16;
+typedef JOYSETTHRESHOLD16 UNALIGNED *PJOYSETTHRESHOLD16;
+
+typedef struct _JOYSETCALIBRATION16 { /* mm109 */
+ VPWORD f7;
+ VPWORD f6;
+ VPWORD f5;
+ VPWORD f4;
+ VPWORD f3;
+ VPWORD f2;
+ WORD f1;
+} JOYSETCALIBRATION16;
+typedef JOYSETCALIBRATION16 UNALIGNED *PJOYSETCALIBRATION16;
+
+#ifdef NULLSTRUCT
+typedef struct _MIDIOUTGETNUMDEVS16 { /* mm201 */
+} MIDIOUTGETNUMDEVS16;
+typedef MIDIOUTGETNUMDEVS16 UNALIGNED *PMIDIOUTGETNUMDEVS16;
+#endif
+
+typedef struct _MIDIOUTGETDEVCAPS16 { /* mm202 */
+ WORD f3;
+ VPMIDIOUTCAPS16 f2;
+ WORD f1;
+} MIDIOUTGETDEVCAPS16;
+typedef MIDIOUTGETDEVCAPS16 UNALIGNED *PMIDIOUTGETDEVCAPS16;
+
+typedef struct _MIDIOUTGETERRORTEXT16 { /* mm203 */
+ WORD f3;
+ VPSTR f2;
+ WORD f1;
+} MIDIOUTGETERRORTEXT16;
+typedef MIDIOUTGETERRORTEXT16 UNALIGNED *PMIDIOUTGETERRORTEXT16;
+
+typedef struct _MIDIOUTOPEN16 { /* mm204 */
+ DWORD f5;
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ VPHMIDIOUT16 f1;
+} MIDIOUTOPEN16;
+typedef MIDIOUTOPEN16 UNALIGNED *PMIDIOUTOPEN16;
+
+typedef struct _MIDIOUTCLOSE16 { /* mm205 */
+ HMIDIOUT16 f1;
+} MIDIOUTCLOSE16;
+typedef MIDIOUTCLOSE16 UNALIGNED *PMIDIOUTCLOSE16;
+
+typedef struct _MIDIOUTPREPAREHEADER3216 { /* mm206 */
+ WORD f3;
+ VPMIDIHDR16 f2;
+ HMIDIOUT16 f1;
+} MIDIOUTPREPAREHEADER3216;
+typedef MIDIOUTPREPAREHEADER3216 UNALIGNED *PMIDIOUTPREPAREHEADER3216;
+
+typedef struct _MIDIOUTUNPREPAREHEADER3216 { /* mm207 */
+ WORD f3;
+ VPMIDIHDR16 f2;
+ HMIDIOUT16 f1;
+} MIDIOUTUNPREPAREHEADER3216;
+typedef MIDIOUTUNPREPAREHEADER3216 UNALIGNED *PMIDIOUTUNPREPAREHEADER3216;
+
+typedef struct _MIDIOUTSHORTMSG16 { /* mm208 */
+ DWORD f2;
+ HMIDIOUT16 f1;
+} MIDIOUTSHORTMSG16;
+typedef MIDIOUTSHORTMSG16 UNALIGNED *PMIDIOUTSHORTMSG16;
+
+typedef struct _MIDIOUTLONGMSG16 { /* mm209 */
+ WORD f3;
+ VPMIDIHDR16 f2;
+ HMIDIOUT16 f1;
+} MIDIOUTLONGMSG16;
+typedef MIDIOUTLONGMSG16 UNALIGNED *PMIDIOUTLONGMSG16;
+
+typedef struct _MIDIOUTRESET16 { /* mm210 */
+ HMIDIOUT16 f1;
+} MIDIOUTRESET16;
+typedef MIDIOUTRESET16 UNALIGNED *PMIDIOUTRESET16;
+
+typedef struct _MIDIOUTGETVOLUME16 { /* mm211 */
+ VPDWORD f2;
+ WORD f1;
+} MIDIOUTGETVOLUME16;
+typedef MIDIOUTGETVOLUME16 UNALIGNED *PMIDIOUTGETVOLUME16;
+
+typedef struct _MIDIOUTSETVOLUME16 { /* mm212 */
+ DWORD f2;
+ WORD f1;
+} MIDIOUTSETVOLUME16;
+typedef MIDIOUTSETVOLUME16 UNALIGNED *PMIDIOUTSETVOLUME16;
+
+typedef struct _MIDIOUTCACHEPATCHES16 { /* mm213 */
+ WORD f4;
+ VPPATCHARRAY16 f3;
+ WORD f2;
+ HMIDIOUT16 f1;
+} MIDIOUTCACHEPATCHES16;
+typedef MIDIOUTCACHEPATCHES16 UNALIGNED *PMIDIOUTCACHEPATCHES16;
+
+typedef struct _MIDIOUTCACHEDRUMPATCHES16 { /* mm214 */
+ WORD f4;
+ VPKEYARRAY16 f3;
+ WORD f2;
+ HMIDIOUT16 f1;
+} MIDIOUTCACHEDRUMPATCHES16;
+typedef MIDIOUTCACHEDRUMPATCHES16 UNALIGNED *PMIDIOUTCACHEDRUMPATCHES16;
+
+typedef struct _MIDIOUTGETID16 { /* mm215 */
+ VPWORD f2;
+ HMIDIOUT16 f1;
+} MIDIOUTGETID16;
+typedef MIDIOUTGETID16 UNALIGNED *PMIDIOUTGETID16;
+
+typedef struct _MIDIOUTMESSAGE3216 { /* mm216 */
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ HMIDIOUT16 f1;
+} MIDIOUTMESSAGE3216;
+typedef MIDIOUTMESSAGE3216 UNALIGNED *PMIDIOUTMESSAGE3216;
+
+#ifdef NULLSTRUCT
+typedef struct _MIDIINGETNUMDEVS16 { /* mm301 */
+} MIDIINGETNUMDEVS16;
+typedef MIDIINGETNUMDEVS16 UNALIGNED *PMIDIINGETNUMDEVS16;
+#endif
+
+typedef struct _MIDIINGETDEVCAPS16 { /* mm302 */
+ WORD f3;
+ VPMIDIINCAPS16 f2;
+ WORD f1;
+} MIDIINGETDEVCAPS16;
+typedef MIDIINGETDEVCAPS16 UNALIGNED *PMIDIINGETDEVCAPS16;
+
+typedef struct _MIDIINGETERRORTEXT16 { /* mm303 */
+ WORD f3;
+ VPSTR f2;
+ WORD f1;
+} MIDIINGETERRORTEXT16;
+typedef MIDIINGETERRORTEXT16 UNALIGNED *PMIDIINGETERRORTEXT16;
+
+typedef struct _MIDIINOPEN16 { /* mm304 */
+ DWORD f5;
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ VPHMIDIIN16 f1;
+} MIDIINOPEN16;
+typedef MIDIINOPEN16 UNALIGNED *PMIDIINOPEN16;
+
+typedef struct _MIDIINCLOSE16 { /* mm305 */
+ HMIDIIN16 f1;
+} MIDIINCLOSE16;
+typedef MIDIINCLOSE16 UNALIGNED *PMIDIINCLOSE16;
+
+typedef struct _MIDIINPREPAREHEADER3216 { /* mm306 */
+ WORD f3;
+ VPMIDIHDR16 f2;
+ HMIDIIN16 f1;
+} MIDIINPREPAREHEADER3216;
+typedef MIDIINPREPAREHEADER3216 UNALIGNED *PMIDIINPREPAREHEADER3216;
+
+typedef struct _MIDIINUNPREPAREHEADER3216 { /* mm307 */
+ WORD f3;
+ VPMIDIHDR16 f2;
+ HMIDIIN16 f1;
+} MIDIINUNPREPAREHEADER3216;
+typedef MIDIINUNPREPAREHEADER3216 UNALIGNED *PMIDIINUNPREPAREHEADER3216;
+
+typedef struct _MIDIINADDBUFFER16 { /* mm308 */
+ WORD f3;
+ VPMIDIHDR16 f2;
+ HMIDIIN16 f1;
+} MIDIINADDBUFFER16;
+typedef MIDIINADDBUFFER16 UNALIGNED *PMIDIINADDBUFFER16;
+
+typedef struct _MIDIINSTART16 { /* mm309 */
+ HMIDIIN16 f1;
+} MIDIINSTART16;
+typedef MIDIINSTART16 UNALIGNED *PMIDIINSTART16;
+
+typedef struct _MIDIINSTOP16 { /* mm310 */
+ HMIDIIN16 f1;
+} MIDIINSTOP16;
+typedef MIDIINSTOP16 UNALIGNED *PMIDIINSTOP16;
+
+typedef struct _MIDIINRESET16 { /* mm311 */
+ HMIDIIN16 f1;
+} MIDIINRESET16;
+typedef MIDIINRESET16 UNALIGNED *PMIDIINRESET16;
+
+typedef struct _MIDIINGETID16 { /* mm312 */
+ VPWORD f2;
+ HMIDIIN16 f1;
+} MIDIINGETID16;
+typedef MIDIINGETID16 UNALIGNED *PMIDIINGETID16;
+
+typedef struct _MIDIINMESSAGE3216 { /* mm313 */
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ HMIDIIN16 f1;
+} MIDIINMESSAGE3216;
+typedef MIDIINMESSAGE3216 UNALIGNED *PMIDIINMESSAGE3216;
+
+#ifdef NULLSTRUCT
+typedef struct _AUXGETNUMDEVS16 { /* mm350 */
+} AUXGETNUMDEVS16;
+typedef AUXGETNUMDEVS16 UNALIGNED *PAUGGETNUMDEVS16;
+#endif
+
+typedef struct _AUXGETDEVCAPS16 { /* mm351 */
+ WORD f3;
+ VPAUXCAPS16 f2;
+ WORD f1;
+} AUXGETDEVCAPS16;
+typedef AUXGETDEVCAPS16 UNALIGNED *PAUXGETDEVCAPS16;
+
+typedef struct _AUXGETVOLUME16 { /* mm352 */
+ VPDWORD f2;
+ WORD f1;
+} AUXGETVOLUME16;
+typedef AUXGETVOLUME16 UNALIGNED *PAUXGETVOLUME16;
+
+typedef struct _AUXSETVOLUME16 { /* mm353 */
+ DWORD f2;
+ WORD f1;
+} AUXSETVOLUME16;
+typedef AUXSETVOLUME16 UNALIGNED *PAUXSETVOLUME16;
+
+typedef struct _AUXOUTMESSAGE3216 { /* mm354 */
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ WORD f1;
+} AUXOUTMESSAGE3216;
+typedef AUXOUTMESSAGE3216 UNALIGNED *PAUXOUTMESSAGE3216;
+
+#ifdef NULLSTRUCT
+typedef struct _WAVEOUTGETNUMDEVS16 { /* mm401 */
+} WAVEOUTGETNUMDEVS16;
+typedef WAVEOUTGETNUMDEVS16 UNALIGNED *PWAVEOUTGETNUMDEVS16;
+#endif
+
+typedef struct _WAVEOUTGETDEVCAPS16 { /* mm402 */
+ WORD f3;
+ VPWAVEOUTCAPS16 f2;
+ WORD f1;
+} WAVEOUTGETDEVCAPS16;
+typedef WAVEOUTGETDEVCAPS16 UNALIGNED *PWAVEOUTGETDEVCAPS16;
+
+typedef struct _WAVEOUTGETERRORTEXT16 { /* mm403 */
+ WORD f3;
+ VPSTR f2;
+ WORD f1;
+} WAVEOUTGETERRORTEXT16;
+typedef WAVEOUTGETERRORTEXT16 UNALIGNED *PWAVEOUTGETERRORTEXT16;
+
+typedef struct _WAVEOUTOPEN16 { /* mm404 */
+ DWORD f6;
+ DWORD f5;
+ DWORD f4;
+ VPWAVEFORMAT16 f3;
+ WORD f2;
+ VPHWAVEOUT16 f1;
+} WAVEOUTOPEN16;
+typedef WAVEOUTOPEN16 UNALIGNED *PWAVEOUTOPEN16;
+
+typedef struct _WAVEOUTCLOSE16 { /* mm405 */
+ HWAVEOUT16 f1;
+} WAVEOUTCLOSE16;
+typedef WAVEOUTCLOSE16 UNALIGNED *PWAVEOUTCLOSE16;
+
+typedef struct _WAVEOUTPREPAREHEADER3216 { /* mm406 */
+ WORD f3;
+ VPWAVEHDR16 f2;
+ HWAVEOUT16 f1;
+} WAVEOUTPREPAREHEADER3216;
+typedef WAVEOUTPREPAREHEADER3216 UNALIGNED *PWAVEOUTPREPAREHEADER3216;
+
+typedef struct _WAVEOUTUNPREPAREHEADER3216 { /* mm407 */
+ WORD f3;
+ VPWAVEHDR16 f2;
+ HWAVEOUT16 f1;
+} WAVEOUTUNPREPAREHEADER3216;
+typedef WAVEOUTUNPREPAREHEADER3216 UNALIGNED *PWAVEOUTUNPREPAREHEADER3216;
+
+typedef struct _WAVEOUTWRITE16 { /* mm408 */
+ WORD f3;
+ VPWAVEHDR16 f2;
+ HWAVEOUT16 f1;
+} WAVEOUTWRITE16;
+typedef WAVEOUTWRITE16 UNALIGNED *PWAVEOUTWRITE16;
+
+typedef struct _WAVEOUTPAUSE16 { /* mm409 */
+ HWAVEOUT16 f1;
+} WAVEOUTPAUSE16;
+typedef WAVEOUTPAUSE16 UNALIGNED *PWAVEOUTPAUSE16;
+
+typedef struct _WAVEOUTRESTART16 { /* mm410 */
+ HWAVEOUT16 f1;
+} WAVEOUTRESTART16;
+typedef WAVEOUTRESTART16 UNALIGNED *PWAVEOUTRESTART16;
+
+typedef struct _WAVEOUTRESET16 { /* mm411 */
+ HWAVEOUT16 f1;
+} WAVEOUTRESET16;
+typedef WAVEOUTRESET16 UNALIGNED *PWAVEOUTRESET16;
+
+typedef struct _WAVEOUTGETPOSITION16 { /* mm412 */
+ WORD f3;
+ VPMMTIME16 f2;
+ HWAVEOUT16 f1;
+} WAVEOUTGETPOSITION16;
+typedef WAVEOUTGETPOSITION16 UNALIGNED *PWAVEOUTGETPOSITION16;
+
+typedef struct _WAVEOUTGETPITCH16 { /* mm413 */
+ VPDWORD f2;
+ HWAVEOUT16 f1;
+} WAVEOUTGETPITCH16;
+typedef WAVEOUTGETPITCH16 UNALIGNED *PWAVEOUTGETPITCH16;
+
+typedef struct _WAVEOUTSETPITCH16 { /* mm414 */
+ DWORD f2;
+ HWAVEOUT16 f1;
+} WAVEOUTSETPITCH16;
+typedef WAVEOUTSETPITCH16 UNALIGNED *PWAVEOUTSETPITCH16;
+
+typedef struct _WAVEOUTGETVOLUME16 { /* mm415 */
+ VPDWORD f2;
+ WORD f1;
+} WAVEOUTGETVOLUME16;
+typedef WAVEOUTGETVOLUME16 UNALIGNED *PWAVEOUTGETVOLUME16;
+
+typedef struct _WAVEOUTSETVOLUME16 { /* mm416 */
+ DWORD f2;
+ WORD f1;
+} WAVEOUTSETVOLUME16;
+typedef WAVEOUTSETVOLUME16 UNALIGNED *PWAVEOUTSETVOLUME16;
+
+typedef struct _WAVEOUTGETPLAYBACKRATE16 { /* mm417 */
+ VPDWORD f2;
+ HWAVEOUT16 f1;
+} WAVEOUTGETPLAYBACKRATE16;
+typedef WAVEOUTGETPLAYBACKRATE16 UNALIGNED *PWAVEOUTGETPLAYBACKRATE16;
+
+typedef struct _WAVEOUTSETPLAYBACKRATE16 { /* mm418 */
+ DWORD f2;
+ HWAVEOUT16 f1;
+} WAVEOUTSETPLAYBACKRATE16;
+typedef WAVEOUTSETPLAYBACKRATE16 UNALIGNED *PWAVEOUTSETPLAYBACKRATE16;
+
+typedef struct _WAVEOUTBREAKLOOP16 { /* mm419 */
+ HWAVEOUT16 f1;
+} WAVEOUTBREAKLOOP16;
+typedef WAVEOUTBREAKLOOP16 UNALIGNED *PWAVEOUTBREAKLOOP16;
+
+typedef struct _WAVEOUTGETID16 { /* mm420 */
+ VPWORD f2;
+ HWAVEOUT16 f1;
+} WAVEOUTGETID16;
+typedef WAVEOUTGETID16 UNALIGNED *PWAVEOUTGETID16;
+
+typedef struct _WAVEOUTMESSAGE3216 { /* mm421 */
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ HWAVEOUT16 f1;
+} WAVEOUTMESSAGE3216;
+typedef WAVEOUTMESSAGE3216 UNALIGNED *PWAVEOUTMESSAGE3216;
+
+#ifdef NULLSTRUCT
+typedef struct _WAVEINGETNUMDEVS16 { /* mm501 */
+} WAVEINGETNUMDEVS16;
+typedef WAVEINGETNUMDEVS16 UNALIGNED *PWAVEINGETNUMDEVS16;
+#endif
+
+typedef struct _WAVEINGETDEVCAPS16 { /* mm502 */
+ WORD f3;
+ VPWAVEINCAPS16 f2;
+ WORD f1;
+} WAVEINGETDEVCAPS16;
+typedef WAVEINGETDEVCAPS16 UNALIGNED *PWAVEINGETDEVCAPS16;
+
+typedef struct _WAVEINGETERRORTEXT16 { /* mm503 */
+ WORD f3;
+ VPSTR f2;
+ WORD f1;
+} WAVEINGETERRORTEXT16;
+typedef WAVEINGETERRORTEXT16 UNALIGNED *PWAVEINGETERRORTEXT16;
+
+typedef struct _WAVEINOPEN16 { /* mm504 */
+ DWORD f6;
+ DWORD f5;
+ DWORD f4;
+ VPWAVEFORMAT16 f3;
+ WORD f2;
+ VPHWAVEIN16 f1;
+} WAVEINOPEN16;
+typedef WAVEINOPEN16 UNALIGNED *PWAVEINOPEN16;
+
+typedef struct _WAVEINCLOSE16 { /* mm505 */
+ HWAVEIN16 f1;
+} WAVEINCLOSE16;
+typedef WAVEINCLOSE16 UNALIGNED *PWAVEINCLOSE16;
+
+typedef struct _WAVEINPREPAREHEADER3216 { /* mm506 */
+ WORD f3;
+ VPWAVEHDR16 f2;
+ HWAVEIN16 f1;
+} WAVEINPREPAREHEADER3216;
+typedef WAVEINPREPAREHEADER3216 UNALIGNED *PWAVEINPREPAREHEADER3216;
+
+typedef struct _WAVEINUNPREPAREHEADER3216 { /* mm507 */
+ WORD f3;
+ VPWAVEHDR16 f2;
+ HWAVEIN16 f1;
+} WAVEINUNPREPAREHEADER3216;
+typedef WAVEINUNPREPAREHEADER3216 UNALIGNED *PWAVEINUNPREPAREHEADER3216;
+
+typedef struct _WAVEINADDBUFFER16 { /* mm508 */
+ WORD f3;
+ VPWAVEHDR16 f2;
+ HWAVEIN16 f1;
+} WAVEINADDBUFFER16;
+typedef WAVEINADDBUFFER16 UNALIGNED *PWAVEINADDBUFFER16;
+
+typedef struct _WAVEINSTART16 { /* mm509 */
+ HWAVEIN16 f1;
+} WAVEINSTART16;
+typedef WAVEINSTART16 UNALIGNED *PWAVEINSTART16;
+
+typedef struct _WAVEINSTOP16 { /* mm510 */
+ HWAVEIN16 f1;
+} WAVEINSTOP16;
+typedef WAVEINSTOP16 UNALIGNED *PWAVEINSTOP16;
+
+typedef struct _WAVEINRESET16 { /* mm511 */
+ HWAVEIN16 f1;
+} WAVEINRESET16;
+typedef WAVEINRESET16 UNALIGNED *PWAVEINRESET16;
+
+typedef struct _WAVEINGETPOSITION16 { /* mm512 */
+ WORD f3;
+ VPMMTIME16 f2;
+ HWAVEIN16 f1;
+} WAVEINGETPOSITION16;
+typedef WAVEINGETPOSITION16 UNALIGNED *PWAVEINGETPOSITION16;
+
+typedef struct _WAVEINGETID16 { /* mm513 */
+ VPWORD f2;
+ HWAVEIN16 f1;
+} WAVEINGETID16;
+typedef WAVEINGETID16 UNALIGNED *PWAVEINGETID16;
+
+typedef struct _WAVEINMESSAGE3216 { /* mm514 */
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ HWAVEIN16 f1;
+} WAVEINMESSAGE3216;
+typedef WAVEINMESSAGE3216 UNALIGNED *PWAVEINMESSAGE3216;
+
+typedef struct _TIMEGETSYSTEMTIME16 { /* mm601 */
+ WORD f2;
+ VPMMTIME16 f1;
+} TIMEGETSYSTEMTIME16;
+typedef TIMEGETSYSTEMTIME16 UNALIGNED *PTIMEGETSYSTEMTIME16;
+
+#ifdef NULLSTRUCT
+typedef struct _TIMEGETTIME16 { /* mm607 */
+} TIMEGETTIME16;
+typedef TIMEGETTIME16 UNALIGNED *PTIMEGETTIME16;
+#endif
+
+typedef struct _TIMESETEVENT16 { /* mm602 */
+ WORD f5;
+ DWORD f4;
+ VPTIMECALLBACK16 f3;
+ WORD f2;
+ WORD f1;
+} TIMESETEVENT16;
+typedef TIMESETEVENT16 UNALIGNED *PTIMESETEVENT16;
+
+typedef struct _TIMEKILLEVENT16 { /* mm603 */
+ WORD f1;
+} TIMEKILLEVENT16;
+typedef TIMEKILLEVENT16 UNALIGNED *PTIMEKILLEVENT16;
+
+typedef struct _TIMEGETDEVCAPS16 { /* mm604 */
+ WORD f2;
+ VPTIMECAPS16 f1;
+} TIMEGETDEVCAPS16;
+typedef TIMEGETDEVCAPS16 UNALIGNED *PTIMEGETDEVCAPS16;
+
+typedef struct _TIMEBEGINPERIOD16 { /* mm605 */
+ WORD f1;
+} TIMEBEGINPERIOD16;
+typedef TIMEBEGINPERIOD16 UNALIGNED *PTIMEBEGINPERIOD16;
+
+typedef struct _TIMEENDPERIOD16 { /* mm606 */
+ WORD f1;
+} TIMEENDPERIOD16;
+typedef TIMEENDPERIOD16 UNALIGNED *PTIMEENDPERIOD16;
+
+typedef struct _MCISENDCOMMAND16 { /* mm701 */
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ WORD f1;
+} MCISENDCOMMAND16;
+typedef MCISENDCOMMAND16 UNALIGNED *PMCISENDCOMMAND16;
+
+typedef struct _MCISENDSTRING16 { /* mm702 */
+ HWND16 f4;
+ WORD f3;
+ VPSTR f2;
+ VPCSTR f1;
+} MCISENDSTRING16;
+typedef MCISENDSTRING16 UNALIGNED *PMCISENDSTRING16;
+
+typedef struct _MCIGETDEVICEID16 { /* mm703 */
+ VPCSTR f1;
+} MCIGETDEVICEID16;
+typedef MCIGETDEVICEID16 UNALIGNED *PMCIGETDEVICEID16;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+typedef struct _MCIPARSECOMMAND16 { mm704
+ BOOL16 f6;
+ VPWORD f5;
+ VPSTR f4;
+ VPCSTR f3;
+ VPSTR f2;
+ WORD f1;
+} MCIPARSECOMMAND16;
+typedef MCIPARSECOMMAND16 UNALIGNED *PMCIPARSECOMMAND16;
+
+typedef struct _MCILOADCOMMANDRESOURCE16 { mm705
+ WORD f3;
+ VPCSTR f2;
+ HAND16 f1;
+} MCILOADCOMMANDRESOURCE16;
+typedef MCILOADCOMMANDRESOURCE16 UNALIGNED *PMCILOADCOMMANDRESOURCE16;
+
+------------------------------------------------------------------------------*/
+
+typedef struct _MCIGETERRORSTRING16 { /* mm706 */
+ WORD f3;
+ VPSTR f2;
+ DWORD f1;
+} MCIGETERRORSTRING16;
+typedef MCIGETERRORSTRING16 UNALIGNED *PMCIGETERRORSTRING16;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+typedef struct _MCISETDRIVERDATA16 { mm707
+ DWORD f2;
+ WORD f1;
+} MCISETDRIVERDATA16;
+typedef MCISETDRIVERDATA16 UNALIGNED *PMCISETDRIVERDATA16;
+
+typedef struct _MCIGETDRIVERDATA16 { mm708
+ WORD f1;
+} MCIGETDRIVERDATA16;
+typedef MCIGETDRIVERDATA16 UNALIGNED *PMCIGETDRIVERDATA16;
+
+typedef struct _MCIDRIVERYIELD16 { mm710
+ WORD f1;
+} MCIDRIVERYIELD16;
+typedef MCIDRIVERYIELD16 UNALIGNED *PMCIDRIVERYIELD16;
+
+typedef struct _MCIDRIVERNOTIFY16 { mm711
+ WORD f3;
+ WORD f2;
+ HWND16 f1;
+} MCIDRIVERNOTIFY16;
+typedef MCIDRIVERNOTIFY16 UNALIGNED *PMCIDRIVERNOTIFY16;
+
+------------------------------------------------------------------------------*/
+
+typedef struct _MCIEXECUTE16 { /* mm712 */
+ VPCSTR f1;
+} MCIEXECUTE16;
+typedef MCIEXECUTE16 UNALIGNED *PMCIEXECUTE16;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+typedef struct _MCIFREECOMMANDRESOURCE16 { mm713
+ WORD f1;
+} MCIFREECOMMANDRESOURCE16;
+typedef MCIFREECOMMANDRESOURCE16 UNALIGNED *PMCIFREECOMMANDRESOURCE16;
+
+------------------------------------------------------------------------------*/
+
+typedef struct _MCISETYIELDPROC16 { /* mm714 */
+ DWORD f3;
+ DWORD f2; //YIELDPROC
+ WORD f1;
+} MCISETYIELDPROC16;
+typedef MCISETYIELDPROC16 UNALIGNED *PMCISETYIELDPROC16;
+
+
+typedef struct _MCIGETDEVICEIDFROMELEMENTID16 { /* mm715 */
+ VPCSTR f2;
+ DWORD f1;
+} MCIGETDEVICEIDFROMELEMENTID16;
+typedef MCIGETDEVICEIDFROMELEMENTID16 UNALIGNED *PMCIGETDEVICEIDFROMELEMENTID16;
+
+typedef struct _MCIGETYIELDPROC16 { /* mm716 */
+ VPDWORD f2;
+ WORD f1;
+} MCIGETYIELDPROC16;
+typedef MCIGETYIELDPROC16 UNALIGNED *PMCIGETYIELDPROC16;
+
+
+typedef struct _MCIGETCREATORTASK16 { /* mm717 */
+ WORD f1;
+} MCIGETCREATORTASK16;
+typedef MCIGETCREATORTASK16 UNALIGNED *PMCIGETCREATORTASK16;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ The following calls have all been zapped for the time being.
+
+typedef struct _MMTASKCREATE16 { mm900
+ DWORD f3;
+ HAND16 f2;
+ VPTASKCALLBACK16 f1;
+} MMTASKCREATE16;
+typedef MMTASKCREATE16 UNALIGNED *PMMTASKCREATE16;
+
+typedef struct _MMTASKBLOCK16 { mm902
+ HAND16 f1;
+} MMTASKBLOCK16;
+typedef MMTASKBLOCK16 UNALIGNED *PMMTASKBLOCK16;
+
+typedef struct _MMTASKSIGNAL16 { mm903
+ HAND16 f1;
+} MMTASKSIGNAL16;
+typedef MMTASKSIGNAL16 UNALIGNED *PMMTASKSIGNAL16;
+
+#ifdef NULLSTRUCT
+typedef struct _MMGETCURRENTTASK16 { mm904
+} MMGETCURRENTTASK16;
+typedef MMGETCURRENTTASK16 UNALIGNED *PMMGETCURRENTTASK16;
+#endif
+
+#ifdef NULLSTRUCT
+typedef struct _MMTASKYIELD16 { mm905
+} MMTASKYIELD16;
+typedef MMTASKYIELD16 UNALIGNED *PMMTASKYIELD16;
+#endif
+
+typedef struct _DRVCLOSE16 { mm1100
+ DWORD f3;
+ DWORD f2;
+ HDRVR16 f1;
+} DRVCLOSE16;
+typedef DRVCLOSE16 UNALIGNED *PDRVCLOSE16;
+
+typedef struct _DRVOPEN16 { mm1101
+ DWORD f3;
+ VPSTR f2;
+ VPSTR f1;
+} DRVOPEN16;
+typedef DRVOPEN16 UNALIGNED *PDRVOPEN16;
+
+typedef struct _DRVSENDMESSAGE16 { mm1102
+ DWORD f4;
+ DWORD f3;
+ WORD f2;
+ HDRVR16 f1;
+} DRVSENDMESSAGE16;
+typedef DRVSENDMESSAGE16 UNALIGNED *PDRVSENDMESSAGE16;
+
+typedef struct _DRVGETMODULEHANDLE16 { mm1103
+ HDRVR16 f1;
+} DRVGETMODULEHANDLE16;
+typedef DRVGETMODULEHANDLE16 UNALIGNED *PDRVGETMODULEHANDLE;
+
+#ifdef NULLSTRUCT
+typedef struct _DRVDEFDRIVERPROC16{ mm1104
+} DRVDEFDRIVERPROC16;
+typedef DRVDEFDRIVERPROC16 UNALIGNED *PDRVDEFDRIVERPROC;
+#endif
+
+------------------------------------------------------------------------------*/
+
+typedef struct _MMIOOPEN16 { /* mm1210 */
+ DWORD f3;
+ VPMMIOINFO16 f2;
+ VPSTR f1;
+} MMIOOPEN16;
+typedef MMIOOPEN16 UNALIGNED *PMMIOOPEN16;
+
+typedef struct _MMIOCLOSE16 { /* mm1211 */
+ WORD f2;
+ HMMIO16 f1;
+} MMIOCLOSE16;
+typedef MMIOCLOSE16 UNALIGNED *PMMIOCLOSE16;
+
+typedef struct _MMIOREAD16 { /* mm1212 */
+ LONG f3;
+ HPSTR16 f2;
+ HMMIO16 f1;
+} MMIOREAD16;
+typedef MMIOREAD16 UNALIGNED *PMMIOREAD16;
+
+typedef struct _MMIOWRITE16 { /* mm1213 */
+ LONG f3;
+ HPSTR16 f2;
+ HMMIO16 f1;
+} MMIOWRITE16;
+typedef MMIOWRITE16 UNALIGNED *PMMIOWRITE16;
+
+typedef struct _MMIOSEEK16 { /* mm1214 */
+ INT16 f3;
+ LONG f2;
+ HMMIO16 f1;
+} MMIOSEEK16;
+typedef MMIOSEEK16 UNALIGNED *PMMIOSEEK16;
+
+typedef struct _MMIOGETINFO16 { /* mm1215 */
+ WORD f3;
+ VPMMIOINFO16 f2;
+ HMMIO16 f1;
+} MMIOGETINFO16;
+typedef MMIOGETINFO16 UNALIGNED *PMMIOGETINFO16;
+
+typedef struct _MMIOSETINFO16 { /* mm1216 */
+ WORD f3;
+ VPMMIOINFO16 f2;
+ HMMIO16 f1;
+} MMIOSETINFO16;
+typedef MMIOSETINFO16 UNALIGNED *PMMIOSETINFO16;
+
+typedef struct _MMIOSETBUFFER16 { /* mm1217 */
+ WORD f4;
+ LONG f3;
+ VPSTR f2;
+ HMMIO16 f1;
+} MMIOSETBUFFER16;
+typedef MMIOSETBUFFER16 UNALIGNED *PMMIOSETBUFFER16;
+
+typedef struct _MMIOFLUSH16 { /* mm1218 */
+ WORD f2;
+ HMMIO16 f1;
+} MMIOFLUSH16;
+typedef MMIOFLUSH16 UNALIGNED *PMMIOFLUSH16;
+
+typedef struct _MMIOADVANCE16 { /* mm1219 */
+ WORD f3;
+ VPMMIOINFO16 f2;
+ HMMIO16 f1;
+} MMIOADVANCE16;
+typedef MMIOADVANCE16 UNALIGNED *PMMIOADVANCE16;
+
+typedef struct _MMIOSTRINGTOFOURCC16 { /* mm1220 */
+ WORD f2;
+ VPCSTR f1;
+} MMIOSTRINGTOFOURCC16;
+typedef MMIOSTRINGTOFOURCC16 UNALIGNED *PMMIOSTRINGTOFOURCC16;
+
+typedef struct _MMIOINSTALLIOPROC16 { /* mm1221 */
+ DWORD f3;
+ VPMMIOPROC16 f2;
+ FOURCC f1;
+} MMIOINSTALLIOPROC16;
+typedef MMIOINSTALLIOPROC16 UNALIGNED *PMMIOINSTALLIOPROC16;
+
+typedef struct _MMIOSENDMESSAGE16 { /* mm1222 */
+ LPARAM f4;
+ LPARAM f3;
+ WORD f2;
+ HMMIO16 f1;
+} MMIOSENDMESSAGE16;
+typedef MMIOSENDMESSAGE16 UNALIGNED *PMMIOSENDMESSAGE16;
+
+typedef struct _MMIODESCEND16 { /* mm1223 */
+ WORD f4;
+ VPMMCKINFO16 f3;
+ VPMMCKINFO16 f2;
+ HMMIO16 f1;
+} MMIODESCEND16;
+typedef MMIODESCEND16 UNALIGNED *PMMIODESCEND16;
+
+typedef struct _MMIOASCEND16 { /* mm1224 */
+ WORD f3;
+ VPMMCKINFO16 f2;
+ HMMIO16 f1;
+} MMIOASCEND16;
+typedef MMIOASCEND16 UNALIGNED *PMMIOASCEND16;
+
+typedef struct _MMIOCREATECHUNK16 { /* mm1225 */
+ WORD f3;
+ VPMMCKINFO16 f2;
+ HMMIO16 f1;
+} MMIOCREATECHUNK16;
+typedef MMIOCREATECHUNK16 UNALIGNED *PMMIOCREATECHUNK16;
+
+typedef struct _MMIORENAME16 { /* mm1226 */
+ DWORD f4;
+ VPMMIOINFO16 f3;
+ VPCSTR f2;
+ VPCSTR f1;
+} MMIORENAME16;
+typedef MMIORENAME16 UNALIGNED *PMMIORENAME16;
+
+/* XLATOFF */
+#pragma pack()
+/* XLATON */
+