Responding to the MCI_GETDEVCAPS Message

Applications use the MCI_GETDEVCAPS message to determine the capabilities of a device and its device driver. An application will supply a pointer to a MCI_GETDEVCAPS_PARMS structure. Your device driver should fill out the members of this structure as follows.

Use the dwReturn member to return the information indicated by the constant in dwItem. The MCI_GETDEVCAPS_ITEM flag sent by the application validates the dwItem member of this structure. The contents of dwItem specify the type of information requested. The following constants are always defined for MCI_GETDEVCAPS:

MCI Constant Description
MCI_GETDEVCAPS_CAN_RECORD Return TRUE if device has recording capabilities. This implies the driver also has stop and pause capabilities.
MCI_GETDEVCAPS_HAS_AUDIO Return TRUE if the device has audio capabilities.
MCI_GETDEVCAPS_HAS_VIDEO Return TRUE if the device has video capabilities.
MCI_GETDEVCAPS_USES_FILES Return TRUE if the device driver uses files. This implies the driver is also a compound device.
MCI_GETDEVCAPS_COMPOUND_DEVICE Return TRUE if the device driver uses device elements.
MCI_GETDEVCAPS_DEVICE_TYPE Return the device driver type.
MCI_GETDEVCAPS_CAN_EJECT Return TRUE if the device can eject the media.
MCI_GETDEVCAPS_CAN_PLAY Return TRUE if the device has playback capabilities. This implies the driver also has stop and pause capabilities.
MCI_GETDEVCAPS_CAN_SAVE Return TRUE if the device driver can save data.