You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1490 lines
59 KiB
1490 lines
59 KiB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; MMSYSTEM.INC - Multimedia assembly language structures & constants
|
|
;
|
|
; Copyright (c) 1990-1992, Microsoft Corp. All rights reserved.
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
; If defined, the following flags inhibit inclusion
|
|
; of the indicated items:
|
|
;
|
|
; MMNODRV - Installable driver support
|
|
; MMNOSOUND - Sound support
|
|
; MMNOWAVE - Waveform support
|
|
; MMNOMIDI - MIDI support
|
|
; MMNOAUX - Auxiliary audio support
|
|
; MMNOTIMER - Timer support
|
|
; MMNOJOY - Joystick support
|
|
; MMNOMCI - MCI support
|
|
; MMNOMMIO - Multimedia file I/O support
|
|
;
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; General constants and data types
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; general constants
|
|
MAXPNAMELEN equ 32 ; max product name length (including NULL)
|
|
MAXERRORLENGTH equ 128 ; max error text length (including NULL)
|
|
|
|
; MMTIME data structure
|
|
MMTIME struc
|
|
mmt_wType dw ? ; indicates the contents of the union
|
|
mmt_TimeUnion dd ? ; union
|
|
MMTIME ends
|
|
|
|
SMPTE struc
|
|
smpte_hour db ? ; hours
|
|
smpte_min db ? ; minutes
|
|
smpte_sec db ? ; seconds
|
|
smpte_frame db ? ; frames
|
|
smpte_fps db ? ; frames per second
|
|
smpte_reserved db ? ; pad
|
|
SMPTE ends
|
|
|
|
; types for wType field in MMTIME struct
|
|
TIME_MS equ 0001h ; time in milliseconds
|
|
TIME_SAMPLES equ 0002h ; number of wave samples
|
|
TIME_BYTES equ 0004h ; current byte offset
|
|
TIME_SMPTE equ 0008h ; SMPTE time
|
|
TIME_MIDI equ 0010h ; MIDI time
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Multimedia Extensions Window Messages
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
MM_JOY1MOVE equ 3A0h ; joystick
|
|
MM_JOY2MOVE equ 3A1h
|
|
MM_JOY1ZMOVE equ 3A2h
|
|
MM_JOY2ZMOVE equ 3A3h
|
|
MM_JOY1BUTTONDOWN equ 3B5h
|
|
MM_JOY2BUTTONDOWN equ 3B6h
|
|
MM_JOY1BUTTONUP equ 3B7h
|
|
MM_JOY2BUTTONUP equ 3B8h
|
|
|
|
MM_MCINOTIFY equ 3B9h ; MCI
|
|
MM_MCISYSTEM_STRING equ 3CAh
|
|
|
|
MM_WOM_OPEN equ 3BBh ; waveform output
|
|
MM_WOM_CLOSE equ 3BCh
|
|
MM_WOM_DONE equ 3BDh
|
|
|
|
MM_WIM_OPEN equ 3BEh ; waveform input
|
|
MM_WIM_CLOSE equ 3BFh
|
|
MM_WIM_DATA equ 3C0h
|
|
|
|
MM_MIM_OPEN equ 3C1h ; MIDI input
|
|
MM_MIM_CLOSE equ 3C2h
|
|
MM_MIM_DATA equ 3C3h
|
|
MM_MIM_LONGDATA equ 3C4h
|
|
MM_MIM_ERROR equ 3C5h
|
|
MM_MIM_LONGERROR equ 3C6h
|
|
|
|
MM_MOM_OPEN equ 3C7h ; MIDI output
|
|
MM_MOM_CLOSE equ 3C8h
|
|
MM_MOM_DONE equ 3C9h
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; String resource number bases (internal use)
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
MMSYSERR_BASE equ 0
|
|
WAVERR_BASE equ 32
|
|
MIDIERR_BASE equ 64
|
|
TIMERR_BASE equ 96
|
|
JOYERR_BASE equ 160
|
|
MCIERR_BASE equ 256
|
|
|
|
MCI_STRING_OFFSET equ 512
|
|
MCI_VD_OFFSET equ 1024
|
|
MCI_CD_OFFSET equ 1088
|
|
MCI_WAVE_OFFSET equ 1152
|
|
MCI_SEQ_OFFSET equ 1216
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; General error return values
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; general error return values
|
|
MMSYSERR_NOERROR equ 0 ; no error
|
|
MMSYSERR_ERROR equ (MMSYSERR_BASE + 1) ; unspecified error
|
|
MMSYSERR_BADDEVICEID equ (MMSYSERR_BASE + 2) ; device ID out of range
|
|
MMSYSERR_NOTENABLED equ (MMSYSERR_BASE + 3) ; driver failed enable
|
|
MMSYSERR_ALLOCATED equ (MMSYSERR_BASE + 4) ; device already allocated
|
|
MMSYSERR_INVALHANDLE equ (MMSYSERR_BASE + 5) ; device handle is invalid
|
|
MMSYSERR_NODRIVER equ (MMSYSERR_BASE + 6) ; no device driver present
|
|
MMSYSERR_NOMEM equ (MMSYSERR_BASE + 7) ; memory allocation error
|
|
MMSYSERR_NOTSUPPORTED equ (MMSYSERR_BASE + 8) ; function isn't supported
|
|
MMSYSERR_BADERRNUM equ (MMSYSERR_BASE + 9) ; error value out of range
|
|
MMSYSERR_INVALFLAG equ (MMSYSERR_BASE + 10) ; invalid flags passed
|
|
MMSYSERR_INVALPARAM equ (MMSYSERR_BASE + 11) ; invalid parameter passed
|
|
MMSYSERR_LASTERROR equ (MMSYSERR_BASE + 11) ; last error in range
|
|
|
|
|
|
ifndef MMNODRV
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Installable driver support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
DRV_MCI_FIRST equ DRV_RESERVED
|
|
DRV_MCI_LAST equ (DRV_RESERVED + 0FFFh)
|
|
|
|
endif ;ifndef MMNODRV
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Driver callback support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and
|
|
; midiOutOpen() to specify the type of the dwCallback parameter.
|
|
CALLBACK_TYPEMASK equ 00070000h ; callback type mask
|
|
CALLBACK_NULL equ 00000000h ; no callback
|
|
CALLBACK_WINDOW equ 00010000h ; dwCallback is a HWND
|
|
CALLBACK_TASK equ 00020000h ; dwCallback is a HTASK
|
|
CALLBACK_FUNCTION equ 00030000h ; dwCallback is a FARPROC
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Manufacturer and product IDs
|
|
;
|
|
; Used with wMid and wPid fields in WAVEOUTCAPS, WAVEINCAPS,
|
|
; MIDIOUTCAPS, MIDIINCAPS, AUXCAPS, JOYCAPS structures.
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; manufacturer IDs
|
|
MM_MICROSOFT equ 1 ; Microsoft Corp.
|
|
|
|
; product IDs
|
|
MM_MIDI_MAPPER equ 1 ; MIDI Mapper
|
|
MM_WAVE_MAPPER equ 2 ; Wave Mapper
|
|
|
|
MM_SNDBLST_MIDIOUT equ 3 ; Sound Blaster MIDI output port
|
|
MM_SNDBLST_MIDIIN equ 4 ; Sound Blaster MIDI input port
|
|
MM_SNDBLST_SYNTH equ 5 ; Sound Blaster internal synthesizer
|
|
MM_SNDBLST_WAVEOUT equ 6 ; Sound Blaster waveform output
|
|
MM_SNDBLST_WAVEIN equ 7 ; Sound Blaster waveform input
|
|
|
|
MM_ADLIB equ 9 ; Ad Lib-compatible synthesizer
|
|
|
|
MM_MPU401_MIDIOUT equ 10 ; MPU401-compatible MIDI output port
|
|
MM_MPU401_MIDIIN equ 11 ; MPU401-compatible MIDI input port
|
|
|
|
MM_PC_JOYSTICK equ 12 ; Joystick adapter
|
|
|
|
|
|
ifndef MMNOSOUND
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Sound support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; flag values for wFlags parameter
|
|
SND_SYNC equ 0000h ; play synchronously (default)
|
|
SND_ASYNC equ 0001h ; play asynchronously
|
|
SND_NODEFAULT equ 0002h ; don't use default sound
|
|
SND_MEMORY equ 0004h ; lpszSoundName points to a memory file
|
|
SND_LOOP equ 0008h ; loop the sound until next sndPlaySound
|
|
SND_NOSTOP equ 0010h ; don't stop any currently playing sound
|
|
SND_VALID equ 001Fh ;Internal
|
|
|
|
endif ;ifndef MMNOSOUND
|
|
|
|
|
|
ifndef MMNOWAVE
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Waveform audio support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; waveform audio error return values
|
|
WAVERR_BADFORMAT equ (WAVERR_BASE + 0) ; unsupported wave format
|
|
WAVERR_STILLPLAYING equ (WAVERR_BASE + 1) ; still something playing
|
|
WAVERR_UNPREPARED equ (WAVERR_BASE + 2) ; header not prepared
|
|
WAVERR_SYNC equ (WAVERR_BASE + 3) ; device is synchronous
|
|
WAVERR_LASTERROR equ (WAVERR_BASE + 3) ; last error in range
|
|
|
|
; wave callback messages
|
|
WOM_OPEN equ MM_WOM_OPEN
|
|
WOM_CLOSE equ MM_WOM_CLOSE
|
|
WOM_DONE equ MM_WOM_DONE
|
|
WIM_OPEN equ MM_WIM_OPEN
|
|
WIM_CLOSE equ MM_WIM_CLOSE
|
|
WIM_DATA equ MM_WIM_DATA
|
|
|
|
; device ID for wave device mapper
|
|
WAVE_MAPPER equ (-1)
|
|
|
|
; flags for dwFlags parameter in waveOutOpen() and waveInOpen()
|
|
WAVE_FORMAT_QUERY equ 0001h
|
|
WAVE_ALLOWSYNC equ 0002h
|
|
WAVE_VALID equ 0003h ;Internal
|
|
|
|
; wave data block header
|
|
WAVEHDR struc
|
|
lpWaveData dd ? ; pointer to locked data buffer
|
|
dwWaveBufferLength dd ? ; length of data buffer
|
|
dwWaveBytesRecorded dd ? ; used for input only
|
|
dwWaveUser dd ? ; for client's use
|
|
dwWaveFlags dd ? ; assorted flags (see defines)
|
|
dwWaveLoops dd ? ; loop control counter
|
|
lpWaveNext dd ? ; reserved for driver
|
|
Wavereserved dd ? ; reserved for driver
|
|
WAVEHDR ends
|
|
|
|
; flags for dwFlags field of WAVEHDR
|
|
WHDR_DONE equ 00000001h ; done bit
|
|
WHDR_PREPARED equ 00000002h ; set if this header has been prepared
|
|
WHDR_BEGINLOOP equ 00000004h ; loop start block
|
|
WHDR_ENDLOOP equ 00000008h ; loop end block
|
|
WHDR_INQUEUE equ 00000010h ; reserved for driver
|
|
WHDR_VALID equ 0000001Fh ;Internal
|
|
|
|
; waveform output device capabilities structure
|
|
WAVEOUTCAPS struc
|
|
woc_wMid dw ? ; manufacturer ID
|
|
woc_wPid dw ? ; product ID
|
|
woc_vDriverVersion dw ? ; version of the driver
|
|
woc_szPname db MAXPNAMELEN dup (?) ; product name (NULL terminated string)
|
|
woc_dwFormats dd ? ; formats supported
|
|
woc_wChannels dw ? ; number of sources supported
|
|
woc_dwSupport dd ? ; functionality supported by driver
|
|
WAVEOUTCAPS ends
|
|
|
|
; flags for dwSupport field of WAVEOUTCAPS
|
|
WAVECAPS_PITCH equ 0001h ; supports pitch control
|
|
WAVECAPS_PLAYBACKRATE equ 0002h ; supports playback rate control
|
|
WAVECAPS_VOLUME equ 0004h ; supports volume control
|
|
WAVECAPS_LRVOLUME equ 0008h ; separate left-right volume control
|
|
WAVECAPS_SYNC equ 0010h
|
|
|
|
; waveform input device capabilities structure
|
|
WAVEINCAPS struc
|
|
wic_wMid dw ? ; manufacturer ID
|
|
wic_wPid dw ? ; product ID
|
|
wic_vDriverVersion dw ? ; version of the driver
|
|
wic_szPname db MAXPNAMELEN dup (?) ; product name (NULL terminated string)
|
|
wic_dwFormats dd ? ; formats supported
|
|
wic_wChannels dw ? ; number of channels supported
|
|
WAVEINCAPS ends
|
|
|
|
; defines for dwFormat field of WAVEINCAPS and WAVEOUTCAPS
|
|
WAVE_INVALIDFORMAT equ 00000000h ; invalid format
|
|
WAVE_FORMAT_1M08 equ 00000001h ; 11.025 kHz, Mono, 8-bit
|
|
WAVE_FORMAT_1S08 equ 00000002h ; 11.025 kHz, Stereo, 8-bit
|
|
WAVE_FORMAT_1M16 equ 00000004h ; 11.025 kHz, Mono, 16-bit
|
|
WAVE_FORMAT_1S16 equ 00000008h ; 11.025 kHz, Stereo, 16-bit
|
|
WAVE_FORMAT_2M08 equ 00000010h ; 22.05 kHz, Mono, 8-bit
|
|
WAVE_FORMAT_2S08 equ 00000020h ; 22.05 kHz, Stereo, 8-bit
|
|
WAVE_FORMAT_2M16 equ 00000040h ; 22.05 kHz, Mono, 16-bit
|
|
WAVE_FORMAT_2S16 equ 00000080h ; 22.05 kHz, Stereo, 16-bit
|
|
WAVE_FORMAT_4M08 equ 00000100h ; 44.1 kHz, Mono, 8-bit
|
|
WAVE_FORMAT_4S08 equ 00000200h ; 44.1 kHz, Stereo, 8-bit
|
|
WAVE_FORMAT_4M16 equ 00000400h ; 44.1 kHz, Mono, 16-bit
|
|
WAVE_FORMAT_4S16 equ 00000800h ; 44.1 kHz, Stereo, 16-bit
|
|
|
|
; general waveform format structure (information common to all formats)
|
|
WAVEFORMAT struc
|
|
wfmt_wFormatTag dw ? ; format type
|
|
wfmt_nChannels dw ? ; number of channels (i.e. mono, stereo, etc.)
|
|
wfmt_nSamplesPerSec dd ? ; sample rate
|
|
wfmt_nAvgBytesPerSec dd ? ; for buffer estimation
|
|
wfmt_nBlockAlign dw ? ; block size of data
|
|
WAVEFORMAT ends
|
|
|
|
; flags for wFormatTag field of WAVEFORMAT
|
|
WAVE_FORMAT_PCM equ 1
|
|
|
|
; specific waveform format structure for PCM data
|
|
PCMWAVEFORMAT struc
|
|
pcm_wf db (SIZE WAVEFORMAT) dup (?)
|
|
pcm_wBitsPerSample dw ?
|
|
PCMWAVEFORMAT ends
|
|
|
|
endif ;ifndef MMNOWAVE
|
|
|
|
|
|
ifndef MMNOMIDI
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; MIDI audio support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; MIDI error return values
|
|
MIDIERR_UNPREPARED equ (MIDIERR_BASE + 0) ; header not prepared
|
|
MIDIERR_STILLPLAYING equ (MIDIERR_BASE + 1) ; still something playing
|
|
MIDIERR_NOMAP equ (MIDIERR_BASE + 2) ; no current map
|
|
MIDIERR_NOTREADY equ (MIDIERR_BASE + 3) ; hardware is still busy
|
|
MIDIERR_NODEVICE equ (MIDIERR_BASE + 4) ; port no longer connected
|
|
MIDIERR_INVALIDSETUP equ (MIDIERR_BASE + 5) ; invalid setup
|
|
MIDIERR_LASTERROR equ (MIDIERR_BASE + 5) ; last error in range
|
|
|
|
; MIDI audio data types
|
|
MIDIPATCHSIZE equ 128
|
|
|
|
; MIDI callback messages
|
|
MIM_OPEN equ MM_MIM_OPEN
|
|
MIM_CLOSE equ MM_MIM_CLOSE
|
|
MIM_DATA equ MM_MIM_DATA
|
|
MIM_LONGDATA equ MM_MIM_LONGDATA
|
|
MIM_ERROR equ MM_MIM_ERROR
|
|
MIM_LONGERROR equ MM_MIM_LONGERROR
|
|
MOM_OPEN equ MM_MOM_OPEN
|
|
MOM_CLOSE equ MM_MOM_CLOSE
|
|
MOM_DONE equ MM_MOM_DONE
|
|
|
|
; device ID for MIDI mapper
|
|
MIDIMAPPER equ (-1)
|
|
MIDI_MAPPER equ (-1)
|
|
|
|
; flags for wFlags parm of midiOutCachePatches(),
|
|
; midiOutCacheDrumPatches()
|
|
MIDI_CACHE_ALL equ 1
|
|
MIDI_CACHE_BESTFIT equ 2
|
|
MIDI_CACHE_QUERY equ 3
|
|
MIDI_UNCACHE equ 4
|
|
|
|
; MIDI output device capabilities structure
|
|
MIDIOUTCAPS struc
|
|
moc_wMid dw ? ; manufacturer ID
|
|
moc_wPid dw ? ; product ID
|
|
moc_vDriverVersion dw ? ; version of the driver
|
|
moc_szPname db MAXPNAMELEN dup (?) ; product name (NULL terminated string)
|
|
moc_wTechnology dw ? ; type of device
|
|
moc_wVoices dw ? ; # of voices (internal synth only)
|
|
moc_wNotes dw ? ; max # of notes (internal synth only)
|
|
moc_wChannelMask dw ? ; channels used (internal synth only)
|
|
moc_dwSupport dd ? ; functionality supported by driver
|
|
MIDIOUTCAPS ends
|
|
|
|
; flags for wTechnology field of MIDIOUTCAPS structure
|
|
MOD_MIDIPORT equ 1 ; output port
|
|
MOD_SYNTH equ 2 ; generic internal synth
|
|
MOD_SQSYNTH equ 3 ; square wave internal synth
|
|
MOD_FMSYNTH equ 4 ; FM internal synth
|
|
MOD_MAPPER equ 5 ; MIDI mapper
|
|
|
|
; flags for dwSupport field of MIDIOUTCAPS structure
|
|
MIDICAPS_VOLUME equ 0001h ; supports volume control
|
|
MIDICAPS_LRVOLUME equ 0002h ; separate left-right volume control
|
|
MIDICAPS_CACHE equ 0004h
|
|
|
|
; MIDI output device capabilities structure
|
|
MIDIINCAPS struc
|
|
mic_wMid dw ? ; manufacturer ID
|
|
mic_wPid dw ? ; product ID
|
|
mic_vDriverVersion dw ? ; version of the driver
|
|
mic_szPname db MAXPNAMELEN dup (?) ; product name (NULL terminated string)
|
|
MIDIINCAPS ends
|
|
|
|
; MIDI data block header
|
|
MIDIHDR struc
|
|
lpMidiData dd ? ; pointer to locked data block
|
|
dwMidiBufferLength dd ? ; length of data in data block
|
|
dwMidiBytesRecorded dd ? ; used for input only
|
|
dwMidiUser dd ? ; for client's use
|
|
dwMidiFlags dd ? ; assorted flags (see defines)
|
|
lpMidiNext dd ? ; reserved for driver
|
|
Midireserved dd ? ; reserved for driver
|
|
MIDIHDR ends
|
|
|
|
; flags for dwFlags field of MIDIHDR structure
|
|
MHDR_DONE equ 00000001h ; done bit
|
|
MHDR_PREPARED equ 00000002h ; set if header prepared
|
|
MHDR_INQUEUE equ 00000004h ; reserved for driver
|
|
MHDR_VALID equ 00000007h ;Internal
|
|
|
|
endif ;ifndef MMNOMIDI
|
|
|
|
|
|
ifndef MMNOAUX
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Auxiliary audio support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; device ID for aux device mapper
|
|
AUX_MAPPER equ (-1)
|
|
|
|
; Auxiliary audio device capabilities structure
|
|
AUXCAPS struc
|
|
acaps_wMid dw ? ; manufacturer ID
|
|
acaps_wPid dw ? ; product ID
|
|
acaps_vDriverVersion dw ? ; version of the driver
|
|
acaps_szPname db MAXPNAMELEN dup (?) ; product name (NULL terminated string)
|
|
acaps_wTechnology dw ? ; type of device
|
|
acaps_dwSupport dd ? ; functionality supported by driver
|
|
AUXCAPS ends
|
|
|
|
; flags for wTechnology field in AUXCAPS structure
|
|
AUXCAPS_CDAUDIO equ 1 ; audio from internal CD-ROM drive
|
|
AUXCAPS_AUXIN equ 2 ; audio from auxiliary input jacks
|
|
|
|
; flags for dwSupport field in AUXCAPS structure
|
|
AUXCAPS_VOLUME equ 0001h ; supports volume control
|
|
AUXCAPS_LRVOLUME equ 0002h ; separate left-right volume control
|
|
|
|
endif ;ifndef MMNOAUX
|
|
|
|
|
|
ifndef MMNOTIMER
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Timer support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; timer error return values
|
|
TIMERR_NOERROR equ (0) ; no error
|
|
TIMERR_NOCANDO equ (TIMERR_BASE+1) ; request not completed
|
|
TIMERR_STRUCT equ (TIMERR_BASE+33) ; time struct size
|
|
|
|
; flags for wFlags parameter of timeSetEvent() function
|
|
TIME_ONESHOT equ 0 ; program timer for single event
|
|
TIME_PERIODIC equ 1 ; program for continuous periodic event
|
|
|
|
; timer device capabilities data structure
|
|
TIMECAPS struc
|
|
tc_wPeriodMin dw ? ; minimum period supported
|
|
tc_wPeriodMax dw ? ; maximum period supported
|
|
TIMECAPS ends
|
|
|
|
endif ;ifndef MMNOTIMER
|
|
|
|
|
|
ifndef MMNOJOY
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Joystick support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; joystick error return values
|
|
JOYERR_NOERROR equ (0) ; no error
|
|
JOYERR_PARMS equ (JOYERR_BASE+5) ; bad parameters
|
|
JOYERR_NOCANDO equ (JOYERR_BASE+6) ; request not completed
|
|
JOYERR_UNPLUGGED equ (JOYERR_BASE+7) ; joystick is unplugged
|
|
|
|
; constants used with JOYINFO structure and MM_JOY* messages
|
|
JOY_BUTTON1 equ 0001h
|
|
JOY_BUTTON2 equ 0002h
|
|
JOY_BUTTON3 equ 0004h
|
|
JOY_BUTTON4 equ 0008h
|
|
JOY_BUTTON1CHG equ 0100h
|
|
JOY_BUTTON2CHG equ 0200h
|
|
JOY_BUTTON3CHG equ 0400h
|
|
JOY_BUTTON4CHG equ 0800h
|
|
|
|
; joystick ID constants
|
|
JOYSTICKID1 equ 0
|
|
JOYSTICKID2 equ 1
|
|
|
|
; joystick device capabilities data structure
|
|
JOYCAPS struc
|
|
jcaps_wMid dw ? ; manufacturer ID
|
|
jcaps_wPid dw ? ; product ID
|
|
jcaps_szPname db MAXPNAMELEN dup (?) ; product name (NULL terminated string)
|
|
jcaps_wXmin dw ? ; minimum x position value
|
|
jcaps_wXmax dw ? ; maximum x position value
|
|
jcaps_wYmin dw ? ; minimum y position value
|
|
jcaps_wYmax dw ? ; maximum y position value
|
|
jcaps_wZmin dw ? ; minimum z position value
|
|
jcaps_wZmax dw ? ; maximum z position value
|
|
jcaps_wNumButtons dw ? ; number of buttons
|
|
jcaps_wPeriodMin dw ? ; minimum message period when captured
|
|
jcaps_wPeriodMax dw ? ; maximum message period when captured
|
|
JOYCAPS ends
|
|
|
|
; joystick information data structure
|
|
JOYINFO struc
|
|
jinfo_wXpos dw ? ; x position
|
|
jinfo_wYpos dw ? ; y position
|
|
jinfo_wZpos dw ? ; z position
|
|
jinfo_wButtons dw ? ; button states
|
|
JOYINFO ends
|
|
|
|
endif ;ifndef MMNOJOY
|
|
|
|
ifndef MMNOMMIO
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; Multimedia File I/O support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; MMIO error return values
|
|
MMIOERR_BASE equ 256
|
|
MMIOERR_FILENOTFOUND equ (MMIOERR_BASE + 1) ; file not found
|
|
MMIOERR_OUTOFMEMORY equ (MMIOERR_BASE + 2) ; out of memory
|
|
MMIOERR_CANNOTOPEN equ (MMIOERR_BASE + 3) ; cannot open
|
|
MMIOERR_CANNOTCLOSE equ (MMIOERR_BASE + 4) ; cannot close
|
|
MMIOERR_CANNOTREAD equ (MMIOERR_BASE + 5) ; cannot read
|
|
MMIOERR_CANNOTWRITE equ (MMIOERR_BASE + 6) ; cannot write
|
|
MMIOERR_CANNOTSEEK equ (MMIOERR_BASE + 7) ; cannot seek
|
|
MMIOERR_CANNOTEXPAND equ (MMIOERR_BASE + 8) ; cannot expand file
|
|
MMIOERR_CHUNKNOTFOUND equ (MMIOERR_BASE + 9) ; chunk not found
|
|
MMIOERR_UNBUFFERED equ (MMIOERR_BASE + 10) ; file is unbuffered
|
|
|
|
; MMIO constants
|
|
CFSEPCHAR equ '+' ; compound file name separator char.
|
|
|
|
; general MMIO information data structure
|
|
MMIOINFO struc
|
|
; general fields
|
|
mmio_dwFlags dd ? ; general status flags
|
|
mmio_fccIOProc dd ? ; pointer to I/O procedure
|
|
mmio_pIOProc dd ? ; pointer to I/O procedure
|
|
mmio_wErrorRet dw ? ; place for error to be returned
|
|
mmio_htask dw ? ; alternate local task
|
|
|
|
; fields maintained by MMIO functions during buffered I/O
|
|
mmio_cchBuffer dd ? ; size of I/O buffer (or 0L)
|
|
mmio_pchBuffer dd ? ; start of I/O buffer (or NULL)
|
|
mmio_pchNext dd ? ; pointer to next byte to read/write
|
|
mmio_pchEndRead dd ? ; pointer to last valid byte to read
|
|
mmio_pchEndWrite dd ? ; pointer to last byte to write
|
|
mmio_lBufOffset dd ? ; disk offset of start of buffer
|
|
|
|
; fields maintained by I/O procedure
|
|
mmio_lDiskOffset dd ? ; disk offset of next read or write
|
|
mmio_adwInfo dd 3 dup (?) ; data specific to type of MMIOPROC
|
|
|
|
; other fields maintained by MMIO
|
|
mmio_dwReserved1 dd ? ; reserved for MMIO use
|
|
mmio_dwReserved2 dd ? ; reserved for MMIO use
|
|
mmio_hmmio dw ? ; handle to open file
|
|
MMIOINFO ends
|
|
|
|
; RIFF chunk information data structure
|
|
MMCKINFO struc
|
|
mmck_ckid dd ? ; chunk ID
|
|
mmck_cksize dd ? ; chunk size
|
|
mmck_fccType dd ? ; form type or list type
|
|
mmck_dwDataOffset dd ? ; offset of data portion of chunk
|
|
mmck_dwFlags dd ? ; flags used by MMIO functions
|
|
MMCKINFO ends
|
|
|
|
; bit field masks
|
|
MMIO_RWMODE equ 00000003h ; open file for reading/writing/both
|
|
MMIO_SHAREMODE equ 00000070h ; file sharing mode number
|
|
|
|
; constants for dwFlags field of MMIOINFO
|
|
MMIO_CREATE equ 00001000h ; create new file (or truncate file)
|
|
MMIO_PARSE equ 00000100h ; parse new file returning path
|
|
MMIO_DELETE equ 00000200h ; create new file (or truncate file)
|
|
MMIO_EXIST equ 00004000h ; checks for existence of file
|
|
MMIO_ALLOCBUF equ 00010000h ; mmioOpen() should allocate a buffer
|
|
MMIO_GETTEMP equ 00020000h ; mmioOpen() should retrieve temp name
|
|
|
|
MMIO_DIRTY equ 10000000h ; I/O buffer is dirty
|
|
|
|
MMIO_OPEN_VALID equ 0003FFFFh ;Internal
|
|
|
|
; read/write mode numbers (bit field MMIO_RWMODE)
|
|
MMIO_READ equ 00000000h ; open file for reading only
|
|
MMIO_WRITE equ 00000001h ; open file for writing only
|
|
MMIO_READWRITE equ 00000002h ; open file for reading and writing
|
|
|
|
; share mode numbers (bit field MMIO_SHAREMODE)
|
|
MMIO_COMPAT equ 00000000h ; compatibility mode
|
|
MMIO_EXCLUSIVE equ 00000010h ; exclusive-access mode
|
|
MMIO_DENYWRITE equ 00000020h ; deny writing to other processes
|
|
MMIO_DENYREAD equ 00000030h ; deny reading to other processes
|
|
MMIO_DENYNONE equ 00000040h ; deny nothing to other processes
|
|
|
|
; various MMIO flags
|
|
MMIO_FHOPEN equ 0010h ; mmioClose: keep file handle open
|
|
MMIO_EMPTYBUF equ 0010h ; mmioFlush: empty the I/O buffer
|
|
MMIO_TOUPPER equ 0010h ; mmioStringToFOURCC: to u-case
|
|
MMIO_INSTALLPROC equ 00010000h ; mmioInstallIOProc: install MMIOProc
|
|
MMIO_GLOBALPROC equ 10000000h ; mmioInstallIOProc: install globally
|
|
MMIO_REMOVEPROC equ 00020000h ; mmioInstallIOProc: remove MMIOProc
|
|
MMIO_FINDPROC equ 00040000h ; mmioInstallIOProc: find an MMIOProc
|
|
MMIO_FINDCHUNK equ 0010h ; mmioDescend: find a chunk by ID
|
|
MMIO_FINDRIFF equ 0020h ; mmioDescend: find a LIST chunk
|
|
MMIO_FINDLIST equ 0040h ; mmioDescend: find a RIFF chunk
|
|
MMIO_CREATERIFF equ 0020h ; mmioCreateChunk: make a LIST chunk
|
|
MMIO_CREATELIST equ 0040h ; mmioCreateChunk: make a RIFF chunk
|
|
|
|
MMIO_VALIDPROC equ 10070000h ;Internal
|
|
|
|
; message numbers for MMIOPROC I/O procedure functions
|
|
MMIOM_READ equ MMIO_READ ; read
|
|
MMIOM_WRITE equ MMIO_WRITE ; write
|
|
MMIOM_SEEK equ 2 ; seek to a new position in file
|
|
MMIOM_OPEN equ 3 ; open file
|
|
MMIOM_CLOSE equ 4 ; close file
|
|
MMIOM_WRITEFLUSH equ 5 ; write and flush
|
|
MMIOM_RENAME equ 6 ; rename specified file
|
|
MMIOM_USER equ 8000h ; beginning of user-defined messages
|
|
|
|
mmioFOURCC MACRO ch0,ch1,ch2,ch3
|
|
mov al,ch0
|
|
mov ah,ch1
|
|
mov dl,ch2
|
|
mov dh,ch3
|
|
ENDM
|
|
|
|
; standard four character codes
|
|
FOURCC_RIFF equ mmioFOURCC('R', 'I', 'F', 'F')
|
|
FOURCC_LIST equ mmioFOURCC('L', 'I', 'S', 'T')
|
|
|
|
; four character codes used to identify standard built-in I/O procedures
|
|
FOURCC_DOS equ mmioFOURCC('D', 'O', 'S', ' ')
|
|
FOURCC_MEM equ mmioFOURCC('M', 'E', 'M', ' ')
|
|
|
|
; flags for mmioSeek()
|
|
ifndef SEEK_SET
|
|
SEEK_SET equ 0 ; seek to an absolute position
|
|
SEEK_CUR equ 1 ; seek relative to current position
|
|
SEEK_END equ 2 ; seek relative to end of file
|
|
endif ;ifndef SEEK_SET
|
|
|
|
; other constants
|
|
MMIO_DEFAULTBUFFER equ 8192 ; default buffer size
|
|
|
|
endif ;ifndef MMNOMMIO
|
|
|
|
ifndef MMNOMCI
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; MCI support
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; MCI error return values
|
|
MCIERR_INVALID_DEVICE_ID equ (MCIERR_BASE + 1)
|
|
MCIERR_UNRECOGNIZED_KEYWORD equ (MCIERR_BASE + 3)
|
|
MCIERR_UNRECOGNIZED_COMMAND equ (MCIERR_BASE + 5)
|
|
MCIERR_HARDWARE equ (MCIERR_BASE + 6)
|
|
MCIERR_INVALID_DEVICE_NAME equ (MCIERR_BASE + 7)
|
|
MCIERR_OUT_OF_MEMORY equ (MCIERR_BASE + 8)
|
|
MCIERR_DEVICE_OPEN equ (MCIERR_BASE + 9)
|
|
MCIERR_CANNOT_LOAD_DRIVER equ (MCIERR_BASE + 10)
|
|
MCIERR_MISSING_COMMAND_STRING equ (MCIERR_BASE + 11)
|
|
MCIERR_PARAM_OVERFLOW equ (MCIERR_BASE + 12)
|
|
MCIERR_MISSING_STRING_ARGUMENT equ (MCIERR_BASE + 13)
|
|
MCIERR_BAD_INTEGER equ (MCIERR_BASE + 14)
|
|
MCIERR_PARSER_INTERNAL equ (MCIERR_BASE + 15)
|
|
MCIERR_DRIVER_INTERNAL equ (MCIERR_BASE + 16)
|
|
MCIERR_MISSING_PARAMETER equ (MCIERR_BASE + 17)
|
|
MCIERR_UNSUPPORTED_FUNCTION equ (MCIERR_BASE + 18)
|
|
MCIERR_FILE_NOT_FOUND equ (MCIERR_BASE + 19)
|
|
MCIERR_DEVICE_NOT_READY equ (MCIERR_BASE + 20)
|
|
MCIERR_INTERNAL equ (MCIERR_BASE + 21)
|
|
MCIERR_DRIVER equ (MCIERR_BASE + 22)
|
|
MCIERR_CANNOT_USE_ALL equ (MCIERR_BASE + 23)
|
|
MCIERR_MULTIPLE equ (MCIERR_BASE + 24)
|
|
MCIERR_EXTENSION_NOT_FOUND equ (MCIERR_BASE + 25)
|
|
MCIERR_OUTOFRANGE equ (MCIERR_BASE + 26)
|
|
MCIERR_FLAGS_NOT_COMPATIBLE equ (MCIERR_BASE + 28)
|
|
MCIERR_FILE_NOT_SAVED equ (MCIERR_BASE + 30)
|
|
MCIERR_DEVICE_TYPE_REQUIRED equ (MCIERR_BASE + 31)
|
|
MCIERR_DEVICE_LOCKED equ (MCIERR_BASE + 32)
|
|
MCIERR_DUPLICATE_ALIAS equ (MCIERR_BASE + 33)
|
|
MCIERR_BAD_CONSTANT equ (MCIERR_BASE + 34)
|
|
MCIERR_MUST_USE_SHAREABLE equ (MCIERR_BASE + 35)
|
|
MCIERR_MISSING_DEVICE_NAME equ (MCIERR_BASE + 36)
|
|
MCIERR_BAD_TIME_FORMAT equ (MCIERR_BASE + 37)
|
|
MCIERR_NO_CLOSING_QUOTE equ (MCIERR_BASE + 38)
|
|
MCIERR_DUPLICATE_FLAGS equ (MCIERR_BASE + 39)
|
|
MCIERR_INVALID_FILE equ (MCIERR_BASE + 40)
|
|
MCIERR_NULL_PARAMETER_BLOCK equ (MCIERR_BASE + 41)
|
|
MCIERR_UNNAMED_RESOURCE equ (MCIERR_BASE + 42)
|
|
MCIERR_NEW_REQUIRES_ALIAS equ (MCIERR_BASE + 43)
|
|
MCIERR_NOTIFY_ON_AUTO_OPEN equ (MCIERR_BASE + 44)
|
|
MCIERR_NO_ELEMENT_ALLOWED equ (MCIERR_BASE + 45)
|
|
MCIERR_NONAPPLICABLE_FUNCTION equ (MCIERR_BASE + 46)
|
|
MCIERR_ILLEGAL_FOR_AUTO_OPEN equ (MCIERR_BASE + 47)
|
|
MCIERR_FILENAME_REQUIRED equ (MCIERR_BASE + 48)
|
|
MCIERR_EXTRA_CHARACTERS equ (MCIERR_BASE + 49)
|
|
MCIERR_DEVICE_NOT_INSTALLED equ (MCIERR_BASE + 50)
|
|
MCIERR_GET_CD equ (MCIERR_BASE + 51)
|
|
MCIERR_SET_CD equ (MCIERR_BASE + 52)
|
|
MCIERR_SET_DRIVE equ (MCIERR_BASE + 53)
|
|
MCIERR_DEVICE_LENGTH equ (MCIERR_BASE + 54)
|
|
MCIERR_DEVICE_ORD_LENGTH equ (MCIERR_BASE + 55)
|
|
MCIERR_NO_INTEGER equ (MCIERR_BASE + 56)
|
|
|
|
MCIERR_WAVE_OUTPUTSINUSE equ (MCIERR_BASE + 64)
|
|
MCIERR_WAVE_SETOUTPUTINUSE equ (MCIERR_BASE + 65)
|
|
MCIERR_WAVE_INPUTSINUSE equ (MCIERR_BASE + 66)
|
|
MCIERR_WAVE_SETINPUTINUSE equ (MCIERR_BASE + 67)
|
|
MCIERR_WAVE_OUTPUTUNSPECIFIED equ (MCIERR_BASE + 68)
|
|
MCIERR_WAVE_INPUTUNSPECIFIED equ (MCIERR_BASE + 69)
|
|
MCIERR_WAVE_OUTPUTSUNSUITABLE equ (MCIERR_BASE + 70)
|
|
MCIERR_WAVE_SETOUTPUTUNSUITABLE equ (MCIERR_BASE + 71)
|
|
MCIERR_WAVE_INPUTSUNSUITABLE equ (MCIERR_BASE + 72)
|
|
MCIERR_WAVE_SETINPUTUNSUITABLE equ (MCIERR_BASE + 73)
|
|
|
|
MCIERR_SEQ_DIV_INCOMPATIBLE equ (MCIERR_BASE + 80)
|
|
MCIERR_SEQ_PORT_INUSE equ (MCIERR_BASE + 81)
|
|
MCIERR_SEQ_PORT_NONEXISTENT equ (MCIERR_BASE + 82)
|
|
MCIERR_SEQ_PORT_MAPNODEVICE equ (MCIERR_BASE + 83)
|
|
MCIERR_SEQ_PORT_MISCERROR equ (MCIERR_BASE + 84)
|
|
MCIERR_SEQ_TIMER equ (MCIERR_BASE + 85)
|
|
MCIERR_SEQ_PORTUNSPECIFIED equ (MCIERR_BASE + 86)
|
|
MCIERR_SEQ_NOMIDIPRESENT equ (MCIERR_BASE + 87)
|
|
|
|
MCIERR_NO_WINDOW equ (MCIERR_BASE + 90)
|
|
MCIERR_CREATEWINDOW equ (MCIERR_BASE + 91)
|
|
MCIERR_FILE_READ equ (MCIERR_BASE + 92)
|
|
MCIERR_FILE_WRITE equ (MCIERR_BASE + 93)
|
|
|
|
; all custom device driver errors must be >= than this value
|
|
MCIERR_CUSTOM_DRIVER_BASE equ (MCIERR_BASE + 256)
|
|
|
|
; MCI command message identifiers
|
|
MCI_OPEN equ 0803h
|
|
MCI_CLOSE equ 0804h
|
|
MCI_ESCAPE equ 0805h
|
|
MCI_PLAY equ 0806h
|
|
MCI_SEEK equ 0807h
|
|
MCI_STOP equ 0808h
|
|
MCI_PAUSE equ 0809h
|
|
MCI_INFO equ 080Ah
|
|
MCI_GETDEVCAPS equ 080Bh
|
|
MCI_SPIN equ 080Ch
|
|
MCI_SET equ 080Dh
|
|
MCI_STEP equ 080Eh
|
|
MCI_RECORD equ 080Fh
|
|
MCI_SYSINFO equ 0810h
|
|
MCI_BREAK equ 0811h
|
|
MCI_SOUND equ 0812h
|
|
MCI_SAVE equ 0813h
|
|
MCI_STATUS equ 0814h
|
|
MCI_CUE equ 0830h
|
|
MCI_REALIZE equ 0840h
|
|
MCI_WINDOW equ 0841h
|
|
MCI_PUT equ 0842h
|
|
MCI_WHERE equ 0843h
|
|
MCI_FREEZE equ 0844h
|
|
MCI_UNFREEZE equ 0845h
|
|
MCI_LOAD equ 0850h
|
|
MCI_CUT equ 0851h
|
|
MCI_COPY equ 0852h
|
|
MCI_PASTE equ 0853h
|
|
MCI_UPDATE equ 0854h
|
|
MCI_RESUME equ 0855h
|
|
MCI_DELETE equ 0856h
|
|
|
|
; all custom MCI command messages must be >= than this value
|
|
MCI_USER_MESSAGES equ (400h + DRV_MCI_FIRST)
|
|
|
|
|
|
; device ID for "all devices"
|
|
MCI_ALL_DEVICE_ID equ 0FFFFh
|
|
|
|
; constants for predefined MCI device types
|
|
MCI_DEVTYPE_VCR equ (MCI_STRING_OFFSET + 1)
|
|
MCI_DEVTYPE_VIDEODISC equ (MCI_STRING_OFFSET + 2)
|
|
MCI_DEVTYPE_OVERLAY equ (MCI_STRING_OFFSET + 3)
|
|
MCI_DEVTYPE_CD_AUDIO equ (MCI_STRING_OFFSET + 4)
|
|
MCI_DEVTYPE_DAT equ (MCI_STRING_OFFSET + 5)
|
|
MCI_DEVTYPE_SCANNER equ (MCI_STRING_OFFSET + 6)
|
|
MCI_DEVTYPE_ANIMATION equ (MCI_STRING_OFFSET + 7)
|
|
MCI_DEVTYPE_DIGITAL_VIDEO equ (MCI_STRING_OFFSET + 8)
|
|
MCI_DEVTYPE_OTHER equ (MCI_STRING_OFFSET + 9)
|
|
MCI_DEVTYPE_WAVEFORM_AUDIO equ (MCI_STRING_OFFSET + 10)
|
|
MCI_DEVTYPE_SEQUENCER equ (MCI_STRING_OFFSET + 11)
|
|
|
|
MCI_DEVTYPE_FIRST equ MCI_DEVTYPE_VCR
|
|
MCI_DEVTYPE_LAST equ MCI_DEVTYPE_SEQUENCER
|
|
|
|
; return values for 'status mode' command
|
|
MCI_MODE_NOT_READY equ (MCI_STRING_OFFSET + 12)
|
|
MCI_MODE_STOP equ (MCI_STRING_OFFSET + 13)
|
|
MCI_MODE_PLAY equ (MCI_STRING_OFFSET + 14)
|
|
MCI_MODE_RECORD equ (MCI_STRING_OFFSET + 15)
|
|
MCI_MODE_SEEK equ (MCI_STRING_OFFSET + 16)
|
|
MCI_MODE_PAUSE equ (MCI_STRING_OFFSET + 17)
|
|
MCI_MODE_OPEN equ (MCI_STRING_OFFSET + 18)
|
|
|
|
; constants used in 'set time format' and 'status time format' commands
|
|
MCI_FORMAT_MILLISECONDS equ 0
|
|
MCI_FORMAT_HMS equ 1
|
|
MCI_FORMAT_MSF equ 2
|
|
MCI_FORMAT_FRAMES equ 3
|
|
MCI_FORMAT_SMPTE_24 equ 4
|
|
MCI_FORMAT_SMPTE_25 equ 5
|
|
MCI_FORMAT_SMPTE_30 equ 6
|
|
MCI_FORMAT_SMPTE_30DROP equ 7
|
|
MCI_FORMAT_BYTES equ 8
|
|
MCI_FORMAT_SAMPLES equ 9
|
|
MCI_FORMAT_TMSF equ 10
|
|
|
|
; flags for wParam of MM_MCINOTIFY message
|
|
MCI_NOTIFY_SUCCESSFUL equ 0001h
|
|
MCI_NOTIFY_SUPERSEDED equ 0002h
|
|
MCI_NOTIFY_ABORTED equ 0004h
|
|
MCI_NOTIFY_FAILURE equ 0008h
|
|
|
|
|
|
; common flags for dwFlags parameter of MCI command messages
|
|
MCI_NOTIFY equ 00000001h
|
|
MCI_WAIT equ 00000002h
|
|
MCI_FROM equ 00000004h
|
|
MCI_TO equ 00000008h
|
|
MCI_TRACK equ 00000010h
|
|
|
|
; flags for dwFlags parameter of MCI_OPEN command message
|
|
MCI_OPEN_SHAREABLE equ 00000100h
|
|
MCI_OPEN_ELEMENT equ 00000200h
|
|
MCI_OPEN_ALIAS equ 00000400h
|
|
MCI_OPEN_ELEMENT_ID equ 00000800h
|
|
MCI_OPEN_TYPE_ID equ 00001000h
|
|
MCI_OPEN_TYPE equ 00002000h
|
|
|
|
; flags for dwFlags parameter of MCI_SEEK command message
|
|
MCI_SEEK_TO_START equ 00000100h
|
|
MCI_SEEK_TO_END equ 00000200h
|
|
|
|
; flags for dwFlags parameter of MCI_STATUS command message
|
|
MCI_STATUS_ITEM equ 00000100h
|
|
MCI_STATUS_START equ 00000200h
|
|
|
|
; flags for dwItem field of the MCI_STATUS_PARMS parameter block
|
|
MCI_STATUS_LENGTH equ 00000001h
|
|
MCI_STATUS_POSITION equ 00000002h
|
|
MCI_STATUS_NUMBER_OF_TRACKS equ 00000003h
|
|
MCI_STATUS_MODE equ 00000004h
|
|
MCI_STATUS_MEDIA_PRESENT equ 00000005h
|
|
MCI_STATUS_TIME_FORMAT equ 00000006h
|
|
MCI_STATUS_READY equ 00000007h
|
|
MCI_STATUS_CURRENT_TRACK equ 00000008h
|
|
|
|
; flags for dwFlags parameter of MCI_INFO command message
|
|
MCI_INFO_PRODUCT equ 00000100h
|
|
MCI_INFO_FILE equ 00000200h
|
|
|
|
; flags for dwFlags parameter of MCI_GETDEVCAPS command message
|
|
MCI_GETDEVCAPS_ITEM equ 00000100h
|
|
|
|
; flags for dwItem field of the MCI_GETDEVCAPS_PARMS parameter block
|
|
MCI_GETDEVCAPS_CAN_RECORD equ 00000001h
|
|
MCI_GETDEVCAPS_HAS_AUDIO equ 00000002h
|
|
MCI_GETDEVCAPS_HAS_VIDEO equ 00000003h
|
|
MCI_GETDEVCAPS_DEVICE_TYPE equ 00000004h
|
|
MCI_GETDEVCAPS_USES_FILES equ 00000005h
|
|
MCI_GETDEVCAPS_COMPOUND_DEVICE equ 00000006h
|
|
MCI_GETDEVCAPS_CAN_EJECT equ 00000007h
|
|
MCI_GETDEVCAPS_CAN_PLAY equ 00000008h
|
|
MCI_GETDEVCAPS_CAN_SAVE equ 00000009h
|
|
|
|
; flags for dwFlags parameter of MCI_SYSINFO command message
|
|
MCI_SYSINFO_QUANTITY equ 00000100h
|
|
MCI_SYSINFO_OPEN equ 00000200h
|
|
MCI_SYSINFO_NAME equ 00000400h
|
|
MCI_SYSINFO_INSTALLNAME equ 00000800h
|
|
|
|
; flags for dwFlags parameter of MCI_SET command message
|
|
MCI_SET_DOOR_OPEN equ 00000100h
|
|
MCI_SET_DOOR_CLOSED equ 00000200h
|
|
MCI_SET_TIME_FORMAT equ 00000400h
|
|
MCI_SET_AUDIO equ 00000800h
|
|
MCI_SET_VIDEO equ 00001000h
|
|
MCI_SET_ON equ 00002000h
|
|
MCI_SET_OFF equ 00004000h
|
|
|
|
; flags for dwAudio field of MCI_SET_PARMS or MCI_SEQ_SET_PARMS
|
|
MCI_SET_AUDIO_ALL equ 00000000h
|
|
MCI_SET_AUDIO_LEFT equ 00000001h
|
|
MCI_SET_AUDIO_RIGHT equ 00000002h
|
|
|
|
; flags for dwFlags parameter of MCI_BREAK command message
|
|
MCI_BREAK_KEY equ 00000100h
|
|
MCI_BREAK_HWND equ 00000200h
|
|
MCI_BREAK_OFF equ 00000400h
|
|
|
|
; flags for dwFlags parameter of MCI_RECORD command message
|
|
MCI_RECORD_INSERT equ 00000100h
|
|
MCI_RECORD_OVERWRITE equ 00000200h
|
|
|
|
; flags for dwFlags parameter of MCI_SOUND command message
|
|
MCI_SOUND_NAME equ 00000100h
|
|
|
|
; flags for dwFlags parameter of MCI_SAVE command message
|
|
MCI_SAVE_FILE equ 00000100h
|
|
|
|
; flags for dwFlags parameter of MCI_LOAD command message
|
|
MCI_LOAD_FILE equ 00000100h
|
|
|
|
; generic parameter block for MCI command messages with no special parameters
|
|
MCI_GENERIC_PARMS struc
|
|
mcigen_dwCallback dd ?
|
|
MCI_GENERIC_PARMS ends
|
|
|
|
; parameter block for MCI_OPEN command message
|
|
MCI_OPEN_PARMS struc
|
|
mciopen_dwCallback dd ?
|
|
mciopen_wDeviceID dw ?
|
|
mciopen_wReserved0 dw ?
|
|
mciopen_lpstrDeviceType dd ?
|
|
mciopen_lpstrElementName dd ?
|
|
mciopen_lpstrAlias dd ?
|
|
MCI_OPEN_PARMS ends
|
|
|
|
; parameter block for MCI_PLAY command message
|
|
MCI_PLAY_PARMS struc
|
|
mciplay_dwCallback dd ?
|
|
mciplay_dwFrom dd ?
|
|
mciplay_dwTo dd ?
|
|
MCI_PLAY_PARMS ends
|
|
|
|
; parameter block for MCI_SEEK command message
|
|
MCI_SEEK_PARMS struc
|
|
mciseek_dwCallback dd ?
|
|
mciseek_dwTo dd ?
|
|
MCI_SEEK_PARMS ends
|
|
|
|
; parameter block for MCI_STATUS command message
|
|
MCI_STATUS_PARMS struc
|
|
mcistat_dwCallback dd ?
|
|
mcistat_dwReturn dd ?
|
|
mcistat_dwItem dd ?
|
|
mcistat_dwTrack dd ?
|
|
MCI_STATUS_PARMS ends
|
|
|
|
; parameter block for MCI_INFO command message
|
|
MCI_INFO_PARMS struc
|
|
mciinfo_dwCallback dd ?
|
|
mciinfo_lpstrReturn dd ?
|
|
mciinfo_dwRetSize dd ?
|
|
MCI_INFO_PARMS ends
|
|
|
|
; parameter block for MCI_GETDEVCAPS command message
|
|
MCI_GETDEVCAPS_PARMS struc
|
|
mcigdc_dwCallback dd ?
|
|
mcigdc_dwReturn dd ?
|
|
mcigdc_dwItem dd ?
|
|
MCI_GETDEVCAPS_PARMS ends
|
|
|
|
; parameter block for MCI_SYSINFO command message
|
|
MCI_SYSINFO_PARMS struc
|
|
mcisi_dwCallback dd ?
|
|
mcisi_lpstrReturn dd ?
|
|
mcisi_dwRetSize dd ?
|
|
mcisi_dwNumber dd ?
|
|
mcisi_wDeviceType dw ?
|
|
mcisi_wReserved0 dw ?
|
|
MCI_SYSINFO_PARMS ends
|
|
|
|
; parameter block for MCI_SET command message
|
|
MCI_SET_PARMS struc
|
|
mciset_dwCallback dd ?
|
|
mciset_dwTimeFormat dd ?
|
|
mciset_dwAudio dd ?
|
|
MCI_SET_PARMS ends
|
|
|
|
; parameter block for MCI_BREAK command message
|
|
MCI_BREAK_PARMS struc
|
|
mcibreak_dwCallback dd ?
|
|
mcibreak_nVirtKey dw ?
|
|
mcibreak_wReserved0 dw ?
|
|
mcibreak_hwndBreak dw ?
|
|
mcibreak_wReserved1 dw ?
|
|
MCI_BREAK_PARMS ends
|
|
|
|
; parameter block for MCI_SOUND command message
|
|
MCI_SOUND_PARMS struc
|
|
mcisnd_dwCallback dd ?
|
|
mcisnd_lpstrSoundName dd ?
|
|
MCI_SOUND_PARMS ends
|
|
|
|
; parameter block for MCI_SAVE command message
|
|
MCI_SAVE_PARMS struc
|
|
mcisave_dwCallback dd ?
|
|
mcisave_lpfilename dd ?
|
|
MCI_SAVE_PARMS ends
|
|
|
|
; parameter block for MCI_LOAD command message
|
|
MCI_LOAD_PARMS struc
|
|
mciload_dwCallback dd ?
|
|
mciload_lpfilename dd ?
|
|
MCI_LOAD_PARMS ends
|
|
|
|
; parameter block for MCI_RECORD command message
|
|
MCI_RECORD_PARMS struc
|
|
mcirec_dwCallback dd ?
|
|
mcirec_dwFrom dd ?
|
|
mcirec_dwTo dd ?
|
|
MCI_RECORD_PARMS ends
|
|
|
|
|
|
;
|
|
; MCI extensions for videodisc devices
|
|
;
|
|
|
|
; flag for dwReturn field of MCI_STATUS_PARMS
|
|
; MCI_STATUS command, (dwItem == MCI_STATUS_MODE)
|
|
MCI_VD_MODE_PARK equ (MCI_VD_OFFSET + 1)
|
|
|
|
; flag for dwReturn field of MCI_STATUS_PARMS
|
|
; MCI_STATUS command, (dwItem == MCI_VD_STATUS_MEDIA_TYPE)
|
|
MCI_VD_MEDIA_CLV equ (MCI_VD_OFFSET + 2)
|
|
MCI_VD_MEDIA_CAV equ (MCI_VD_OFFSET + 3)
|
|
MCI_VD_MEDIA_OTHER equ (MCI_VD_OFFSET + 4)
|
|
|
|
MCI_VD_FORMAT_TRACK equ 4001h
|
|
|
|
; flags for dwFlags parameter of MCI_PLAY command message
|
|
MCI_VD_PLAY_REVERSE equ 00010000h
|
|
MCI_VD_PLAY_FAST equ 00020000h
|
|
MCI_VD_PLAY_SPEED equ 00040000h
|
|
MCI_VD_PLAY_SCAN equ 00080000h
|
|
MCI_VD_PLAY_SLOW equ 00100000h
|
|
|
|
; flag for dwFlags parameter of MCI_SEEK command message
|
|
MCI_VD_SEEK_REVERSE equ 00010000h
|
|
|
|
; flags for dwItem field of MCI_STATUS_PARMS parameter block
|
|
MCI_VD_STATUS_SPEED equ 00004002h
|
|
MCI_VD_STATUS_FORWARD equ 00004003h
|
|
MCI_VD_STATUS_MEDIA_TYPE equ 00004004h
|
|
MCI_VD_STATUS_SIDE equ 00004005h
|
|
MCI_VD_STATUS_DISC_SIZE equ 00004006h
|
|
|
|
; flags for dwFlags parameter of MCI_GETDEVCAPS command message
|
|
MCI_VD_GETDEVCAPS_CLV equ 00010000h
|
|
MCI_VD_GETDEVCAPS_CAV equ 00020000h
|
|
|
|
MCI_VD_SPIN_UP equ 0001h
|
|
MCI_VD_SPIN_DOWN equ 0002h
|
|
|
|
; flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block
|
|
MCI_VD_GETDEVCAPS_CAN_REVERSE equ 00004002h
|
|
MCI_VD_GETDEVCAPS_FAST_RATE equ 00004003h
|
|
MCI_VD_GETDEVCAPS_SLOW_RATE equ 00004004h
|
|
MCI_VD_GETDEVCAPS_NORMAL_RATE equ 00004005h
|
|
|
|
; flags for the dwFlags parameter of MCI_STEP command message
|
|
MCI_VD_STEP_FRAMES equ 00010000h
|
|
MCI_VD_STEP_REVERSE equ 00020000h
|
|
|
|
; flag for the MCI_ESCAPE command message
|
|
MCI_VD_ESCAPE_STRING equ 00000100h
|
|
|
|
; parameter block for MCI_PLAY command message
|
|
MCI_VD_PLAY_PARMS struc
|
|
mcivdplay_dwCallback dd ?
|
|
mcivdplay_dwFrom dd ?
|
|
mcivdplay_dwTo dd ?
|
|
mcivdplay_dwSpeed dd ?
|
|
MCI_VD_PLAY_PARMS ends
|
|
|
|
; parameter block for MCI_STEP command message
|
|
MCI_VD_STEP_PARMS struc
|
|
mcivdstep_dwCallback dd ?
|
|
mcivdstep_dwFrames dd ?
|
|
MCI_VD_STEP_PARMS ends
|
|
|
|
; parameter block for MCI_ESCAPE command message
|
|
MCI_VD_ESCAPE_PARMS struc
|
|
mcivcesc_dwCallback dd ?
|
|
mcivcesc_lpstrCommand dd ?
|
|
MCI_VD_ESCAPE_PARMS ends
|
|
|
|
|
|
;
|
|
; MCI extensions for waveform audio devices
|
|
;
|
|
|
|
; flags for the dwFlags parameter of MCI_OPEN command message
|
|
MCI_WAVE_OPEN_BUFFER equ 00010000h
|
|
|
|
; flags for the dwFlags parameter of MCI_SET command message
|
|
MCI_WAVE_SET_FORMATTAG equ 00010000h
|
|
MCI_WAVE_SET_CHANNELS equ 00020000h
|
|
MCI_WAVE_SET_SAMPLESPERSEC equ 00040000h
|
|
MCI_WAVE_SET_AVGBYTESPERSEC equ 00080000h
|
|
MCI_WAVE_SET_BLOCKALIGN equ 00100000h
|
|
MCI_WAVE_SET_BITSPERSAMPLE equ 00200000h
|
|
|
|
; flags for the dwFlags parameter of MCI_STATUS, MCI_SET command messages
|
|
MCI_WAVE_INPUT equ 00400000h
|
|
MCI_WAVE_OUTPUT equ 00800000h
|
|
|
|
; flags for the dwItem field of MCI_STATUS_PARMS parameter block
|
|
MCI_WAVE_STATUS_FORMATTAG equ 00004001h
|
|
MCI_WAVE_STATUS_CHANNELS equ 00004002h
|
|
MCI_WAVE_STATUS_SAMPLESPERSEC equ 00004003h
|
|
MCI_WAVE_STATUS_AVGBYTESPERSEC equ 00004004h
|
|
MCI_WAVE_STATUS_BLOCKALIGN equ 00004005h
|
|
MCI_WAVE_STATUS_BITSPERSAMPLE equ 00004006h
|
|
MCI_WAVE_STATUS_LEVEL equ 00004007h
|
|
|
|
; flags for the dwFlags parameter of MCI_SET command message
|
|
MCI_WAVE_SET_ANYINPUT equ 04000000h
|
|
MCI_WAVE_SET_ANYOUTPUT equ 08000000h
|
|
|
|
; flags for the dwFlags parameter of MCI_GETDEVCAPS command message
|
|
MCI_WAVE_GETDEVCAPS_INPUTS equ 00004001h
|
|
MCI_WAVE_GETDEVCAPS_OUTPUTS equ 00004002h
|
|
|
|
; parameter block for MCI_OPEN command message
|
|
MCI_WAVE_OPEN_PARMS struc
|
|
mciwopen_dwCallback dd ?
|
|
mciwopen_wDeviceID dw ?
|
|
mciwopen_wReserved0 dw ?
|
|
mciwopen_lpstrDeviceType dd ?
|
|
mciwopen_lpstrElementName dd ?
|
|
mciwopen_lpstrAlias dd ?
|
|
mciwopen_dwBufferSeconds dd ?
|
|
MCI_WAVE_OPEN_PARMS ends
|
|
|
|
; parameter block for MCI_DELETE command message
|
|
MCI_WAVE_DELETE_PARMS struc
|
|
mciwdel_dwCallback dd ?
|
|
mciwdel_dwFrom dd ?
|
|
mciwdel_dwTo dd ?
|
|
MCI_WAVE_DELETE_PARMS ends
|
|
|
|
; parameter block for MCI_SET command message
|
|
MCI_WAVE_SET_PARMS struc
|
|
mciwset_dwCallback dd ?
|
|
mciwset_dwTimeFormat dd ?
|
|
mciwset_dwAudio dd ?
|
|
mciwset_wInput dw ?
|
|
mciwset_wReserved0 dw ?
|
|
mciwset_wOutput dw ?
|
|
mciwset_wReserved1 dw ?
|
|
mciwset_wFormatTag dw ?
|
|
mciwset_wReserved2 dw ?
|
|
mciwset_nChannels dw ?
|
|
mciwset_wReserved3 dw ?
|
|
mciwset_nSamplesPerSec dw ?
|
|
mciwset_nAvgBytesPerSec dw ?
|
|
mciwset_nBlockAlign dw ?
|
|
mciwset_wReserved4 dw ?
|
|
mciwset_wBitsPerSample dw ?
|
|
mciwset_wReserved5 dw ?
|
|
MCI_WAVE_SET_PARMS ends
|
|
|
|
|
|
;
|
|
; MCI extensions for MIDI sequencer devices
|
|
;
|
|
|
|
; flags for the dwReturn field of MCI_STATUS_PARMS parameter block
|
|
; MCI_STATUS command, (dwItem == MCI_SEQ_STATUS_DIVTYPE)
|
|
MCI_SEQ_DIV_PPQN equ (0 + MCI_SEQ_OFFSET)
|
|
MCI_SEQ_DIV_SMPTE_24 equ (1 + MCI_SEQ_OFFSET)
|
|
MCI_SEQ_DIV_SMPTE_25 equ (2 + MCI_SEQ_OFFSET)
|
|
MCI_SEQ_DIV_SMPTE_30DROP equ (3 + MCI_SEQ_OFFSET)
|
|
MCI_SEQ_DIV_SMPTE_30 equ (4 + MCI_SEQ_OFFSET)
|
|
|
|
; flags for the dwMaster field of MCI_SEQ_SET_PARMS parameter block
|
|
; MCI_SET command, (dwFlags == MCI_SEQ_SET_MASTER)
|
|
MCI_SEQ_FORMAT_SONGPTR equ 4001h
|
|
MCI_SEQ_FILE equ 4002h
|
|
MCI_SEQ_MIDI equ 4003h
|
|
MCI_SEQ_SMPTE equ 4004h
|
|
MCI_SEQ_NONE equ 65533
|
|
|
|
; flags for the dwItem field of MCI_STATUS_PARMS parameter block
|
|
MCI_SEQ_STATUS_TEMPO equ 00004002h
|
|
MCI_SEQ_STATUS_PORT equ 00004003h
|
|
MCI_SEQ_STATUS_SLAVE equ 00004007h
|
|
MCI_SEQ_STATUS_MASTER equ 00004008h
|
|
MCI_SEQ_STATUS_OFFSET equ 00004009h
|
|
MCI_SEQ_STATUS_DIVTYPE equ 0000400Ah
|
|
|
|
; flags for the dwFlags parameter of MCI_SET command message
|
|
MCI_SEQ_SET_TEMPO equ 00010000h
|
|
MCI_SEQ_SET_PORT equ 00020000h
|
|
MCI_SEQ_SET_SLAVE equ 00040000h
|
|
MCI_SEQ_SET_MASTER equ 00080000h
|
|
MCI_SEQ_SET_OFFSET equ 01000000h
|
|
|
|
; parameter block for MCI_SET command message
|
|
MCI_SEQ_SET_PARMS struc
|
|
mcisset_dwCallback dd ?
|
|
mcisset_dwTimeFormat dd ?
|
|
mcisset_dwAudio dd ?
|
|
mcisset_dwTempo dd ?
|
|
mcisset_dwPort dd ?
|
|
mcisset_dwSlave dd ?
|
|
mcisset_dwMaster dd ?
|
|
mcisset_dwOffset dd ?
|
|
MCI_SEQ_SET_PARMS ends
|
|
|
|
|
|
;
|
|
; MCI extensions for animation devices
|
|
;
|
|
|
|
; flags for dwFlags parameter of MCI_OPEN command message
|
|
MCI_ANIM_OPEN_WS equ 00010000h
|
|
MCI_ANIM_OPEN_PARENT equ 00020000h
|
|
MCI_ANIM_OPEN_NOSTATIC equ 00040000h
|
|
|
|
; flags for dwFlags parameter of MCI_PLAY command message
|
|
MCI_ANIM_PLAY_SPEED equ 00010000h
|
|
MCI_ANIM_PLAY_REVERSE equ 00020000h
|
|
MCI_ANIM_PLAY_FAST equ 00040000h
|
|
MCI_ANIM_PLAY_SLOW equ 00080000h
|
|
MCI_ANIM_PLAY_SCAN equ 00100000h
|
|
|
|
; flags for dwFlags parameter of MCI_STEP command message
|
|
MCI_ANIM_STEP_REVERSE equ 00010000h
|
|
MCI_ANIM_STEP_FRAMES equ 00020000h
|
|
|
|
; flags for dwItem field of MCI_STATUS_PARMS parameter block
|
|
MCI_ANIM_STATUS_SPEED equ 00004001h
|
|
MCI_ANIM_STATUS_FORWARD equ 00004002h
|
|
MCI_ANIM_STATUS_HWND equ 00004003h
|
|
MCI_ANIM_STATUS_HPAL equ 00004004h
|
|
MCI_ANIM_STATUS_STRETCH equ 00004005h
|
|
|
|
; flags for the dwFlags parameter of MCI_INFO command message
|
|
MCI_ANIM_INFO_TEXT equ 00010000h
|
|
|
|
; flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block
|
|
MCI_ANIM_GETDEVCAPS_CAN_REVERSE equ 00004001h
|
|
MCI_ANIM_GETDEVCAPS_FAST_RATE equ 00004002h
|
|
MCI_ANIM_GETDEVCAPS_SLOW_RATE equ 00004003h
|
|
MCI_ANIM_GETDEVCAPS_NORMAL_RATE equ 00004004h
|
|
MCI_ANIM_GETDEVCAPS_PALETTES equ 00004006h
|
|
MCI_ANIM_GETDEVCAPS_CAN_STRETCH equ 00004007h
|
|
MCI_ANIM_GETDEVCAPS_MAX_WINDOWS equ 00004008h
|
|
|
|
; flags for the MCI_REALIZE command message
|
|
MCI_ANIM_REALIZE_NORM equ 00010000h
|
|
MCI_ANIM_REALIZE_BKGD equ 00020000h
|
|
|
|
; flags for dwFlags parameter of MCI_WINDOW command message
|
|
MCI_ANIM_WINDOW_HWND equ 00010000h
|
|
MCI_ANIM_WINDOW_STATE equ 00040000h
|
|
MCI_ANIM_WINDOW_TEXT equ 00080000h
|
|
MCI_ANIM_WINDOW_ENABLE_STRETCH equ 00100000h
|
|
MCI_ANIM_WINDOW_DISABLE_STRETCH equ 00200000h
|
|
|
|
; flags for hWnd field of MCI_ANIM_WINDOW_PARMS parameter block
|
|
; MCI_WINDOW command message, (dwFlags == MCI_ANIM_WINDOW_HWND)
|
|
MCI_ANIM_WINDOW_DEFAULT equ 00000000h
|
|
|
|
; flags for dwFlags parameter of MCI_PUT command message
|
|
MCI_ANIM_RECT equ 00010000h
|
|
MCI_ANIM_PUT_SOURCE equ 00020000h
|
|
MCI_ANIM_PUT_DESTINATION equ 00040000h
|
|
|
|
; flags for dwFlags parameter of MCI_WHERE command message
|
|
MCI_ANIM_WHERE_SOURCE equ 00020000h
|
|
MCI_ANIM_WHERE_DESTINATION equ 00040000h
|
|
|
|
; flags for dwFlags parameter of MCI_UPDATE command message
|
|
MCI_ANIM_UPDATE_HDC equ 00020000h
|
|
|
|
; parameter block for MCI_OPEN command message
|
|
MCI_ANIM_OPEN_PARMS struc
|
|
mciaopen_dwCallback dd ?
|
|
mciaopen_wDeviceID dw ?
|
|
mciaopen_wReserved0 dw ?
|
|
mciaopen_lpstrDeviceType dd ?
|
|
mciaopen_lpstrElementName dd ?
|
|
mciaopen_lpstrAlias dd ?
|
|
mciaopen_dwStyle dd ?
|
|
mciaopen_hWndParent dw ?
|
|
mciaopen_wReserved1 dw ?
|
|
MCI_ANIM_OPEN_PARMS ends
|
|
|
|
; parameter block for MCI_PLAY command message
|
|
MCI_ANIM_PLAY_PARMS struc
|
|
mciaplay_dwCallback dd ?
|
|
mciaplay_dwFrom dd ?
|
|
mciaplay_dwTo dd ?
|
|
mciaplay_dwSpeed dd ?
|
|
MCI_ANIM_PLAY_PARMS ends
|
|
|
|
; parameter block for MCI_STEP command message
|
|
MCI_ANIM_STEP_PARMS struc
|
|
mciastep_dwCallback dd ?
|
|
mciastep_dwFrames dd ?
|
|
MCI_ANIM_STEP_PARMS ends
|
|
|
|
; parameter block for MCI_WINDOW command message
|
|
MCI_ANIM_WINDOW_PARMS struc
|
|
mciawin_dwCallback dd ?
|
|
mciawin_hWnd dw ?
|
|
mciawin_wReserved1 dw ?
|
|
mciawin_nCmdShow dw ?
|
|
mciawin_wReserved2 dw ?
|
|
mciawin_lpstrText dd ?
|
|
MCI_ANIM_WINDOW_PARMS ends
|
|
|
|
; parameter block for MCI_PUT, MCI_UPDATE, MCI_WHERE command messages
|
|
MCI_ANIM_RECT_PARMS struc
|
|
mciarect_dwCallback dd ?
|
|
ifdef MCI_USE_OFFEXT
|
|
mciarect_ptOffset db (SIZE POINT) dup (?)
|
|
mciarect_ptExtent db (SIZE POINT) dup (?)
|
|
else ;ifdef MCI_USE_OFFEXT
|
|
mciarect_rc db (SIZE RECT) dup (?)
|
|
endif ;ifdef MCI_USE_OFFEXT
|
|
MCI_ANIM_RECT_PARMS ends
|
|
|
|
; parameter block for MCI_UPDATE PARMS
|
|
MCI_ANIM_UPDATE_PARMS struc
|
|
mciaupd_dwCallback dd ?
|
|
mciaupd_rc db (SIZE RECT) dup (?)
|
|
mciaupd_hDC dw ?
|
|
MCI_ANIM_UPDATE_PARMS ends
|
|
|
|
|
|
;
|
|
; MCI extensions for video overlay devices
|
|
;
|
|
|
|
; flags for dwFlags parameter of MCI_OPEN command message
|
|
MCI_OVLY_OPEN_WS equ 00010000h
|
|
MCI_OVLY_OPEN_PARENT equ 00020000h
|
|
|
|
; flags for dwFlags parameter of MCI_STATUS command message
|
|
MCI_OVLY_STATUS_HWND equ 00004001h
|
|
MCI_OVLY_STATUS_STRETCH equ 00004002h
|
|
|
|
; flags for dwFlags parameter of MCI_INFO command message
|
|
MCI_OVLY_INFO_TEXT equ 00010000h
|
|
|
|
; flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block
|
|
MCI_OVLY_GETDEVCAPS_CAN_STRETCH equ 00004001h
|
|
MCI_OVLY_GETDEVCAPS_CAN_FREEZE equ 00004002h
|
|
MCI_OVLY_GETDEVCAPS_MAX_WINDOWS equ 00004003h
|
|
|
|
; flags for dwFlags parameter of MCI_WINDOW command message
|
|
MCI_OVLY_WINDOW_HWND equ 00010000h
|
|
MCI_OVLY_WINDOW_STATE equ 00040000h
|
|
MCI_OVLY_WINDOW_TEXT equ 00080000h
|
|
MCI_OVLY_WINDOW_ENABLE_STRETCH equ 00100000h
|
|
MCI_OVLY_WINDOW_DISABLE_STRETCH equ 00200000h
|
|
|
|
; flags for hWnd parameter of MCI_OVLY_WINDOW_PARMS parameter block
|
|
MCI_OVLY_WINDOW_DEFAULT equ 00000000h
|
|
|
|
; flags for dwFlags parameter of MCI_PUT command message
|
|
MCI_OVLY_RECT equ 00010000h
|
|
MCI_OVLY_PUT_SOURCE equ 00020000h
|
|
MCI_OVLY_PUT_DESTINATION equ 00040000h
|
|
MCI_OVLY_PUT_FRAME equ 00080000h
|
|
MCI_OVLY_PUT_VIDEO equ 00100000h
|
|
|
|
; flags for dwFlags parameter of MCI_WHERE command message
|
|
MCI_OVLY_WHERE_SOURCE equ 00020000h
|
|
MCI_OVLY_WHERE_DESTINATION equ 00040000h
|
|
MCI_OVLY_WHERE_FRAME equ 00080000h
|
|
MCI_OVLY_WHERE_VIDEO equ 00100000h
|
|
|
|
; parameter block for MCI_OPEN command message
|
|
MCI_OVLY_OPEN_PARMS struc
|
|
mcioopen_dwCallback dd ?
|
|
mcioopen_wDeviceID dw ?
|
|
mcioopen_wReserved0 dw ?
|
|
mcioopen_lpstrDeviceType dd ?
|
|
mcioopen_lpstrElementName dd ?
|
|
mcioopen_lpstrAlias dd ?
|
|
mcioopen_dwStyle dd ?
|
|
mcioopen_hWndParent dw ?
|
|
mcioopen_wReserved1 dw ?
|
|
MCI_OVLY_OPEN_PARMS ends
|
|
|
|
; parameter block for MCI_WINDOW command message
|
|
MCI_OVLY_WINDOW_PARMS struc
|
|
mciowin_dwCallback dd ?
|
|
mciowin_hWnd dw ?
|
|
mciowin_wReserved1 dw ?
|
|
mciowin_nCmdShow dw ?
|
|
mciowin_wReserved2 dw ?
|
|
mciowin_lpstrText dd ?
|
|
MCI_OVLY_WINDOW_PARMS ends
|
|
|
|
; parameter block for MCI_PUT, MCI_UPDATE, and MCI_WHERE command messages
|
|
MCI_OVLY_RECT_PARMS struc
|
|
mciorect_dwCallback dd ?
|
|
ifdef MCI_USE_OFFEXT
|
|
mciorect_ptOffset db (SIZE POINT) dup (?)
|
|
mciorect_ptExtent db (SIZE POINT) dup (?)
|
|
else ;ifdef MCI_USE_OFFEXT
|
|
mciorect_rc db (SIZE RECT) dup (?)
|
|
endif ;ifdef MCI_USE_OFFEXT
|
|
MCI_OVLY_RECT_PARMS ends
|
|
|
|
; parameter block for MCI_SAVE command message
|
|
MCI_OVLY_SAVE_PARMS struc
|
|
mciosave_dwCallback dd ?
|
|
mciosave_lpfilename dd ?
|
|
mciosave_rc db (SIZE RECT) dup (?)
|
|
MCI_OVLY_SAVE_PARMS ends
|
|
|
|
; parameter block for MCI_LOAD command message
|
|
MCI_OVLY_LOAD_PARMS struc
|
|
mcioload_dwCallback dd ?
|
|
mcioload_lpfilename dd ?
|
|
mcioload_rc db (SIZE RECT) dup (?)
|
|
MCI_OVLY_LOAD_PARMS ends
|
|
|
|
endif ;ifndef MMNOMCI
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; DISPLAY Driver extensions
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
ifndef C1_TRANSPARENT
|
|
CAPS1 equ 94 ; other caps
|
|
C1_TRANSPARENT equ 0001h ; new raster cap
|
|
NEWTRANSPARENT equ 3 ; use with SetBkMode()
|
|
|
|
QUERYROPSUPPORT equ 40 ; use to determine ROP support
|
|
endif ;ifndef C1_TRANSPARENT
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; DIB Driver extensions
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
SELECTDIB equ 41 ; DIB.DRV select dib escape
|
|
DIBINDEX MACRO a
|
|
mov ax,a
|
|
mov dx,10ffh
|
|
ENDM
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;
|
|
; ScreenSaver support
|
|
;
|
|
; The current application will receive a syscommand of SC_SCREENSAVE just
|
|
; before the screen saver is invoked. If the app wishes to prevent a
|
|
; screen save, return non-zero value, otherwise call DefWindowProc().
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
ifndef SC_SCREENSAVE
|
|
|
|
SC_SCREENSAVE equ 0F140h
|
|
|
|
endif ;ifndef SC_SCREENSAVE
|