Used to obtain information about an MCI device. All devices respond to this message. The parameters and flags available for this message depend on the selected device. Information is returned in the dwReturn member of the structure identified by lpStatus.
DWORD lParam1
The following standard and command-specific flags apply to all devices:
MCI_NOTIFY | Specifies that MCI should post the MM_MCINOTIFY message when this command completes. The window to receive this message is specified in the dwCallback member of the structure identified by lpStatus. |
MCI_WAIT | Specifies that the status operation should finish before MCI returns control to the application. |
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lpStatus contains a constant specifying which status item to obtain. The following constants define which status item to return in the dwReturn member of the structure: |
MCI_STATUS_CURRENT_TRACK | The dwReturn member is set to the current track number. MCI uses continuous track numbers. |
MCI_STATUS_LENGTH | The dwReturn member is set to the total media length. |
MCI_STATUS_MODE | The dwReturn member is set to the current mode of the device. The modes include the following: |
MCI_MODE_NOT_READY | |
MCI_MODE_OPEN | |
MCI_MODE_PAUSE | |
MCI_MODE_PLAY | |
MCI_MODE_RECORD | |
MCI_MODE_STOP | |
MCI_MODE_SEEK |
MCI_STATUS_NUMBER_OF_TRACKS | The dwReturn member is set to the total number of playable tracks. |
MCI_STATUS_POSITION | The dwReturn member is set to the current position. |
MCI_STATUS_READY | The dwReturn member is set to TRUE if the device is ready; otherwise, it is set to FALSE. |
MCI_STATUS_TIME_FORMAT | The dwReturn member is set to the current time format of the device. The time formats include: |
MCI_FORMAT_BYTES | |
MCI_FORMAT_FRAMES | |
MCI_FORMAT_HMS | |
MCI_FORMAT_MILLISECONDS | |
MCI_FORMAT_MSF | |
MCI_FORMAT_SAMPLES | |
MCI_FORMAT_TMSF |
MCI_STATUS_START | Obtains the starting position of the media. To get the starting position, combine this flag with MCI_STATUS_ITEM and set the dwItem member of the structure identified by lpStatus to MCI_STATUS_POSITION. |
MCI_TRACK | Indicates a status track parameter is included in the dwTrack member of the structure identified by lpStatus. You must use this flag with the MCI_STATUS_POSITION or MCI_STATUS_LENGTH constants. When used with MCI_STATUS_POSITION, MCI_TRACK obtains the starting position of the specified track. When used with MCI_STATUS_LENGTH, MCI_TRACK obtains the length of the specified track. MCI uses continuous track numbers. |
LPMCI_STATUS_PARMS lParam2
Specifies a far pointer to the MCI_STATUS_PARMS structure. (Devices with extended command sets might replace this structure with a device-specific structure.)
Animation Extensions
The following extensions for lParam1 apply to animation devices:
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lParam2 contains a constant specifying which status item to obtain. The following additional status constants are defined for animation devices and indicate which item to return in the dwReturn member of the structure: |
MCI_ANIM_STATUS_FORWARD | The dwReturn member is set to TRUE if playing forward; otherwise, it is set to FALSE. |
MCI_ANIM_STATUS_HPAL | The dwReturn member is set to the handle of the movie palette. |
MCI_ANIM_STATUS_HWND | The dwReturn member is set to the handle of the playback window. |
MCI_ANIM_STATUS_SPEED | The dwReturn member is set to the animation speed, in frames per second. |
MCI_STATUS_MEDIA_PRESENT | The dwReturn member is set to TRUE if the media is inserted in the device; otherwise, it is set to FALSE. |
Note that lParam2 specifies a far pointer to the MCI_STATUS_PARMS structure.
CD Audio Extensions
The following extensions for lParam1 applies to CD audio devices:
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lParam2 contains a constant specifying which status item to obtain. The following additional status constants are defined for CD audio devices and indicate which item to return in the dwReturn member of the structure: |
MCI_STATUS_MEDIA_PRESENT | The dwReturn member is set to TRUE if the media is inserted in the device; otherwise, it is set to FALSE. |
Note that lParam2 specifies a far pointer to the MCI_STATUS_PARMS structure. This parameter replaces the standard default parameter structure.
MIDI Sequencer Extensions
The following extensions for lParam1 apply to sequencers:
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lParam2 contains a constant specifying which status item to obtain. The following additional status constants are defined for sequencers and indicate which item to return in the dwReturn member of the structure: |
MCI_SEQ_STATUS_DIVTYPE | The dwReturn member is set to one of the following values indicating the current division type of a sequence: MCI_SEQ_DIV_PPQN |
MCI_SEQ_DIV_SMPTE_24 | |
MCI_SEQ_DIV_SMPTE_25 | |
MCI_SEQ_DIV_SMPTE_30 | |
MCI_SEQ_DIV_SMPTE_30DROP | |
MCI_SEQ_STATUS_MASTER | The dwReturn member is set to the synchronization type used for master operation. |
MCI_SEQ_STATUS_OFFSET | The dwReturn member is set to the current SMPTE offset of a sequence. |
MCI_SEQ_STATUS_PORT | The dwReturn member is set to the MIDI device ID for the current port used by the sequence. |
MCI_SEQ_STATUS_SLAVE | The dwReturn member is set to the synchronization type used for slave operation. |
MCI_SEQ_STATUS_TEMPO | The dwReturn member is set to the current tempo of a MIDI sequence in beats-per-minute for PPQN files, or frames-per-second for SMPTE files. |
MCI_STATUS_MEDIA_PRESENT | The dwReturn member is set to TRUE if the media for the device is present; otherwise, it is set to FALSE. |
Note that lParam2 specifies a far pointer to the MCI_STATUS_PARMS structure. This parameter replaces the standard default parameter structure.
Videodisc Extensions
The following additional flags for lParam1 apply to videodisc devices:
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lParam2 contains a constant specifying which status item to obtain. The following additional status constants are defined for videodisc devices and indicate which item to return in the dwReturn member of the structure: |
MCI_STATUS_MEDIA_PRESENT | The dwReturn member is set to TRUE if the media is inserted in the device; otherwise, it is set to FALSE. |
MCI_VD_STATUS_DISC_SIZE | The dwReturn member is set to the size of the loaded disc in inches (8 or 12). |
MCI_VD_STATUS_FORWARD | The dwReturn member is set to TRUE if playing forward; otherwise, it is set to FALSE. |
MCI_VD_STATUS_MEDIA_TYPE | The dwReturn member is set to the media type of the inserted media. The following media types can be returned: MCI_VD_MEDIA_CAV |
MCI_VD_MEDIA_CLV | |
MCI_VD_MEDIA_OTHER | |
MCI_STATUS_MODE | The dwReturn member is set to the current mode of the device. All devices can return the following constants to indicate the current mode: MCI_MODE_NOT_READY |
MCI_MODE_PAUSE | |
MCI_MODE_PLAY | |
MCI_MODE_STOP | |
MCI_VD_MODE_PARK | |
The dwReturn member is set to park if the disc is parked. Not all videodisc devices support this flag. | |
MCI_VD_STATUS_SIDE | The dwReturn member is set to 1 or 2 to indicate which side of the disc is loaded. Not all videodisc devices support this flag. |
MCI_VD_STATUS_SPEED | The dwReturn member is set to the play speed in frames per second. |
Note that lParam2 specifies a far pointer to the MCI_STATUS_PARMS structure. This parameter replaces the standard default parameter structure.
Waveform Audio Extensions
The following additional flags for lParam1 apply to waveform audio devices:
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lParam2 contains a constant specifying which status item to obtain. The following additional status constants are defined for waveform audio devices and indicate which item to return in the dwReturn member of the structure: |
MCI_STATUS_MEDIA_PRESENT | The dwReturn member is set to TRUE if the media is inserted in the device; otherwise, it is set to FALSE. |
MCI_WAVE_INPUT | The dwReturn member is set to the wave input device used for recording. If no device is in use and no device has been explicitly set, then the error return is MCI_WAVE_INPUTUNSPECIFIED. |
MCI_WAVE_OUTPUT | The dwReturn member is set to the wave output device used for playing. If no device is in use and no device has been explicitly set, then the error return is MCI_WAVE_OUTPUTUNSPECIFIED. |
MCI_WAVE_STATUS_AVGBYTESPERSEC | The dwReturn member is set to the current bytes per second used for playing, recording, and saving. |
MCI_WAVE_STATUS_BITSPERSAMPLE | The dwReturn member is set to the current bits per sample used for playing, recording, and saving. |
MCI_WAVE_STATUS_BLOCKALIGN | The dwReturn member is set to the current block alignment used for playing, recording, and saving. |
MCI_WAVE_STATUS_CHANNELS | The dwReturn member is set to the current channel count used for playing, recording, and saving. |
MCI_WAVE_FORMATTAG | The dwReturn member is set to the current format tag used for playing, recording, and saving. |
MCI_WAVE_STATUS_LEVEL | The dwReturn member is set to the current record or playback level. The value is returned as an 8- or 16-bit value, depending on the sample size used. The right or mono channel level is returned in the low-order word. The left channel level is returned in the high-order word. |
MCI_WAVE_STATUS_SAMPLESPERSEC | The dwReturn member is set to the current samples per second used for playing, recording, and saving. |
Note that lParam2 specifies a far pointer to the MCI_STATUS_PARMS structure.
Video Overlay Extensions
The following additional flags for lParam1 apply to video overlay devices:
MCI_OVLY_STATUS_HWND | The dwReturn member is set to the handle of the window associated with the video overlay device. |
MCI_STATUS_ITEM | Specifies that the dwItem member of the structure identified by lParam2 contains a constant specifying which status item to obtain. The following additional status constants are defined for video overlay devices and indicate which item to return in the dwReturn member of the structure: |
MCI_STATUS_MEDIA_PRESENT | The dwReturn member is set to TRUE if the media is inserted in the device; otherwise, it is set to FALSE. |
Note that lParam2 specifies a far pointer to the MCI_STATUS_PARMS structure.