Responding to MCI_PAUSE, MCI_PLAY, MCI_RECORD, MCI_RESUME, and MCI_STOP Messages

The MCI_PLAY and MCI_RECORD messages start a device playing or recording. Without any flags, your driver should assume the current position as the start position and the end of the media as the stop position. The MCI_FROM and MCI_TO flags will override the default positions. The units assigned to these position values depend on the device and the options set with the MCI_SET command message.

The MCI_STOP command stops the playing or recording of a device. If MCI_STOP applies to your device driver, your device driver should also support the MCI_PAUSE command. If possible, MCI_PAUSE should only suspend operation and leave the device ready to resume playing or recording immediately.

Your device driver can include the MCI_RESUME command message to restart a paused device. This command does not change the stop position. An application can use MCI_PLAY or MCI_RECORD to resume operation from a stopped or paused state for the respective modes. These commands resume operation under the following conditions:

the MCI_FROM flag is absent or it specifies the current position

the MCI_TO flag specifies the position set previously

the play or recording direction does not change

Pausing and resuming a device does not change notification for the play and recording commands. These command messages do not prevent a device from obtaining the notification conditions—they only delay the command. Thus, a paused device can reach the notification conditions after it is resumed.