MCI Command Types

There are four types of MCI commands:

  1. System commands

  2. Required commands

  3. Basic commands

  4. Extended commands

System commands are not passed to an MCI driver. They are processed within winmm.dll.

Required commands are defined in the core command table. MCI drivers must recognize and process all required commands.

Basic commands are also defined in the core command table. MCI drivers must recognize all basic commands. However, if a basic command is not relevant to a particular device, the driver can simply return MCI_UNSUPPORTED_FUNCTION for that command.

Extended commands are those that are included in the device-type or device-specific command tables. Extended commands can either be modifications of the basic and required commands, or they can be new commands. An MCI driver only needs to recognize extended commands that are relevant for its device.

The following table lists the system, required, and basic commands. Extended commands are described within the Win32 SDK.

Command Type

Command String

Command Message

System Commands

break

MCI_BREAK

sound

MCI_SOUND

sysinfo

MCI_SYSINFO

Required Commands

capability

MCI_GETDEVCAPS

close

MCI_CLOSE (Driver receives MCI_CLOSE_DRIVER.)

info

MCI_INFO

open

MCI_OPEN (Driver receives MCI_OPEN_DRIVER.)

status

MCI_STATUS

Basic Commands

load

MCI_LOAD

pause

MCI_PAUSE

play

MCI_PLAY

record

MCI_RECORD

resume

MCI_RESUME

save

MCI_SAVE

seek

MCI_SEEK

set

MCI_SET

stop

MCI_STOP

All MCI commands are described in the Win32 SDK. To find the definition of a command, use the Win32 SDK keyword index to search for the command message (for example, MCI_SYSINFO).