Required Command Messages, Flags, and Data Structures

The required command messages use a LONG for the lParam1 parameter that contains any flags for the command message. They also use the lParam2 parameter for a pointer to a message-specific data structure. Your device driver might create extended commands by adding new flags and data structure fields to those already defined. When you extend a command message, your device driver must still support the required flags and fields.

The following table identifies the flags and data structures of the required MCI command messages. For a complete reference of MCI commands, see the reference at the end of this chapter.

MCI Command Command Flags Data Structure

DRV_CLOSE  
DRV_OPEN   MCI_OPEN_DRV_PARMS
MCI_CLOSE_DRIVER MCI_NOTIFY MCI_WAIT MCI_GENERIC_PARMS
MCI_GETDEVCAPS MCI_GETDEVCAPS_ITEM MCI_NOTIFY MCI_WAIT MCI_GETDEVCAPS_PARMS
MCI_INFO MCI_INFO_PRODUCT MCI_WAIT MCI_NOTIFY MCI_INFO_PARMS
MCI_OPEN_DRIVER MCI_OPEN_ALIAS MCI_OPEN_ELEMENT MCI_OPEN_ELEMENT_ID MCI_OPEN_SHAREABLE MCI_OPEN_TYPE MCI_OPEN_TYPE_ID MCI_NOTIFY MCI_WAIT MCI_OPEN_PARMS MCI_ANIM_OPEN_PARMS MCI_OVLY_OPEN_PARMS MCI_WAVE_OPEN_PARMS
MCI_STATUS MCI_STATUS_ITEM MCI_STATUS_START MCI_NOTIFY MCI_WAIT MCI_STATUS_PARMS