There are four types of MCI 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).