Basic Command Messages

In addition to the required command messages, each driver supports a set of command messages specific to its device type. Where possible, these type-specific (or basic) commands are identical between types. For example, the basic MCI_PLAY command is identical for videodisc and videotape players.

The basic command messages are summarized in the following list. MCI does not modify any of these messages or the data associated with them. MCI relays all information received from the calling application to your device driver.

MCI Message

Description

MCI_LOAD

Loads a device element from disk.

MCI_PAUSE

Suspends playing or recording.

MCI_PLAY

Starts transmitting output data.

MCI_RECORD

Starts recording data.

MCI_RESUME

Resumes a paused device.

MCI_SAVE

Saves the current file. Drivers should not destroy the original copy of a file until they receive this message.

MCI_SEEK

Seeks forward or backward.

MCI_SET

Sets device information.

MCI_STATUS

Returns status information from the device. MCI_STATUS as a basic command has additional flags not present for the required message.

MCI_STOP

Stops playing, with no video shown and no audio played.


The following table identifies the flags and structures of the basic MCI commands. If a device driver supports any of these commands, it must support the associated set of flags indicated in the table. If your device driver does not support one of these messages, it must respond to it by returning the error code MCI_UNSUPPORTED_FUNCTION.

Command Flags

Structure

MCI_LOAD_FILE

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_LOAD_PARMS

MCI_OVLY_LOAD_PARMS

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_GENERIC_PARMS

MCI_FROM

MCI_TO

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_PLAY_PARMS

MCI_ANIM_PLAY_PARMS

MCI_VD_PLAY_PARMS

MCI_FROM

MCI_TO

MCI_RECORD_INSERT

MCI_RECORD_OVERWRITE

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_RECORD_PARMS

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_GENERIC_PARMS

MCI_SAVE_FILE

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_SAVE_PARMS

MCI_SEEK_TO_END

MCI_SEEK_TO_START

MCI_TO

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_SEEK_PARMS

MCI_SET_AUDIO

MCI_SET_DOOR_CLOSED

MCI_SET_DOOR_OPEN

MCI_SET_TIME_FORMAT

MCI_SET_VIDEO

MCI_SET_ON

MCI_SET_OFF

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_SET_PARMS

MCI_SEQ_SET_PARMS

MCI_WAVE_SET_PARMS

MCI_STATUS_ITEM

MCI_STATUS_CURRENT_TRACK

MCI_STATUS_LENGTH

MCI_TRACK

MCI_STATUS_IN_TRACK

MCI_STATUS_NUMBER_OF_TRACKS

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_STATUS_PARMS

MCI_NOTIFY

MCI_WAIT

MCI_TEST

MCI_GENERIC_PARMS


Your device driver might add flags and parameters to create extended commands. When you extend a command message, your device driver must still respond to the basic flags and parameters.