' ------------------------------------------------------------------------ ' ' MMDECS.TXT -- Windows 3.1 Multimedia type and function Declarations for Visual Basic ' ' Copyright (C) 1992 Desaware ' ' You have a royalty-free right to use, modify, reproduce and distribute ' this file (and/or any modified version) in any way you find useful, ' provided that you agree that Desaware and Ziff-Davis Press has no ' warranty, obligation or liability for its contents. ' Refer to the Ziff-Davis Visual Basic Programmer's Guide to the ' Windows API for further information. ' '**************************************************************************** ' ' General constants and data types ' '****************************************************************************/ ' RECT copies from winapi ' You will need to uncomment this type if this file is not used ' in conjunction with ApiDecs.Bas 'Type RECT '8 Bytes ' left As Integer ' top As Integer ' right As Integer ' bottom As Integer 'End Type type MMTIME wType As Integer ' The following 6 byte structure is one of the following: ' A Long representing milliseconds, sample, byte count or a songpointer ' followed by 2 unused bytes. ' A 6 byte field containing Hours, minutes, seconds, frames, fps, pad struct1 As String * 6 ' Hours, minutes, seconds, frames, fps, pad End Type ' The following structure provides an alternative way to access the ' mmtime_tag structure type MMTIME2 wType As Integer longfield As Long unused As Integer End Type '**************************************************************************** ' '' Installable driver support ' '****************************************************************************/ ' LPARAM of DRV_CONFIGURE message Type DRVCONFIGINFO dwDCISize As Long lpszDCISectionName As Long lpszDCIAliasName As Long End Type ' installable driver function prototypes Declare Function DrvClose& Lib "MMSYSTEM.DLL" (ByVal hDriver%, ByVal lParam1&, ByVal lParam2&) Declare Function DrvOpen% Lib "MMSYSTEM.DLL" (ByVal szDriverName$, ByVal szSectionName$, ByVal lParam2&) Declare Function DrvSendMessageClose& Lib "MMSYSTEM.DLL" (ByVal hDriver%, ByVal uMessage%, ByVal lParam1&, ByVal lParam2&) Declare Function DrvGetModuleHandle% Lib "MMSYSTEM.DLL" (ByVal hDriver%) Declare Function DrvDefDriverProc& Lib "MMSYSTEM.DLL" (ByVal dwDriverId&, ByVal driverID, ByVal uMessage%, ByVal lParam1&, ByVal lParam2&) '**************************************************************************** ' '' General MMSYSTEM support ' '****************************************************************************/ Declare Function mmsystemGetVersion% Lib "MMSYSTEM.DLL" () Declare Sub OutputDebugStr Lib "MMSYSTEM.DLL" (ByVal strout$) '**************************************************************************** ' '' Sound support ' '****************************************************************************/ Declare Function sndPlaySound% Lib "MMSYSTEM.DLL" (ByVal lpszSoundName$, ByVal uFlags%) ' wave data block header Type WAVEHDR lpData As Long ' pointer to locked data buffer dwBufferLength As Long ' length of data buffer dwBytesRecorded As Long ' used for input only dwUser As Long ' for client's use dwFlags As Long ' assorted flags (see defines) dwLoops As Long ' loop control counter lpNext As Long ' reserved for driver reserved As Long ' reserved for driver End Type ' waveform output device capabilities structure Type WAVEOUTCAPS wMid As Integer ' manufacturer ID wPid As Integer ' product ID vDriverVersion As Integer ' version of the driver szPname As String *32 ' product name (NULL terminated string) dwFormats As Long ' formats supported wChannels As Integer ' number of sources supported dwSupport As Long ' functionality supported by driver End Type ' waveform input device capabilities structure Type WAVEINCAPS wMid As Integer ' manufacturer ID wPid As Integer ' product ID vDriverVersion As Integer ' version of the driver szPname As String *32 ' product name (NULL terminated string) dwFormats As Long ' formats supported wChannels As Integer ' number of channels supported End Type ' general waveform format structure (information common to all formats) Type WAVEFORMAT wFormatTag As Integer ' format type nChannels As Integer ' number of channels (i.e. mono, stereo, etc.) nSamplesPerSec As Long ' sample rate nAvgBytesPerSec As Long ' for buffer estimation nBlockAlign As Integer ' block size of data End Type ' specific waveform format structure for PCM data Type PCWAVEFORMAT wf As WAVEFORMAT wBitsPerSample As Integer End Type ' waveform audio function prototypes Declare Function waveOutGetNumDevs% Lib "MMSYSTEM.DLL" () Declare Function waveOutGetDevCaps% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpCaps As WAVEOUTCAPS, ByVal uSize%) Declare Function waveOutGetVolume% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpdwVolume&) Declare Function waveOutSetVolume% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, ByVal dwVolume&) Declare Function waveOutGetErrorText% Lib "MMSYSTEM.DLL" (ByVal uError%, ByVal lpText$, ByVal uSize%) Declare Function waveOutOpen% Lib "MMSYSTEM.DLL" (lphWaveOut%, ByVal uDeviceID%, lpFormat As WAVEFORMAT, ByVal dwCallback&, ByVal dwInstance&, ByVal dwFlags&) Declare Function waveOutClose% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%) Declare Function waveOutPrepareHeader% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpWaveOutHdr As WAVEHDR, ByVal uSize%) Declare Function waveOutUnprepareHeader% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpWaveOutHdr As WAVEHDR, ByVal uSize%) Declare Function waveOutWrite% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpWaveOutHdr As WAVEHDR, ByVal uSize%) Declare Function waveOutPause% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%) Declare Function waveOutRestart% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%) Declare Function waveOutReset% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%) Declare Function waveOutBreakLoop% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%) Declare Function waveOutGetPosition% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpInfo As MMTIME, ByVal uSize%) Declare Function waveOutGetPitch% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpdwPitch&) Declare Function waveOutSetPitch% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, ByVal dwPitch&) Declare Function waveOutGetPlaybackRate% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpdwRate&) Declare Function waveOutSetPlaybackRate% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, ByVal dwRate&) Declare Function waveOutGetID% Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, lpuDeviceID%) Declare Function waveOutMessage& Lib "MMSYSTEM.DLL" (ByVal hWaveOut%, ByVal uMessage%, ByVal dw1&, ByVal dw2&) Declare Function waveInGetNumDevs% Lib "MMSYSTEM.DLL" () Declare Function waveInGetDevCaps% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpCaps As WAVEINCAPS, ByVal uSize%) Declare Function waveInGetErrorText% Lib "MMSYSTEM.DLL" (ByVal uError%, ByVal lpText$, ByVal uSize%) Declare Function waveInOpen% Lib "MMSYSTEM.DLL" (lphWaveIn%, ByVal uDeviceID%, lpFormat As WAVEFORMAT, ByVal dwCallback&, ByVal dwInstance&, ByVal dwFlags&) Declare Function waveInClose% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%) Declare Function waveInPrepareHeader% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%, lpWaveInHdr As WAVEHDR, ByVal uSize%) Declare Function waveInUnprepareHeader% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%, lpWaveInHdr As WAVEHDR, ByVal uSize%) Declare Function waveInAddBuffer% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%, lpWaveInHdr As WAVEHDR, ByVal uSize%) Declare Function waveInStart% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%) Declare Function waveInStop% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%) Declare Function waveInReset% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%) Declare Function waveInGetPosition% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%, lpInfo As MMTIME, ByVal uSize%) Declare Function waveInGetID% Lib "MMSYSTEM.DLL" (ByVal hWaveIn%, lpuDeviceID%) Declare Function waveInMessage& Lib "MMSYSTEM.DLL" (ByVal hWaveIn%, ByVal uMessage%, ByVal dw1&, ByVal dw2&) '**************************************************************************** ' '' MIDI audio support ' '****************************************************************************/ ' MIDI output device capabilities structure Type MIDIOUTCAPS wMid As Integer ' manufacturer ID wPid As Integer ' product ID vDriverVersion As Integer ' version of the driver szPname As String *32 ' product name (NULL terminated string) wTechnology As Integer ' type of device wVoices As Integer ' # of voices (internal synth only) wNotes As Integer ' max # of notes (internal synth only) wChannelMask As Integer ' channels used (internal synth only) dwSupport As Long ' functionality supported by driver End Type ' MIDI output device capabilities structure Type MIDIINCAPS wMid As Integer ' manufacturer ID wPid As Integer ' product ID vDriverVersion As Integer ' version of the driver szPname As String *32 ' product name (NULL terminated string) End Type ' MIDI data block header Type MIDIHDR lpData As Long ' pointer to locked data block dwBufferLength As Long ' length of data in data block dwBytesRecorded As Long ' used for input only dwUser As Long ' for client's use dwFlags As Long ' assorted flags (see defines) lpNext As Long ' reserved for driver reserved As Long ' reserved for driver End Type ' MIDI function prototypes Declare Function midiOutGetNumDevs% Lib "MMSYSTEM.DLL" () Declare Function midiOutGetDevCaps% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpCaps As MIDIOUTCAPS, ByVal uSize%) Declare Function midiOutGetVolume% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpdwVolume&) Declare Function midiOutSetVolume% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, ByVal dwVolume&) Declare Function midiOutGetErrorText% Lib "MMSYSTEM.DLL" (ByVal uError%, ByVal lpText$, ByVal uSize%) Declare Function midiOutOpen% Lib "MMSYSTEM.DLL" (lphMidiOut&, ByVal uDeviceID%, ByVal dwCallback&, ByVal dwInstance&, ByVal dwFlags&) Declare Function midiOutClose% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%) Declare Function midiOutPrepareHeader% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, lpMidiOutHdr As MIDIHDR, ByVal uSize%) Declare Function midiOutUnprepareHeader% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, lpMidiOutHdr As MIDIHDR, ByVal uSize%) Declare Function midiOutShortMsg% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, ByVal dwMsg&) Declare Function midiOutLongMsg% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, lpMidiOutHdr As MIDIHDR, ByVal uSize%) Declare Function midiOutReset% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%) Declare Function midiOutCachePatches% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, ByVal uBank%, lpwPatchArray%, ByVal uFlags%) Declare Function midiOutCacheDrumPatches% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, ByVal uPatch%, lpwKeyArray%, ByVal uFlags%) Declare Function midiOutGetID% Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, lpuDeviceID%) Declare Function midiOutMessage& Lib "MMSYSTEM.DLL" (ByVal hMidiOut%, ByVal uMessage%, ByVal dw1&, ByVal dw2&) Declare Function midiInGetNumDevs% Lib "MMSYSTEM.DLL" () Declare Function midiInGetDevCaps% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpCaps As MIDIINCAPS, ByVal uSize%) Declare Function midiInGetErrorText% Lib "MMSYSTEM.DLL" (ByVal uError%, ByVal lpText$, ByVal uSize%) Declare Function midiInOpen% Lib "MMSYSTEM.DLL" (lphMidiIn%, ByVal uDeviceID%, ByVal dwCallback&, ByVal dwInstance&, ByVal dwFlags&) Declare Function midiInClose% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%) Declare Function midiInPrepareHeader% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%, lpMidiInHdr As MIDIHDR, ByVal uSize%) Declare Function midiInUnprepareHeader% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%, lpMidiInHdr As MIDIHDR, ByVal uSize%) Declare Function midiInAddBuffer% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%, lpMidiInHdr As MIDIHDR, ByVal uSize%) Declare Function midiInStart% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%) Declare Function midiInStop% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%) Declare Function midiInReset% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%) Declare Function midiInGetID% Lib "MMSYSTEM.DLL" (ByVal hMidiIn%, lpuDeviceID%) Declare Function midiInMessage& Lib "MMSYSTEM.DLL" (ByVal hMidiIn%, ByVal uMessage%, ByVal dw1&, ByVal dw2&) '**************************************************************************** ' '' Auxiliary audio support ' '****************************************************************************/ ' Auxiliary audio device capabilities structure Type AUXCAPS wMid As Integer ' manufacturer ID wPid As Integer ' product ID vDriverVersion As Integer ' version of the driver szPname As String *32 ' product name (NULL terminated string) wTechnology As Integer ' type of device dwSupport As Long ' functionality supported by driver End Type ' auxiliary audio function prototypes Declare Function auxGetNumDevs% Lib "MMSYSTEM.DLL" () Declare Function auxGetDevCaps% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpCaps As AUXCAPS, ByVal uSize%) Declare Function auxSetVolume% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, ByVal dwVolume&) Declare Function auxGetVolume% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpdwVolume&) Declare Function auxOutMessage& Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, ByVal uMessage%, ByVal dw1&, ByVal dw2&) '**************************************************************************** ' '' Timer support ' '****************************************************************************/ ' timer device capabilities data structure Type TIMECAPS wPeriodMin As Integer ' minimum period supported wPeriodMax As Integer ' maximum period supported End Type ' timer function prototypes Declare Function timeGetSystemTime% Lib "MMSYSTEM.DLL" (lpTime As MMTIME, ByVal uSize%) Declare Function timeGetTime& Lib "MMSYSTEM.DLL" () Declare Function timeSetEvent% Lib "MMSYSTEM.DLL" (ByVal uDelay%, ByVal uResolution%, ByVal lpFunction&, ByVal dwUser&, ByVal uFlags%) Declare Function timeKillEvent% Lib "MMSYSTEM.DLL" (ByVal uTimerID%) Declare Function timeGetDevCaps% Lib "MMSYSTEM.DLL" (lpTimeCaps As TIMECAPS, ByVal uSize%) Declare Function timeBeginPeriod% Lib "MMSYSTEM.DLL" (ByVal uPeriod%) Declare Function timeEndPeriod% Lib "MMSYSTEM.DLL" (ByVal uPeriod%) '**************************************************************************** ' '' Joystick support ' '****************************************************************************/ ' joystick device capabilities data structure Type JOYCAPS wMid As Integer ' manufacturer ID wPid As Integer ' product ID szPname As String *32 ' product name (NULL terminated string) wXmin As Integer ' minimum x position value wXmax As Integer ' maximum x position value wYmin As Integer ' minimum y position value wYmax As Integer ' maximum y position value wZmin As Integer ' minimum z position value wZmax As Integer ' maximum z position value wNumButtons As Integer ' number of buttons wPeriodMin As Integer ' minimum message period when captured wPeriodMax As Integer ' maximum message period when captured End Type ' joystick information data structure Type JOYINFO wXpos As Integer ' x position wYpos As Integer ' y position wZpos As Integer ' z position wButtons As Integer ' button states End Type ' joystick function prototypes Declare Function joyGetDevCaps% Lib "MMSYSTEM.DLL" (ByVal uJoyID%, lpCaps As JOYCAPS, ByVal uSize%) Declare Function joyGetNumDevs% Lib "MMSYSTEM.DLL" () Declare Function joyGetPos% Lib "MMSYSTEM.DLL" (ByVal uJoyID%, lpInfo As JOYINFO) Declare Function joyGetThreshold% Lib "MMSYSTEM.DLL" (ByVal uJoyID%, lpuThreshold%) Declare Function joyReleaseCapture% Lib "MMSYSTEM.DLL" (ByVal uJoyID%) Declare Function joySetCapture% Lib "MMSYSTEM.DLL" (ByVal hwnd%, ByVal uJoyID%, ByVal uPeriod%, ByVal bChanged%) Declare Function joySetThreshold% Lib "MMSYSTEM.DLL" (ByVal uJoyID%, ByVal uThreshold%) '**************************************************************************** ' '' Multimedia File I/O support ' '****************************************************************************/ ' general MMIO information data structure Type MMIOINFO ' general fields dwFlags As Long ' general status flags fccIOProc As Long ' pointer to I/O procedure pIOProc As Long ' pointer to I/O procedure wErrorRet As Integer ' place for error to be returned htask As Integer ' alternate local task ' fields maintained by MMIO functions during buffered I/O cchBuffer As Long ' size of I/O buffer (or 0L) pchBuffer As Long ' start of I/O buffer (or NULL) pchNext As Long ' pointer to next byte to read/write pchEndRead As Long ' pointer to last valid byte to read pchEndWrite As Long ' pointer to last byte to write lBufOffset As Long ' disk offset of start of buffer ' fields maintained by I/O procedure lDiskOffset As Long ' disk offset of next read or write adwInfo(3) As Long ' data specific to type of MMIOPROC ' other fields maintained by MMIO dwReserved1 As Long ' reserved for MMIO use dwReserved2 As Long ' reserved for MMIO use hmmio As Integer ' handle to open file End Type ' RIFF chunk information data structure Type MMCKINFO ckid As Long ' chunk ID cksize As Long ' chunk size fccType As Long ' form type or list type dwDataOffset As Long ' offset of data portion of chunk dwFlags As Long ' flags used by MMIO functions End Type ' MMIO function prototypes Declare Function mmioStringToFOURCC& Lib "MMSYSTEM.DLL" (ByVal sz$, ByVal uFlags%) Declare Function mmioInstallIOProc& Lib "MMSYSTEM.DLL" (ByVal fccIOProc&, ByVal pIOProc&, ByVal dwFlags&) Declare Function mmioOpen% Lib "MMSYSTEM.DLL" (ByVal szFileName$, lpmmioinfo As MMIOINFO, ByVal dwOpenFlags&) Declare Function mmioRename% Lib "MMSYSTEM.DLL" (ByVal szFileName$, ByVal szNewFileName$, lpmmioinfo As MMIOINFO, ByVal dwRenameFlags&) Declare Function mmioClose% Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal uFlags%) Declare Function mmioRead& Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal pch$, ByVal cch&) Declare Function mmioWrite& Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal pch$, ByVal cch&) Declare Function mmioSeek& Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal lOffset&, ByVal iOrigin%) Declare Function mmioGetInfo% Lib "MMSYSTEM.DLL" (ByVal hmmio%, lpmmioinfo As MMIOINFO, ByVal uFlags%) Declare Function mmioSetInfo% Lib "MMSYSTEM.DLL" (ByVal hmmio%, lpmmioinfo As MMIOINFO, ByVal uFlags%) Declare Function mmioSetBuffer% Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal pchBuffer$, ByVal cchBuffer&, ByVal uFlags%) Declare Function mmioFlush% Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal uFlags%) Declare Function mmioAdvance% Lib "MMSYSTEM.DLL" (ByVal hmmio%, lpmmioinfo As MMIOINFO, ByVal uFlags%) Declare Function mmioSendMessage& Lib "MMSYSTEM.DLL" (ByVal hmmio%, ByVal uMessage%, ByVal lParam1&, ByVal lParam2&) Declare Function mmioDescend% Lib "MMSYSTEM.DLL" (ByVal hmmio%, lpck As MMCKINFO, lpckParent As MMCKINFO, ByVal uFlags%) Declare Function mmioAscend% Lib "MMSYSTEM.DLL" (ByVal hmmio%, lpck As MMCKINFO, ByVal uFlags%) Declare Function mmioCreateChunk% Lib "MMSYSTEM.DLL" (ByVal hmmio%, lpck As MMCKINFO, ByVal uFlags%) '**************************************************************************** ' '' MCI support ' '****************************************************************************/ ' MCI function prototypes Declare Function mciSendCommand& Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, ByVal uMessage%, ByVal dwParam1&, ByVal dwParam2&) Declare Function mciSendString& Lib "MMSYSTEM.DLL" (ByVal lpstrCommand$, ByVal lpstrReturnString$, ByVal uReturnLength%, ByVal hwndCallback%) Declare Function mciSendStringAny& Lib "MMSYSTEM.DLL" Alias "mciSendString" (ByVal lpstrCommand$, ByVal lpstrReturnString As Any, ByVal uReturnLength%, ByVal hwndCallback%) Declare Function mciGetDeviceID% Lib "MMSYSTEM.DLL" (ByVal lpstrName$) Declare Function mciGetDeviceIDFromElementID% Lib "MMSYSTEM.DLL" (ByVal dwElementID&, ByVal lpstrType$) Declare Function mciGetErrorString% Lib "MMSYSTEM.DLL" (ByVal wError&, ByVal lpstrBuffer$, ByVal uLength%) Declare Function mciSetYieldProc% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, ByVal fpYieldProc&, ByVal dwYieldData&) Declare Function mciGetCreatorTask% Lib "MMSYSTEM.DLL" (ByVal uDeviceID%) Declare Function mciGetYieldProc& Lib "MMSYSTEM.DLL" (ByVal uDeviceID%, lpdwYieldData&) Declare Function mciExecute% Lib "MMSYSTEM.DLL" (ByVal lpstrCommand$) ' generic parameter block for MCI command messages with no special parameters Type MCI_GENERIC_PARMS dwCallback As Long End Type ' parameter block for MCI_OPEN command message Type MCI_OPEN_PARMS dwCallback As Long wDeviceID As Integer wReserved0 As Integer ByVal As Long lpstrElementName As Long lpstrAlias As Long End Type ' parameter block for MCI_PLAY command message Type MCI_PLAY_PARMS dwCallback As Long dwFrom As Long dwTo As Long End Type ' parameter block for MCI_SEEK command message Type MCI_SEEK_PARMS dwCallback As Long dwTo As Long End Type ' parameter block for MCI_STATUS command message Type MCI_STATUS_PARMS dwCallback As Long dwReturn As Long dwItem As Long dwTrack As Long End Type ' parameter block for MCI_INFO command message Type MCI_INFO_PARMS dwCallback As Long lpstrReturn As Long dwRetSize As Long End Type ' parameter block for MCI_GETDEVCAPS command message Type MCI_GETDEVCAPS_PARMS dwCallback As Long dwReturn As Long dwItem As Long End Type ' parameter block for MCI_SYSINFO command message Type MCI_SYSINFO_PARMS dwCallback As Long lpstrReturn As Long dwRetSize As Long dwNumber As Long wDeviceType As Integer wReserved0 As Integer End Type ' parameter block for MCI_SET command message Type MCI_SET_PARMS dwCallback As Long dwTimeFormat As Long dwAudio As Long End Type ' parameter block for MCI_BREAK command message Type MCI_BREAK_PARMS dwCallback As Long nVirtKey As Integer wReserved0 As Integer hwndBreak As Integer wReserved1 As Integer End Type ' parameter block for MCI_SOUND command message Type MCI_SOUND_PARMS dwCallback As Long lpstrSoundName As Long End Type ' parameter block for MCI_SAVE command message Type MCI_SAVE_PARMS dwCallback As Long lpfilename As Long End Type ' parameter block for MCI_LOAD command message Type MCI_LOAD_PARMS dwCallback As Long lpfilename As Long End Type ' parameter block for MCI_RECORD command message Type MCI_RECORD_PARMS dwCallback As Long dwFrom As Long dwTo As Long End Type ' parameter block for MCI_PLAY command message Type MCI_VD_PLAY_PARMS dwCallback As Long dwFrom As Long dwTo As Long dwSpeed As Long End Type ' parameter block for MCI_STEP command message Type MCI_VD_STEP_PARMS dwCallback As Long dwFrames As Long End Type ' parameter block for MCI_ESCAPE command message Type MCI_VD_ESCAPE_PARMS dwCallback As Long lpstrCommand As Long End Type ' parameter block for MCI_OPEN command message Type MCI_WAVE_OPEN_PARMS dwCallback As Long wDeviceID As Integer wReserved0 As Integer lpstrDeviceType As Long lpstrElementName As Long lpstrAlias As Long dwBufferSeconds As Long End Type ' parameter block for MCI_DELETE command message Type MCI_WAVE_DELETE_PARMS dwCallback As Long dwFrom As Long dwTo As Long End Type ' parameter block for MCI_SET command message Type MCI_WAVE_SET_PARMS dwCallback As Long dwTimeFormat As Long dwAudio As Long wInput As Integer wReserved0 As Integer wOutput As Integer wReserved1 As Integer wFormatTag As Integer wReserved2 As Integer nChannels As Integer wReserved3 As Integer nSamplesPerSec As Long nAvgBytesPerSec As Long nBlockAlign As Integer wReserved4 As Integer wBitsPerSample As Integer wReserved5 As Integer End Type ' parameter block for MCI_SET command message Type MCI_SEQ_SET_PARMS dwCallback As Long dwTimeFormat As Long dwAudio As Long dwTempo As Long dwPort As Long dwSlave As Long dwMaster As Long dwOffset As Long End Type ' parameter block for MCI_OPEN command message Type MCI_ANIM_OPEN_PARMS dwCallback As Long wDeviceID As Integer wReserved0 As Integer lpstrDeviceType As Long lpstrElementName As Long lpstrAlias As Long dwStyle As Long hWndParent As Integer wReserved1 As Integer End Type ' parameter block for MCI_PLAY command message Type MCI_ANIM_PLAY_PARMS dwCallback As Long dwFrom As Long dwTo As Long dwSpeed As Long End Type ' parameter block for MCI_STEP command message Type MCI_ANIM_STEP_PARMS dwCallback As Long dwFrames As Long End Type ' parameter block for MCI_WINDOW command message Type MCI_ANIM_WINDOW_PARMS dwCallback As Long hWnd As Integer wReserved1 As Integer nCmdShow As Integer wReserved2 As Integer lpstrText As Long End Type ' parameter block for MCI_PUT, MCI_UPDATE, MCI_WHERE command messages Type MCI_ANIM_RECT_PARMS dwCallback As Long rc As RECT End Type ' parameter block for MCI_UPDATE PARMS Type MCI_ANIM_UPDATE_PARMS dwCallback As Long rc As RECT hDC As Integer End Type ' parameter block for MCI_OPEN command message Type MCI_OVLY_OPEN_PARMS dwCallback As Long wDeviceID As Integer wReserved0 As Integer lpstrDeviceType As Long lpstrElementName As Long lpstrAlias As Long dwStyle As Long hWndParent As Integer wReserved1 As Integer End Type ' parameter block for MCI_WINDOW command message Type MCI_OVLY_WINDOW_PARMS dwCallback As Long hWnd As Integer wReserved1 As Integer nCmdShow As Integer wReserved2 As Integer lpstrText As Long End Type ' parameter block for MCI_PUT, MCI_UPDATE, and MCI_WHERE command messages Type MCI_OVLY_RECT_PARMS dwCallback As Long rc As RECT End Type ' parameter block for MCI_SAVE command message Type MCI_OVLY_SAVE_PARMS dwCallback As Long lpfilename As Long rc As RECT End Type ' parameter block for MCI_LOAD command message Type MCI_OVLY_LOAD_PARMS dwCallback As Long lpfilename As Long rc As RECT End Type