MCI Commands that Request Information

Four MCI commands allow applications to obtain information about a device. Three of these commands are sent to MCI drivers. They are:

1.MCI_GETDEVCAPS

2.MCI_INFO

3.MCI_STATUS

A fourth command, MCI_SYSINFO, is handled within winmm.dll. This command is not sent to MCI drivers.

The MCI_GETDEVCAPS, MCI_INFO, and MCI_STATUS commands are similar to each other in the following ways:

·The driver receives a flag in the lParam1 parameter of DriverProc, indicating the type of information being requested.

·The driver receives the address of a data structure in the lParam2 parameter of DriverProc. This structure contains either a location or a pointer that the driver uses for returning the requested information.

An application can only request, and the driver can only return, one type of information per call. The MCI_GETDEVCAPS and MCI_STATUS commands return information as integer values. The MCI_INFO command returns information as strings (such as pathnames).

The types of information provided vary with the device type. See the descriptions of MCI_GETDEVCAPS, MCI_INFO, and MCI_STATUS in the Win32 SDK for information on the flags that have been defined with each command, for each device type. Drivers that define extended command sets can define new flags appropriate to their devices. Drivers can also define additional commands for returning other types of information. For example, drivers for video device types support an MCI_WHERE command, which returns a RECT data type for describing a rectangle.