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 |