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).