Required commands are recognized by all devices and have actions common to all media devices. The following table lists the required commands that must be supported by your MCD.

┌────────────────────┬────────────────────────────────────────┐
│Message             │Description                             │
├────────────────────┼────────────────────────────────────────┤
│MCI_CLOSE           │Closes the device.                      │
├────────────────────┼────────────────────────────────────────┤
│MCI_GETDEVCAPS      │Gets the capabilities of a device.      │
├────────────────────┼────────────────────────────────────────┤
│MCI_INFO            │Gets textual information from the       │
│                    │device.                                 │
├────────────────────┼────────────────────────────────────────┤
│MCI_OPEN            │Initializes an instance of the device.  │
├────────────────────┼────────────────────────────────────────┤
│MCI_STATUS          │Gets status information from the device.│
├────────────────────┼────────────────────────────────────────┤
│MCIDRV_SAVE         │Is sent from MDM to MCDs to save the    │
│                    │context.                                │
├────────────────────┼────────────────────────────────────────┤
│MCIDRV_RESTORE      │Is sent from MDM to MCDs to restore the │
│                    │state of an inactive device context.    │
└────────────────────┴────────────────────────────────────────┘

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

The following table identifies the flags and data structures of the required command messages. For a complete reference of media control interface commands, refer to the OS/2 Multimedia Programming Reference.

┌────────────────┬──────────────────────────┬──────────────────────────────┐
│Message         │Parameters (ulParam1)     │Data Structure (pParam2)      │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCI_CLOSE       │MCI_NOTIFY                │MCI_GENERIC_PARMS             │
│                │MCI_WAIT                  │                              │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCI_GETDEVCAPS  │MCI_NOTIFY                │MCI_GETDEVCAPS_PARMS          │
│                │MCI_WAIT                  │                              │
│                │MCI_STATUS                │                              │
│                │MCI_GETDEVCAPS_EXTENDED   │                              │
│                │MCI_GETDEVCAPS_MESSAGE    │                              │
│                │MCI_GETDEVCAPS_ITEM       │                              │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCI_INFO        │MCI_NOTIFY                │MCI_INFO_PARMS                │
│                │MCI_WAIT                  │                              │
│                │MCI_INFO_PRODUCT          │                              │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCI_OPEN        │MCI_WAIT                  │MMDRV_OPEN_PARMS              │
│                │MCI_OPEN_SHARABLE         │                              │
│                │MCI_OPEN_ELEMENT          │                              │
│                │MCI_OPEN_MMIO             │                              │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCI_STATUS      │MCI_NOTIFY                │MCI_STATUS_PARMS              │
│                │MCI_WAIT                  │                              │
│                │MCI_STATUS_CLIPBOARD      │                              │
│                │MCI_TRACK                 │                              │
│                │MCI_STATUS_ITEM           │                              │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCIDRV_RESTORE  │MCI_WAIT                  │MCI_GENERIC_PARMS             │
│                │MCI_SHAREABLE             │                              │
│                │MCI_EXCLUSIVE             │                              │
├────────────────┼──────────────────────────┼──────────────────────────────┤
│MCIDRV_SAVE     │MCI_WAIT                  │MCI_GENERIC_PARMS             │
└────────────────┴──────────────────────────┴──────────────────────────────┘


[Back] [Next]