Devices with similar properties are grouped together in categories known as device types. All of the devices belonging to a particular type respond to a common set of MCI commands. Each set of commands is contained in a separate MCI command table.
The following table lists device types defined by Microsoft. The table includes both string names and constants. Constants are defined in mmsystem.h.
String | Constant |
animation | MCI_DEVTYPE_ANIMATION |
cdaudio | MCI_DEVTYPE_CD_AUDIO |
dat | MCI_DEVTYPE_DAT |
digitalvideo | MCI_DEVTYPE_DIGITAL_VIDEO |
overlay | MCI_DEVTYPE_OVERLAY |
scanner | MCI_DEVTYPE_SCANNER |
sequencer | MCI_DEVTYPE_SEQUENCER |
vcr | MCI_DEVTYPE_VCR |
videodisc | MCI_DEVTYPE_VIDEODISC |
waveaudio | MCI_DEVTYPE_WAVEFORM_AUDIO |
An MCI driver assigns a device to its appropriate type when it receives a DRV_OPEN message. (See Opening an MCI Driver.) This tells winmm.dll which command table to use. The driver uses the MCI_DEVTYPE_OTHER type for devices not belonging to any of the predefined types.
To find which MCI commands a driver must support for a particular device type, see the Win32 SDK. The Win32 SDK lists the command set associated with each device type. (Use the keyword index to search for a device type string, such as “videodisc”.)