/* * MMSYSTEM - Multimedia Wine Extension ... :-) * * Copyright (C) the Wine project * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef __WINE_WINE_MMSYSTEM16_H #define __WINE_WINE_MMSYSTEM16_H #include #include #include #include typedef UINT16 MMVERSION16; typedef UINT16 MCIDEVICEID16; typedef UINT16 MMRESULT16; typedef struct { UINT16 wType; /* indicates the contents of the union */ union { DWORD ms; /* milliseconds */ DWORD sample; /* samples */ DWORD cb; /* byte count */ struct { /* SMPTE */ BYTE hour; /* hours */ BYTE min; /* minutes */ BYTE sec; /* seconds */ BYTE frame; /* frames */ BYTE fps; /* frames per second */ BYTE dummy; /* pad */ } smpte; struct { /* MIDI */ DWORD songptrpos; /* song pointer position */ } midi; } u; } MMTIME16, *LPMMTIME16; typedef struct { DWORD dwDCISize; SEGPTR lpszDCISectionName; SEGPTR lpszDCIAliasName; } DRVCONFIGINFO16, *LPDRVCONFIGINFO16; /* GetDriverInfo16 references this structure, so this a struct defined * in the Win16 API. * GetDriverInfo has been deprecated in Win32. */ typedef struct { UINT16 length; HDRVR16 hDriver; HINSTANCE16 hModule; CHAR szAliasName[128]; } DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16; LRESULT WINAPI DefDriverProc16(DWORD,HDRVR16,UINT16,LPARAM,LPARAM); HDRVR16 WINAPI OpenDriver16(LPCSTR,LPCSTR,LPARAM); LRESULT WINAPI CloseDriver16(HDRVR16,LPARAM,LPARAM); LRESULT WINAPI SendDriverMessage16(HDRVR16,UINT16,LPARAM,LPARAM); HMODULE16 WINAPI GetDriverModuleHandle16(HDRVR16); HDRVR16 WINAPI GetNextDriver16(HDRVR16,DWORD); BOOL16 WINAPI GetDriverInfo16(HDRVR16,DRIVERINFOSTRUCT16 *); typedef void (CALLBACK *LPDRVCALLBACK16) (HDRVR16,UINT16,DWORD,DWORD,DWORD); typedef LPDRVCALLBACK16 LPWAVECALLBACK16; UINT16 WINAPI mmsystemGetVersion16(void); BOOL16 WINAPI sndPlaySound16(LPCSTR,UINT16); typedef struct { WORD wMid; /* manufacturer ID */ WORD wPid; /* product ID */ MMVERSION16 vDriverVersion; /* version of the driver */ CHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */ DWORD dwFormats; /* formats supported */ WORD wChannels; /* number of sources supported */ DWORD dwSupport; /* functionality supported by driver */ } WAVEOUTCAPS16, *LPWAVEOUTCAPS16; typedef struct { WORD wMid; /* manufacturer ID */ WORD wPid; /* product ID */ MMVERSION16 vDriverVersion; /* version of the driver */ CHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */ DWORD dwFormats; /* formats supported */ WORD wChannels; /* number of channels supported */ } WAVEINCAPS16, *LPWAVEINCAPS16; typedef struct { HWAVE16 hWave; LPWAVEFORMATEX lpFormat; DWORD dwCallback; DWORD dwInstance; UINT16 uMappedDeviceID; DWORD dnDevNode; } WAVEOPENDESC16, *LPWAVEOPENDESC16; UINT16 WINAPI waveOutGetNumDevs16(void); UINT16 WINAPI waveOutGetDevCaps16(UINT16,LPWAVEOUTCAPS16,UINT16); UINT16 WINAPI waveOutGetVolume16(UINT16,DWORD*); UINT16 WINAPI waveOutSetVolume16(UINT16,DWORD); UINT16 WINAPI waveOutGetErrorText16(UINT16,LPSTR,UINT16); UINT16 WINAPI waveOutOpen16(HWAVEOUT16*,UINT16,const LPWAVEFORMATEX,DWORD,DWORD,DWORD); UINT16 WINAPI waveOutClose16(HWAVEOUT16); UINT16 WINAPI waveOutPrepareHeader16(HWAVEOUT16,SEGPTR,UINT16); UINT16 WINAPI waveOutUnprepareHeader16(HWAVEOUT16,SEGPTR,UINT16); UINT16 WINAPI waveOutWrite16(HWAVEOUT16,WAVEHDR*,UINT16); UINT16 WINAPI waveOutPause16(HWAVEOUT16); UINT16 WINAPI waveOutRestart16(HWAVEOUT16); UINT16 WINAPI waveOutReset16(HWAVEOUT16); UINT16 WINAPI waveOutBreakLoop16(HWAVEOUT16); UINT16 WINAPI waveOutGetPosition16(HWAVEOUT16,LPMMTIME16,UINT16); UINT16 WINAPI waveOutGetPitch16(HWAVEOUT16,DWORD*); UINT16 WINAPI waveOutSetPitch16(HWAVEOUT16,DWORD); UINT16 WINAPI waveOutGetPlaybackRate16(HWAVEOUT16,DWORD*); UINT16 WINAPI waveOutSetPlaybackRate16(HWAVEOUT16,DWORD); UINT16 WINAPI waveOutGetID16(HWAVEOUT16,UINT16*); DWORD WINAPI waveOutMessage16(HWAVEOUT16,UINT16,DWORD,DWORD); UINT16 WINAPI waveInGetNumDevs16(void); UINT16 WINAPI waveInGetDevCaps16(UINT16,LPWAVEINCAPS16,UINT16); UINT16 WINAPI waveInGetErrorText16(UINT16,LPSTR,UINT16); UINT16 WINAPI waveInOpen16(HWAVEIN16*,UINT16,const LPWAVEFORMATEX,DWORD,DWORD,DWORD); UINT16 WINAPI waveInClose16(HWAVEIN16); UINT16 WINAPI waveInPrepareHeader16(HWAVEIN16,SEGPTR,UINT16); UINT16 WINAPI waveInUnprepareHeader16(HWAVEIN16,SEGPTR,UINT16); UINT16 WINAPI waveInAddBuffer16(HWAVEIN16,WAVEHDR*,UINT16); UINT16 WINAPI waveInStart16(HWAVEIN16); UINT16 WINAPI waveInStop16(HWAVEIN16); UINT16 WINAPI waveInReset16(HWAVEIN16); UINT16 WINAPI waveInGetPosition16(HWAVEIN16,LPMMTIME16,UINT16); UINT16 WINAPI waveInGetID16(HWAVEIN16,UINT16*); DWORD WINAPI waveInMessage16(HWAVEIN16,UINT16,DWORD,DWORD); typedef LPDRVCALLBACK16 LPMIDICALLBACK16; typedef struct { WORD wMid; /* manufacturer ID */ WORD wPid; /* product ID */ MMVERSION16 vDriverVersion; /* version of the driver */ CHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */ WORD wTechnology; /* type of device */ WORD wVoices; /* # of voices (internal synth only) */ WORD wNotes; /* max # of notes (internal synth only) */ WORD wChannelMask; /* channels used (internal synth only) */ DWORD dwSupport; /* functionality supported by driver */ } MIDIOUTCAPS16, *LPMIDIOUTCAPS16; typedef struct { WORD wMid; /* manufacturer ID */ WORD wPid; /* product ID */ MMVERSION16 vDriverVersion; /* version of the driver */ CHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */ DWORD dwSupport; /* included in win95 and higher */ } MIDIINCAPS16, *LPMIDIINCAPS16; typedef struct midihdr16_tag { LPSTR lpData; /* pointer to locked data block */ DWORD dwBufferLength; /* length of data in data block */ DWORD dwBytesRecorded;/* used for input only */ DWORD dwUser; /* for client's use */ DWORD dwFlags; /* assorted flags (see defines) */ struct midihdr16_tag *lpNext; /* reserved for driver */ DWORD reserved; /* reserved for driver */ } MIDIHDR16, *LPMIDIHDR16; typedef struct { HMIDI16 hMidi; DWORD dwCallback; DWORD dwInstance; UINT16 reserved; DWORD dnDevNode; DWORD cIds; MIDIOPENSTRMID rgIds; } MIDIOPENDESC16, *LPMIDIOPENDESC16; UINT16 WINAPI midiOutGetNumDevs16(void); UINT16 WINAPI midiOutGetDevCaps16(UINT16,LPMIDIOUTCAPS16,UINT16); UINT16 WINAPI midiOutGetVolume16(UINT16,DWORD*); UINT16 WINAPI midiOutSetVolume16(UINT16,DWORD); UINT16 WINAPI midiOutGetErrorText16(UINT16,LPSTR,UINT16); UINT16 WINAPI midiOutOpen16(HMIDIOUT16*,UINT16,DWORD,DWORD,DWORD); UINT16 WINAPI midiOutClose16(HMIDIOUT16); UINT16 WINAPI midiOutPrepareHeader16(HMIDIOUT16,SEGPTR,UINT16); UINT16 WINAPI midiOutUnprepareHeader16(HMIDIOUT16,SEGPTR,UINT16); UINT16 WINAPI midiOutShortMsg16(HMIDIOUT16,DWORD); UINT16 WINAPI midiOutLongMsg16(HMIDIOUT16,MIDIHDR16*,UINT16); UINT16 WINAPI midiOutReset16(HMIDIOUT16); UINT16 WINAPI midiOutCachePatches16(HMIDIOUT16,UINT16,WORD*,UINT16); UINT16 WINAPI midiOutCacheDrumPatches16(HMIDIOUT16,UINT16,WORD*,UINT16); UINT16 WINAPI midiOutGetID16(HMIDIOUT16,UINT16*); DWORD WINAPI midiOutMessage16(HMIDIOUT16,UINT16,DWORD,DWORD); UINT16 WINAPI midiInGetNumDevs16(void); UINT16 WINAPI midiInGetDevCaps16(UINT16,LPMIDIINCAPS16,UINT16); UINT16 WINAPI midiInGetErrorText16(UINT16,LPSTR,UINT16); UINT16 WINAPI midiInOpen16(HMIDIIN16*,UINT16,DWORD,DWORD,DWORD); UINT16 WINAPI midiInClose16(HMIDIIN16); UINT16 WINAPI midiInPrepareHeader16(HMIDIIN16,SEGPTR,UINT16); UINT16 WINAPI midiInUnprepareHeader16(HMIDIIN16,SEGPTR,UINT16); UINT16 WINAPI midiInAddBuffer16(HMIDIIN16,MIDIHDR16*,UINT16); UINT16 WINAPI midiInStart16(HMIDIIN16); UINT16 WINAPI midiInStop16(HMIDIIN16); UINT16 WINAPI midiInReset16(HMIDIIN16); UINT16 WINAPI midiInGetID16(HMIDIIN16,UINT16*); DWORD WINAPI midiInMessage16(HMIDIIN16,UINT16,DWORD,DWORD); MMRESULT16 WINAPI midiStreamClose16(HMIDISTRM16 hms); MMRESULT16 WINAPI midiStreamOpen16(HMIDISTRM16*,LPUINT16,DWORD,DWORD,DWORD,DWORD); MMRESULT16 WINAPI midiStreamOut16(HMIDISTRM16,LPMIDIHDR16,UINT16); MMRESULT16 WINAPI midiStreamPause16(HMIDISTRM16); MMRESULT16 WINAPI midiStreamPosition16(HMIDISTRM16,LPMMTIME16,UINT16); MMRESULT16 WINAPI midiStreamProperty16(HMIDISTRM16,LPBYTE,DWORD); MMRESULT16 WINAPI midiStreamRestart16(HMIDISTRM16); MMRESULT16 WINAPI midiStreamStop16(HMIDISTRM16); typedef struct { WORD wMid; /* manufacturer ID */ WORD wPid; /* product ID */ MMVERSION16 vDriverVersion; /* version of the driver */ CHAR szPname[MAXPNAMELEN]; /* product name (NULL terminated string) */ WORD wTechnology; /* type of device */ DWORD dwSupport; /* functionality supported by driver */ } AUXCAPS16, *LPAUXCAPS16; typedef void (CALLBACK *LPTIMECALLBACK16)(UINT16,UINT16,DWORD,DWORD,DWORD); typedef struct { UINT16 wPeriodMin; /* minimum period supported */ UINT16 wPeriodMax; /* maximum period supported */ } TIMECAPS16,*LPTIMECAPS16; typedef struct { WORD wMid; /* manufacturer ID */ WORD wPid; /* product ID */ char szPname[MAXPNAMELEN]; /* product name (NULL terminated string) */ UINT16 wXmin; /* minimum x position value */ UINT16 wXmax; /* maximum x position value */ UINT16 wYmin; /* minimum y position value */ UINT16 wYmax; /* maximum y position value */ UINT16 wZmin; /* minimum z position value */ UINT16 wZmax; /* maximum z position value */ UINT16 wNumButtons; /* number of buttons */ UINT16 wPeriodMin; /* minimum message period when captured */ UINT16 wPeriodMax; /* maximum message period when captured */ /* win95,nt4 additions: */ UINT16 wRmin; /* minimum r position value */ UINT16 wRmax; /* maximum r position value */ UINT16 wUmin; /* minimum u (5th axis) position value */ UINT16 wUmax; /* maximum u (5th axis) position value */ UINT16 wVmin; /* minimum v (6th axis) position value */ UINT16 wVmax; /* maximum v (6th axis) position value */ UINT16 wCaps; /* joystick capabilities */ UINT16 wMaxAxes; /* maximum number of axes supported */ UINT16 wNumAxes; /* number of axes in use */ UINT16 wMaxButtons; /* maximum number of buttons supported */ CHAR szRegKey[MAXPNAMELEN]; /* registry key */ CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; /* OEM VxD in use */ } JOYCAPS16, *LPJOYCAPS16; typedef struct { UINT16 wXpos; /* x position */ UINT16 wYpos; /* y position */ UINT16 wZpos; /* z position */ UINT16 wButtons; /* button states */ } JOYINFO16, *LPJOYINFO16; typedef struct { WORD wMid; /* manufacturer id */ WORD wPid; /* product id */ MMVERSION16 vDriverVersion; /* version of the driver */ CHAR szPname[MAXPNAMELEN]; /* product name */ DWORD fdwSupport; /* misc. support bits */ DWORD cDestinations; /* count of destinations */ } MIXERCAPS16,*LPMIXERCAPS16; typedef struct tMIXEROPENDESC16 { HMIXEROBJ16 hmx; LPVOID pReserved0; DWORD dwCallback; DWORD dwInstance; } MIXEROPENDESC16, *LPMIXEROPENDESC16; typedef struct { DWORD cbStruct; /* size of MIXERLINE structure */ DWORD dwDestination; /* zero based destination index */ DWORD dwSource; /* zero based source index (if source) */ DWORD dwLineID; /* unique line id for mixer device */ DWORD fdwLine; /* state/information about line */ DWORD dwUser; /* driver specific information */ DWORD dwComponentType; /* component type line connects to */ DWORD cChannels; /* number of channels line supports */ DWORD cConnections; /* number of connections [possible] */ DWORD cControls; /* number of controls at this line */ CHAR szShortName[MIXER_SHORT_NAME_CHARS]; CHAR szName[MIXER_LONG_NAME_CHARS]; struct { DWORD dwType; /* MIXERLINE_TARGETTYPE_xxxx */ DWORD dwDeviceID; /* target device ID of device type */ WORD wMid; /* of target device */ WORD wPid; /* " */ MMVERSION16 vDriverVersion; /* " */ CHAR szPname[MAXPNAMELEN]; /* " */ } Target; } MIXERLINE16, *LPMIXERLINE16; typedef struct { DWORD cbStruct; /* size in bytes of MIXERCONTROL */ DWORD dwControlID; /* unique control id for mixer device */ DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */ DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */ DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */ CHAR szShortName[MIXER_SHORT_NAME_CHARS]; CHAR szName[MIXER_LONG_NAME_CHARS]; union { struct { LONG lMinimum; /* signed minimum for this control */ LONG lMaximum; /* signed maximum for this control */ } s; struct { DWORD dwMinimum; /* unsigned minimum for this control */ DWORD dwMaximum; /* unsigned maximum for this control */ } s1; DWORD dwReserved[6]; } Bounds; union { DWORD cSteps; /* # of steps between min & max */ DWORD cbCustomData; /* size in bytes of custom data */ DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */ } Metrics; } MIXERCONTROL16, *LPMIXERCONTROL16; typedef struct { DWORD cbStruct; /* size in bytes of MIXERLINECONTROLS */ DWORD dwLineID; /* line id (from MIXERLINE.dwLineID) */ union { DWORD dwControlID; /* MIXER_GETLINECONTROLSF_ONEBYID */ DWORD dwControlType; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */ } u; DWORD cControls; /* count of controls pmxctrl points to */ DWORD cbmxctrl; /* size in bytes of _one_ MIXERCONTROL */ SEGPTR pamxctrl; /* pointer to first MIXERCONTROL array */ } MIXERLINECONTROLS16, *LPMIXERLINECONTROLS16; typedef struct { DWORD cbStruct; /* size in bytes of MIXERCONTROLDETAILS */ DWORD dwControlID; /* control id to get/set details on */ DWORD cChannels; /* number of channels in paDetails array */ union { HWND16 hwndOwner; /* for MIXER_SETCONTROLDETAILSF_CUSTOM */ DWORD cMultipleItems; /* if _MULTIPLE, the number of items per channel */ } u; DWORD cbDetails; /* size of _one_ details_XX struct */ LPVOID paDetails; /* pointer to array of details_XX structs */ } MIXERCONTROLDETAILS16,*LPMIXERCONTROLDETAILS16; typedef struct { DWORD dwParam1; DWORD dwParam2; CHAR szName[MIXER_LONG_NAME_CHARS]; } MIXERCONTROLDETAILS_LISTTEXT16,*LPMIXERCONTROLDETAILS_LISTTEXT16; typedef LRESULT (CALLBACK *LPMMIOPROC16)(LPSTR lpmmioinfo,UINT16 uMessage, LPARAM lParam1,LPARAM lParam2); typedef struct { DWORD dwFlags; /* general status flags */ FOURCC fccIOProc; /* pointer to I/O procedure */ LPMMIOPROC16 pIOProc; /* pointer to I/O procedure */ UINT16 wErrorRet; /* place for error to be returned */ HTASK16 hTask; /* alternate local task */ /* fields maintained by MMIO functions during buffered I/O */ LONG cchBuffer; /* size of I/O buffer (or 0L) */ HPSTR pchBuffer; /* start of I/O buffer (or NULL) */ HPSTR pchNext; /* pointer to next byte to read/write */ HPSTR pchEndRead; /* pointer to last valid byte to read */ HPSTR pchEndWrite; /* pointer to last byte to write */ LONG lBufOffset; /* disk offset of start of buffer */ /* fields maintained by I/O procedure */ LONG lDiskOffset; /* disk offset of next read or write */ DWORD adwInfo[3]; /* data specific to type of MMIOPROC */ /* other fields maintained by MMIO */ DWORD dwReserved1; /* reserved for MMIO use */ DWORD dwReserved2; /* reserved for MMIO use */ HMMIO16 hmmio; /* handle to open file */ } MMIOINFO16, *LPMMIOINFO16; typedef UINT16 (CALLBACK *YIELDPROC16)(UINT16,DWORD); UINT16 WINAPI auxGetNumDevs16(void); UINT16 WINAPI auxGetDevCaps16 (UINT16,LPAUXCAPS16,UINT16); UINT16 WINAPI auxSetVolume16(UINT16,DWORD); UINT16 WINAPI auxGetVolume16(UINT16,LPDWORD); DWORD WINAPI auxOutMessage16(UINT16,UINT16,DWORD,DWORD); MMRESULT16 WINAPI timeGetSystemTime16(LPMMTIME16,UINT16); MMRESULT16 WINAPI timeSetEvent16(UINT16,UINT16,LPTIMECALLBACK16,DWORD,UINT16); MMRESULT16 WINAPI timeKillEvent16(UINT16); MMRESULT16 WINAPI timeGetDevCaps16(LPTIMECAPS16,UINT16); MMRESULT16 WINAPI timeBeginPeriod16(UINT16); MMRESULT16 WINAPI timeEndPeriod16(UINT16); MMRESULT16 WINAPI joyGetDevCaps16 (UINT16,LPJOYCAPS16,UINT16); UINT16 WINAPI joyGetNumDevs16(void); MMRESULT16 WINAPI joyGetPos16(UINT16,LPJOYINFO16); MMRESULT16 WINAPI joyGetPosEx16(UINT16,LPJOYINFOEX); MMRESULT16 WINAPI joyGetThreshold16(UINT16,UINT16*); MMRESULT16 WINAPI joyReleaseCapture16(UINT16); MMRESULT16 WINAPI joySetCapture16(HWND16,UINT16,UINT16,BOOL16); MMRESULT16 WINAPI joySetThreshold16(UINT16,UINT16); UINT16 WINAPI mixerGetNumDevs16(void); UINT16 WINAPI mixerOpen16(LPHMIXER16,UINT16,DWORD,DWORD,DWORD); UINT16 WINAPI mixerClose16(HMIXER16); DWORD WINAPI mixerMessage16(HMIXER16,UINT16,DWORD,DWORD); UINT16 WINAPI mixerGetDevCaps16(UINT16,LPMIXERCAPS16,UINT16); UINT16 WINAPI mixerGetLineInfo16(HMIXEROBJ16,LPMIXERLINE16,DWORD); UINT16 WINAPI mixerGetID16(HMIXEROBJ16,LPUINT16,DWORD); UINT16 WINAPI mixerGetLineControls16(HMIXEROBJ16,LPMIXERLINECONTROLS16,DWORD); UINT16 WINAPI mixerGetControlDetails16(HMIXEROBJ16,LPMIXERCONTROLDETAILS16,DWORD); UINT16 WINAPI mixerSetControlDetails16(HMIXEROBJ16,LPMIXERCONTROLDETAILS16,DWORD); LPMMIOPROC16 WINAPI mmioInstallIOProc16(FOURCC,LPMMIOPROC16,DWORD); FOURCC WINAPI mmioStringToFOURCC16(LPCSTR,UINT16); HMMIO16 WINAPI mmioOpen16(LPSTR,MMIOINFO16*,DWORD); UINT16 WINAPI mmioRename16(LPCSTR,LPCSTR,MMIOINFO16*,DWORD); MMRESULT16 WINAPI mmioClose16(HMMIO16,UINT16); LONG WINAPI mmioRead16(HMMIO16,HPSTR,LONG); LONG WINAPI mmioWrite16(HMMIO16,HPCSTR,LONG); LONG WINAPI mmioSeek16(HMMIO16,LONG,INT16); MMRESULT16 WINAPI mmioGetInfo16(HMMIO16,MMIOINFO16*,UINT16); MMRESULT16 WINAPI mmioSetInfo16(HMMIO16,const MMIOINFO16*,UINT16); UINT16 WINAPI mmioSetBuffer16(HMMIO16,LPSTR,LONG,UINT16); UINT16 WINAPI mmioFlush16(HMMIO16,UINT16); UINT16 WINAPI mmioAdvance16(HMMIO16,MMIOINFO16*,UINT16); LRESULT WINAPI mmioSendMessage16(HMMIO16,UINT16,LPARAM,LPARAM); UINT16 WINAPI mmioDescend16(HMMIO16,MMCKINFO*,const MMCKINFO*,UINT16); UINT16 WINAPI mmioAscend16(HMMIO16,MMCKINFO*,UINT16); UINT16 WINAPI mmioCreateChunk16(HMMIO16,MMCKINFO*,UINT16); DWORD WINAPI mciSendCommand16(UINT16,UINT16,DWORD,DWORD); DWORD WINAPI mciSendString16(LPCSTR,LPSTR,UINT16,HWND16); UINT16 WINAPI mciGetDeviceID16(LPCSTR); UINT16 WINAPI mciGetDeviceIDFromElementID16(DWORD,LPCSTR); BOOL16 WINAPI mciGetErrorString16 (DWORD,LPSTR,UINT16); BOOL16 WINAPI mciSetYieldProc16(UINT16,YIELDPROC16,DWORD); HTASK16 WINAPI mciGetCreatorTask16(UINT16); YIELDPROC16 WINAPI mciGetYieldProc16(UINT16,DWORD*); DWORD WINAPI mciGetDriverData16(UINT16 uDeviceID); BOOL16 WINAPI mciSetDriverData16(UINT16 uDeviceID, DWORD dwData); UINT16 WINAPI mciDriverYield16(UINT16 uDeviceID); BOOL16 WINAPI mciDriverNotify16(HWND16 hwndCallback, UINT16 uDeviceID, UINT16 uStatus); UINT16 WINAPI mciLoadCommandResource16(HINSTANCE16 hInstance, LPCSTR lpResName, UINT16 uType); BOOL16 WINAPI mciFreeCommandResource16(UINT16 uTable); HINSTANCE16 WINAPI mmTaskCreate16(SEGPTR spProc, HINSTANCE16 *lphMmTask, DWORD dwPmt); void WINAPI mmTaskBlock16(HINSTANCE16 hInst); LRESULT WINAPI mmTaskSignal16(HTASK16 ht); void WINAPI mmTaskYield16(void); LRESULT WINAPI mmThreadCreate16(FARPROC16 fpThreadAddr, LPHANDLE16 lpHndl, DWORD dwPmt, DWORD dwFlags); void WINAPI mmThreadSignal16(HANDLE16 hndl); void WINAPI mmThreadBlock16(HANDLE16 hndl); HANDLE16 WINAPI mmThreadGetTask16(HANDLE16 hndl); BOOL16 WINAPI mmThreadIsValid16(HANDLE16 hndl); BOOL16 WINAPI mmThreadIsCurrent16(HANDLE16 hndl); BOOL16 WINAPI DriverCallback16(DWORD dwCallBack, UINT16 uFlags, HANDLE16 hDev, WORD wMsg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2); typedef struct { DWORD dwCallback; WORD wDeviceID; WORD wReserved0; SEGPTR lpstrDeviceType; SEGPTR lpstrElementName; SEGPTR lpstrAlias; } MCI_OPEN_PARMS16, *LPMCI_OPEN_PARMS16; typedef struct { DWORD dwCallback; SEGPTR lpstrReturn; DWORD dwRetSize; } MCI_INFO_PARMS16, *LPMCI_INFO_PARMS16; typedef struct { DWORD dwCallback; SEGPTR lpstrReturn; DWORD dwRetSize; DWORD dwNumber; WORD wDeviceType; WORD wReserved0; } MCI_SYSINFO_PARMS16, *LPMCI_SYSINFO_PARMS16; typedef struct { DWORD dwCallback; UINT16 nVirtKey; WORD wReserved0; HWND16 hwndBreak; WORD wReserved1; } MCI_BREAK_PARMS16, *LPMCI_BREAK_PARMS16; typedef struct { DWORD dwCallback; LPCSTR lpfilename; } MCI_LOAD_PARMS16, *LPMCI_LOAD_PARMS16; typedef struct { DWORD dwCallback; SEGPTR lpstrSoundName; } MCI_SOUND_PARMS16, *LPMCI_SOUND_PARMS16; typedef struct { DWORD dwCallback; SEGPTR lpstrCommand; } MCI_VD_ESCAPE_PARMS16, *LPMCI_VD_ESCAPE_PARMS16; typedef struct { UINT16 wDeviceID; /* device ID */ SEGPTR lpstrParams; /* parameter string for entry in SYSTEM.INI */ UINT16 wCustomCommandTable; /* custom command table (0xFFFF if none) * filled in by the driver */ UINT16 wType; /* driver type (filled in by the driver) */ } MCI_OPEN_DRIVER_PARMS16, *LPMCI_OPEN_DRIVER_PARMS16; typedef struct { DWORD dwCallback; MCIDEVICEID16 wDeviceID; WORD wReserved0; SEGPTR lpstrDeviceType; SEGPTR lpstrElementName; SEGPTR lpstrAlias; DWORD dwBufferSeconds; } MCI_WAVE_OPEN_PARMS16, *LPMCI_WAVE_OPEN_PARMS16; typedef struct { DWORD dwCallback; DWORD dwTimeFormat; DWORD dwAudio; UINT16 wInput; UINT16 wReserved0; UINT16 wOutput; UINT16 wReserved1; UINT16 wFormatTag; UINT16 wReserved2; UINT16 nChannels; UINT16 wReserved3; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; UINT16 nBlockAlign; UINT16 wReserved4; UINT16 wBitsPerSample; UINT16 wReserved5; } MCI_WAVE_SET_PARMS16, * LPMCI_WAVE_SET_PARMS16; typedef struct { DWORD dwCallback; UINT16 wDeviceID; UINT16 wReserved0; SEGPTR lpstrDeviceType; SEGPTR lpstrElementName; SEGPTR lpstrAlias; DWORD dwStyle; HWND16 hWndParent; UINT16 wReserved1; } MCI_ANIM_OPEN_PARMS16, *LPMCI_ANIM_OPEN_PARMS16; typedef struct { DWORD dwCallback; HWND16 hWnd; WORD wReserved1; WORD nCmdShow; WORD wReserved2; LPCSTR lpstrText; } MCI_ANIM_WINDOW_PARMS16, *LPMCI_ANIM_WINDOW_PARMS16; typedef struct { DWORD dwCallback; #ifdef MCI_USE_OFFEXT POINT16 ptOffset; POINT16 ptExtent; #else /* ifdef MCI_USE_OFFEXT */ RECT16 rc; #endif /* ifdef MCI_USE_OFFEXT */ } MCI_ANIM_RECT_PARMS16, *LPMCI_ANIM_RECT_PARMS16; typedef struct { DWORD dwCallback; RECT16 rc; HDC16 hDC; } MCI_ANIM_UPDATE_PARMS16, *LPMCI_ANIM_UPDATE_PARMS16; typedef struct { DWORD dwCallback; MCIDEVICEID16 wDeviceID; WORD wReserved0; LPCSTR lpstrDeviceType; LPCSTR lpstrElementName; LPCSTR lpstrAlias; DWORD dwStyle; HWND16 hWndParent; WORD wReserved1; } MCI_OVLY_OPEN_PARMS16, *LPMCI_OVLY_OPEN_PARMS16; typedef struct { DWORD dwCallback; HWND16 hWnd; WORD wReserved1; UINT16 nCmdShow; WORD wReserved2; LPCSTR lpstrText; } MCI_OVLY_WINDOW_PARMS16, *LPMCI_OVLY_WINDOW_PARMS16; typedef struct { DWORD dwCallback; #ifdef MCI_USE_OFFEXT POINT16 ptOffset; POINT16 ptExtent; #else /* ifdef MCI_USE_OFFEXT */ RECT16 rc; #endif /* ifdef MCI_USE_OFFEXT */ } MCI_OVLY_RECT_PARMS16, *LPMCI_OVLY_RECT_PARMS16; typedef struct { DWORD dwCallback; LPCSTR lpfilename; RECT16 rc; } MCI_OVLY_SAVE_PARMS16, *LPMCI_OVLY_SAVE_PARMS16; typedef struct { DWORD dwCallback; LPCSTR lpfilename; RECT16 rc; } MCI_OVLY_LOAD_PARMS16, *LPMCI_OVLY_LOAD_PARMS16; /* from digitalv / 16 bit */ typedef struct { DWORD dwCallback; RECT16 rc; } MCI_DGV_RECT_PARMS16, *LPMCI_DGV_RECT_PARMS16; typedef struct { DWORD dwCallback; LPSTR lpstrFileName; RECT16 rc; } MCI_DGV_CAPTURE_PARMS16, *LPMCI_DGV_CAPTURE_PARMS16; typedef struct { DWORD dwCallback; DWORD dwFrom; DWORD dwTo; RECT16 rc; DWORD dwAudioStream; DWORD dwVideoStream; } MCI_DGV_COPY_PARMS16, *LPMCI_DGV_COPY_PARMS16; typedef struct { DWORD dwCallback; DWORD dwFrom; DWORD dwTo; RECT16 rc; DWORD dwAudioStream; DWORD dwVideoStream; } MCI_DGV_CUT_PARMS16, * LPMCI_DGV_CUT_PARMS16; typedef struct { DWORD dwCallback; DWORD dwFrom; DWORD dwTo; RECT16 rc; DWORD dwAudioStream; DWORD dwVideoStream; } MCI_DGV_DELETE_PARMS16, * LPMCI_DGV_DELETE_PARMS16; typedef MCI_DGV_RECT_PARMS16 MCI_DGV_FREEZE_PARMS16, * LPMCI_DGV_FREEZE_PARMS16; typedef struct { DWORD dwCallback; LPSTR lpstrReturn; DWORD dwRetSize; DWORD dwItem; } MCI_DGV_INFO_PARMS16, * LPMCI_DGV_INFO_PARMS16; typedef struct { DWORD dwCallback; LPSTR lpstrReturn; DWORD dwLength; DWORD dwNumber; DWORD dwItem; LPSTR lpstrAlgorithm; } MCI_DGV_LIST_PARMS16, *LPMCI_DGV_LIST_PARMS16; typedef MCI_LOAD_PARMS16 MCI_DGV_LOAD_PARMS16 , * LPMCI_DGV_LOAD_PARMS16; typedef struct { DWORD dwCallback; UINT16 wDeviceID; UINT16 wReserved0; LPSTR lpstrDeviceType; LPSTR lpstrElementName; LPSTR lpstrAlias; DWORD dwStyle; HWND16 hWndParent; UINT16 wReserved1; } MCI_DGV_OPEN_PARMS16, *LPMCI_DGV_OPEN_PARMS16; typedef struct { DWORD dwCallback; DWORD dwTo; RECT16 rc; DWORD dwAudioStream; DWORD dwVideoStream; } MCI_DGV_PASTE_PARMS16, * LPMCI_DGV_PASTE_PARMS16; typedef MCI_DGV_RECT_PARMS16 MCI_DGV_PUT_PARMS16, * LPMCI_DGV_PUT_PARMS16; typedef struct { DWORD dwCallback; DWORD dwItem; LPSTR lpstrName; DWORD lpstrAlgorithm; DWORD dwHandle; } MCI_DGV_QUALITY_PARMS16, *LPMCI_DGV_QUALITY_PARMS16; typedef struct { DWORD dwCallback; DWORD dwFrom; DWORD dwTo; RECT16 rc; DWORD dwAudioStream; DWORD dwVideoStream; } MCI_DGV_RECORD_PARMS16, * LPMCI_DGV_RECORD_PARMS16; typedef struct { DWORD dwCallback; LPSTR lpstrPath; DWORD dwSize; } MCI_DGV_RESERVE_PARMS16, *LPMCI_DGV_RESERVE_PARMS16A; typedef struct { DWORD dwCallback; LPSTR lpstrFileName; RECT16 rc; } MCI_DGV_RESTORE_PARMS16, *LPMCI_DGV_RESTORE_PARMS16; typedef struct { DWORD dwCallback; LPSTR lpstrFileName; RECT16 rc; } MCI_DGV_SAVE_PARMS16, *LPMCI_DGV_SAVE_PARMS16; typedef struct { DWORD dwCallback; DWORD dwItem; DWORD dwValue; DWORD dwOver; LPSTR lpstrAlgorithm; LPSTR lpstrQuality; } MCI_DGV_SETAUDIO_PARMS16, *LPMCI_DGV_SETAUDIO_PARMS16; typedef struct { DWORD dwCallback; DWORD dwItem; DWORD dwValue; DWORD dwOver; LPSTR lpstrAlgorithm; LPSTR lpstrQuality; DWORD dwSourceNumber; } MCI_DGV_SETVIDEO_PARMS16, *LPMCI_DGV_SETVIDEO_PARMS16; typedef struct { DWORD dwCallback; DWORD dwReturn; DWORD dwItem; DWORD dwTrack; SEGPTR lpstrDrive; DWORD dwReference; } MCI_DGV_STATUS_PARMS16, *LPMCI_DGV_STATUS_PARMS16; typedef struct { DWORD dwCallback; RECT16 rc; HDC16 hDC; UINT16 wReserved0; } MCI_DGV_UPDATE_PARMS16, * LPMCI_DGV_UPDATE_PARMS16; typedef MCI_DGV_RECT_PARMS16 MCI_DGV_UNFREEZE_PARMS16, * LPMCI_DGV_UNFREEZE_PARMS16; typedef MCI_DGV_RECT_PARMS16 MCI_DGV_WHERE_PARMS16, * LPMCI_DGV_WHERE_PARMS16; typedef struct { DWORD dwCallback; HWND16 hWnd; UINT16 wReserved1; UINT16 nCmdShow; UINT16 wReserved2; LPSTR lpstrText; } MCI_DGV_WINDOW_PARMS16, *LPMCI_DGV_WINDOW_PARMS16; #include #endif /* __WINE_WINE_MMSYSTEM16_H */