MCI_STATUS command

Note

Bias-free Communication Microsoft supports a diverse and inclusionary environment. Within this document, there are references to the word 'slave.' Microsoft's Style Guide for Bias-Free Communications recognizes this as an exclusionary word. This wording is used as it is currently the wording used within the commands. For consistency, this document contains this word. When this word is altered in the commands, we will correct this document to be in alignment.

The MCI_STATUS command retrieves information about an MCI device. All devices recognize this command. Information is returned in the dwReturn member of the structure identified by the lpStatus parameter.

To send this command, call the mciSendCommand function with the following parameters.

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_STATUS, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_STATUS_PARMS) lpStatus
);

Parameters

wDeviceID

Device identifier of the MCI device that is to receive the command message.

dwFlags

MCI_NOTIFY, MCI_WAIT, or, for digital-video and VCR devices, MCI_TEST. For information about these flags, see The Wait, Notify, and Test Flags.

lpStatus

Pointer to an MCI_STATUS_PARMS structure. (Devices with extended command sets might replace this structure with a device-specific structure.)

Return Value

Returns zero if successful or an error otherwise.

Remarks

The following additional standard and command-specific flags apply to all devices supporting MCI_STATUS:

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_PAUSE
  • MCI_MODE_PLAY
  • MCI_MODE_STOP
  • MCI_MODE_OPEN
  • MCI_MODE_RECORD
  • 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; it is set to FALSE otherwise.

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.

The following additional flags are used with the cdaudio device type. These constants are used in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

MCI_CDA_STATUS_TYPE_TRACK

The dwReturn member is set to one of the following values:

  • MCI_CDA_TRACK_AUDIO
  • MCI_CDA_TRACK_OTHER

To use this flag, the MCI_TRACK flag must be set, and the dwTrack member of the structure identified by lpStatus must contain a valid track number.

MCI_STATUS_MEDIA_PRESENT

The dwReturn member is set to TRUE if the media is inserted in the device; it is set to FALSE otherwise.

The following additional flags are used with the digitalvideo device type:

MCI_DGV_STATUS_DISKSPACE

The lpstrDrive member of the structure identified by lpStatus specifies a disk drive or, in some implementations, a path. The MCI_STATUS command returns the approximate amount of disk space that could be obtained by the MCI_RESERVE command in the dwReturn member of the structure identified by lpStatus. The disk space is measured in units of the current time format.

MCI_DGV_STATUS_INPUT

The constant specified by the dwItem member of the structure identified by lpStatus applies to the input.

MCI_DGV_STATUS_LEFT

The constant specified by the dwItem member of the structure identified by lpStatus applies to the left audio channel.

MCI_DGV_STATUS_NOMINAL

The constant specified by the dwItem member of the structure identified by lpStatus requests the nominal value rather than the current value.

MCI_DGV_STATUS_OUTPUT

The constant specified by the dwItem member of the structure identified by lpStatus applies to the output.

MCI_DGV_STATUS_RECORD

The frame rate returned for the MCI_DGV_STATUS_FRAME_RATE flag is the rate used for compression.

MCI_DGV_STATUS_REFERENCE

The dwReturn member of the structure identified by lpStatus returns the nearest key-frame image that precedes the frame specified in the dwReference member.

MCI_DGV_STATUS_RIGHT

The constant specified by the dwItem member of the structure identified by lpStatus applies to the right audio channel.

The following constants are used with the digitalvideo device type in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

MCI_AVI_STATUS_AUDIO_BREAKS

The dwReturn member returns the number of times the audio portion of the last AVI sequence broke up. The system counts an audio break whenever it attempts to write audio data to the device driver and discovers that the driver has already played all of the available data. This flag is recognized only by the MCIAVI digital-video driver.

MCI_AVI_STATUS_FRAMES_SKIPPED

The dwReturn member returns the number of frames that were not drawn when the last AVI sequence was played. This flag is recognized only by the MCIAVI digital-video driver.

MCI_AVI_STATUS_LAST_PLAY_SPEED

The dwReturn member returns a value representing how closely the actual playing time of the last AVI sequence matched the target playing time. The value 1000 indicates that the target time and the actual time were the same. A value of 2000, for example, would indicate that the AVI sequence took twice as long to play as it should have. This flag is recognized only by the MCIAVI digital-video driver.

MCI_DGV_STATUS_AUDIO

The dwReturn member returns MCI_ON or MCI_OFF depending on the most recent MCI_SET_AUDIO option for the MCI_SET command. It returns MCI_ON if either or both speakers are enabled, and MCI_OFF otherwise.

MCI_DGV_STATUS_AUDIO_INPUT

The dwReturn member returns the approximate instantaneous audio level of the analog audio signal. A value greater than 1000 implies there is clipping distortion. Some devices can determine this value only while recording audio. This status value has no associated MCI_SET or MCI_SETAUDIO command. This value is related to, but normalized differently from, the waveform-audio command MCI_WAVE_STATUS_LEVEL.

MCI_DGV_STATUS_AUDIO_RECORD

The dwReturn member returns MCI_ON or MCI_OFF reflecting the state set by the MCI_DGV_SETAUDIO_RECORD flag of the MCI_SETAUDIO command.

MCI_DGV_STATUS_AUDIO_SOURCE

The dwReturn member returns the current audio digitizer source:

MCI_DGV_SETAUDIO_AVERAGE

Specifies the average of the left and right audio channels.

MCI_DGV_SETAUDIO_LEFT

Specifies the left audio channel.

MCI_DGV_SETAUDIO_RIGHT

Specifies the right audio channel.

MCI_DGV_SETAUDIO_STEREO

Specifies stereo.

MCI_DGV_STATUS_AUDIO_STREAM

The dwReturn member returns the current audio-stream number.

MCI_DGV_STATUS_AVGBYTESPERSEC

The dwReturn member returns the average number of bytes per second used for recording.

MCI_DGV_STATUS_BASS

The dwReturn member returns the current audio bass level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_BITSPERPEL

The dwReturn member returns the number of bits per pixel used for saving captured or recorded data.

MCI_DGV_STATUS_BITSPERSAMPLE

The dwReturn member returns the number of bits per sample the device uses for recording. This applies only to devices supporting the PCM format.

MCI_DGV_STATUS_BLOCKALIGN

The dwReturn member returns the alignment of data blocks relative to the start of the input waveform.

MCI_DGV_STATUS_BRIGHTNESS

The dwReturn member returns the current video brightness level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_COLOR

The dwReturn member returns the current color level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_CONTRAST

The dwReturn member returns the current contrast level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_FILEFORMAT

The dwReturn member returns the current file format for recording or saving.

MCI_DGV_STATUS_FILE_MODE

The dwReturn member returns the state of the file operation:

MCI_DGV_FILE_MODE_EDITING

Returned during cut, copy, delete, paste, and undo operations.

MCI_DGV_FILE_MODE_IDLE

Returned when the file is ready for the next operation.

MCI_DGV_FILE_MODE_LOADING

Returned while the file is being loaded.

MCI_DGV_FILE_MODE_SAVING

Returned while the file is being saved.

MCI_DGV_STATUS_FILE_COMPLETION

The dwReturn member returns the estimated percentage a load, save, capture, cut, copy, delete, paste, or undo operation has progressed. (Applications can use this to provide a visual indicator of progress.) This flag is not supported by all digital-video devices.

MCI_DGV_STATUS_FORWARD

The dwReturn member returns TRUE if the device direction is forward or the device is not playing.

MCI_DGV_STATUS_FRAME_RATE

The dwReturn member must be used with MCI_DGV_STATUS_NOMINAL, MCI_DGV_STATUS_RECORD, or both. When used with MCI_DGV_STATUS_RECORD, the current frame rate used for recording is returned. When used with both MCI_DGV_STATUS_RECORD and MCI_DGV_STATUS_NOMINAL, the nominal frame rate associated with the input video signal is returned. When used with MCI_DGV_STATUS_NOMINAL, the nominal frame rate associated with the file is returned. In all cases the units are in frames per second multiplied by 1000.

MCI_DGV_STATUS_GAMMA

The dwReturn member returns the current gamma value. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_HPAL

The dwReturn member returns the ASCII decimal value for the current palette handle. The handle is contained in the low-order word of the returned value.

MCI_DGV_STATUS_HWND

The dwReturn member returns the ASCII decimal value for the current explicit or default window handle associated with this device driver instance. The handle is contained in the low-order word of the returned value.

MCI_DGV_STATUS_KEY_COLOR

The dwReturn member returns the current key-color value.

MCI_DGV_STATUS_KEY_INDEX

The dwReturn member returns the current key-index value.

MCI_DGV_STATUS_MONITOR

The dwReturn member returns a constant indicating the source of the current presentation. The following constants are defined:

MCI_DGV_MONITOR_FILE

A file is the source.

MCI_DGV_MONITOR_INPUT

The input is the source.

MCI_DGV_STATUS_MONITOR_METHOD

The dwReturn member returns a constant indicating the method used for input monitoring. The following constants are defined:

MCI_DGV_METHOD_DIRECT

Direct input monitoring.

MCI_DGV_METHOD_POST

Post-input monitoring.

MCI_DGV_METHOD_PRE

Pre-input monitoring.

MCI_DGV_STATUS_PAUSE_MODE

The dwReturn member returns MCI_MODE_PLAY if the device was paused while playing and returns MCI_MODE_RECORD if the device was paused while recording. The command returns MCIERR_NONAPPLICABLE_FUNCTION as an error return if the device is not paused.

MCI_DGV_STATUS_SAMPLESPERSECOND

The dwReturn member returns the number of samples per second recorded.

MCI_DGV_STATUS_SEEK_EXACTLY

The dwReturn member returns TRUE or FALSE indicating whether or not the seek exactly format is set. (Applications can set this format by using the MCI_SET command with the MCI_DGV_SET_SEEK_EXACTLY flag.)

MCI_DGV_STATUS_SHARPNESS

The dwReturn member returns the current sharpness level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_SIZE

The dwReturn member returns the approximate playback duration of compressed data that the reserved workspace will hold. The duration units are in the current time format. It returns zero if there is no reserved disk space. The size returned is approximate since the precise disk space for compressed data cannot, in general, be predicted until after the data has been compressed.

MCI_DGV_STATUS_SMPTE

The dwReturn member returns the SMPTE time code associated with the current position in the workspace.

MCI_DGV_STATUS_SPEED

The dwReturn member returns the current playback speed.

MCI_DGV_STATUS_STILL_FILEFORMAT

The dwReturn member returns the current file format for the MCI_CAPTURE command.

MCI_DGV_STATUS_TINT

The dwReturn member returns the current video tint level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_TREBLE

The dwReturn member returns the current audio treble level. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_UNSAVED

The dwReturn member returns TRUE if there is recorded data in the workspace that might be lost as a result of a MCI_CLOSE, MCI_LOAD, MCI_RECORD, MCI_RESERVE, MCI_CUT, MCI_DELETE, or MCI_PASTE command. The member returns FALSE otherwise.

MCI_DGV_STATUS_VIDEO

The dwReturn member returns MCI_ON if video is enabled or MCI_OFF if it is disabled.

MCI_DGV_STATUS_VIDEO_RECORD

The dwReturn member returns MCI_ON or MCI_OFF, reflecting the state set by the MCI_DGV_SETVIDEO_RECORD flag of the MCI_SETVIDEO command.

MCI_DGV_STATUS_VIDEO_SOURCE

The dwReturn member returns a constant indicating the type of video source set by the MCI_DGV_SETVIDEO_SOURCE flag of the MCI_SETVIDEO command.

MCI_DGV_STATUS_VIDEO_SRC_NUM

The dwReturn member returns the number within its type of the video-input source currently active.

MCI_DGV_STATUS_VIDEO_STREAM

The dwReturn member returns the current video-stream number.

MCI_DGV_STATUS_VOLUME

The dwReturn member returns the average of the volume to the left and right speakers. Use MCI_DGV_STATUS_NOMINAL with this flag to obtain the nominal level.

MCI_DGV_STATUS_WINDOW_VISIBLE

The dwReturn member returns TRUE if the window is not hidden.

MCI_DGV_STATUS_WINDOW_MINIMIZED

The dwReturn member returns TRUE if the window is minimized.

MCI_DGV_STATUS_WINDOW_MAXIMIZED

The dwReturn member returns TRUE if the window is maximized.

MCI_STATUS_MEDIA_PRESENT

The dwReturn member returns TRUE.

For digital-video devices, the lpStatus parameter points to an MCI_DGV_STATUS_PARMS structure.

The following additional flags are used with the sequencer device type. These constants are used in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

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 identifier for the current port used by the sequence.

MCI_SEQ_STATUS_SLAVE

The dwReturn member is set to the synchronization type used for subordinate 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 is inserted in the device; it is set to FALSE otherwise.

The following additional flags are used with the vcr device type. These constants are used in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

MCI_STATUS_MEDIA_PRESENT

The dwReturn member is set to TRUE if the media is inserted in the device; it is set to FALSE otherwise.

MCI_VCR_STATUS_ASSEMBLE_RECORD

The dwReturn member is set to TRUE if assemble mode is on; it is set to FALSE otherwise.

MCI_VCR_STATUS_AUDIO_MONITOR

The dwReturn member is set to a constant, indicating the currently selected audio-monitor type.

MCI_VCR_STATUS_AUDIO_MONITOR_NUMBER

The dwReturn member is set to the number of the currently selected audio-monitor type.

MCI_VCR_STATUS_AUDIO_RECORD

The dwReturn member is set to TRUE if audio will be recorded when the next record command is given; it is set to FALSE otherwise. If you specify MCI_TRACK in the dwFlags parameter of this command, dwTrack contains the track this inquiry applies to.

MCI_VCR_STATUS_AUDIO_SOURCE

The dwReturn member is set to a constant, indicating the current audio-source type.

MCI_VCR_STATUS_AUDIO_SOURCE_NUMBER

The dwReturn member is set to the number of the currently selected audio-source type.

MCI_VCR_STATUS_CLOCK

The dwReturn member is set to the current clock value, in total clock increments.

MCI_VCR_STATUS_CLOCK_ID

The dwReturn member is set to a number which uniquely describes the clock in use.

MCI_VCR_STATUS_COUNTER_FORMAT

The dwReturn member is set to a constant describing the current counter format. For more information, see the MCI_SET_TIME_FORMAT flag of the MCI_SET command.

MCI_VCR_STATUS_COUNTER_RESOLUTION

The dwReturn member is set to a constant describing the resolution of the counter, and is one of the following values:

  • MCI_VCR_COUNTER_RES_FRAMES: Counter has resolution of frames.
  • MCI_VCR_COUNTER_RES_SECONDS: Counter has resolution of seconds.
  • MCI_VCR_STATUS_COUNTER_VALUE: The dwReturn member is set to the current counter reading, in the current counter-time format.

MCI_VCR_STATUS_FRAME_RATE

The dwReturn member is set to the current native frame rate of the device.

MCI_VCR_STATUS_INDEX

The dwReturn member is set to a constant, describing the current contents of the on-screen display, and is one of the following:

  • MCI_VCR_INDEX_COUNTER
  • MCI_VCR_INDEX_DATE
  • MCI_VCR_INDEX_TIME
  • MCI_VCR_INDEX_TIMECODE

MCI_VCR_STATUS_INDEX_ON

The dwReturn member is set to TRUE if the on-screen display is on; it is set to FALSE otherwise.

MCI_VCR_STATUS_MEDIA_TYPE

The dwReturn member is set to one of the following:

  • MCI_VCR_MEDIA_8MM
  • MCI_VCR_MEDIA_HI8
  • MCI_VCR_MEDIA_VHS
  • MCI_VCR_MEDIA_SVHS
  • MCI_VCR_MEDIA_BETA
  • MCI_VCR_MEDIA_EDBETA
  • MCI_VCR_MEDIA_OTHER

MCI_VCR_STATUS_NUMBER

The dwNumber member is set to the logical-tuner number when you use this flag with the MCI_VCR_STATUS_TUNER_CHANNEL flag.

MCI_VCR_STATUS_NUMBER_OF_AUDIO_TRACKS

The dwReturn member is set to the number of audio tracks that are independently selectable.

MCI_VCR_STATUS_NUMBER_OF_VIDEO_TRACKS

The dwReturn member is set to the number of video tracks that are independently selectable.

MCI_VCR_STATUS_PAUSE_TIMEOUT

The dwReturn member is set to the maximum duration, in milliseconds, of a pause command. The return value of zero indicates that no time-out will occur.

MCI_VCR_STATUS_PLAY_FORMAT

The dwReturn member is set to one of the following:

  • MCI_VCR_FORMAT_EP
  • MCI_VCR_FORMAT_LP
  • MCI_VCR_FORMAT_OTHER
  • MCI_VCR_FORMAT_SP

MCI_VCR_STATUS_POSTROLL_DURATION

The dwReturn member is set to the length of the videotape that will play after the spot at which it was stopped, in the current time format. This is needed to brake the VCR tape transport from a stop or pause command.

MCI_VCR_STATUS_POWER_ON

The dwReturn member is set to TRUE if the power is on; it is set to FALSE otherwise.

MCI_VCR_STATUS_PREROLL_DURATION

The dwReturn member is set to the length of the videotape that will play before the spot at which it was started, in the current time format. This is needed to stabilize the VCR output.

MCI_VCR_STATUS_RECORD_FORMAT

The dwReturn member is set to one of the following:

  • MCI_VCR_FORMAT_EP
  • MCI_VCR_FORMAT_LP
  • MCI_VCR_FORMAT_OTHER
  • MCI_VCR_FORMAT_SP

MCI_VCR_STATUS_SPEED

The dwReturn member is set to the current speed. For more information, see the MCI_VCR_SET_SPEED flag of the MCI_SET command.

MCI_VCR_STATUS_TIME_MODE

The dwReturn member is set to one of the following:

  • MCI_VCR_TIME_COUNTER
  • MCI_VCR_TIME_DETECT
  • MCI_VCR_TIME_TIMECODE

For more information, see the MCI_VCR_SET_TIME_MODE flag of the MCI_SET command.

MCI_VCR_STATUS_TIME_TYPE

The dwReturn member is set to a constant describing the current time type in use (used by play, record, seek, and so on), and is one of the following:

MCI_VCR_TIME_COUNTER

Counter is in use.

MCI_VCR_TIME_TIMECODE

Timecode is in use.

MCI_VCR_STATUS_TIMECODE_PRESENT

The dwReturn member is set to TRUE if timecode is present at the current position in the content; it is set to FALSE otherwise.

MCI_VCR_STATUS_TIMECODE_RECORD

The dwReturn member is set to TRUE if the timecode will be recorded when the next record command is given; it is set to FALSE otherwise.

MCI_VCR_STATUS_TIMECODE_TYPE

The dwReturn member is set to a constant, describing the type of timecode that is directly supported by the device, and is one of the following:

  • MCI_VCR_TIMECODE_TYPE_NONE: This device does not use a timecode.
  • MCI_VCR_TIMECODE_TYPE_OTHER: This device uses an unspecified timecode.
  • MCI_VCR_TIMECODE_TYPE_SMPTE: This device uses SMPTE timecode.
  • MCI_VCR_TIMECODE_TYPE_SMPTE_DROP: This device uses SMPTE drop timecode.

MCI_VCR_STATUS_TUNER_CHANNEL

The dwReturn member is set to the current channel number. If you specify MCI_VCR_STATUS_NUMBER in the dwFlags parameter of this command, dwNumber contains the logical-tuner number this command applies to.

MCI_VCR_STATUS_VIDEO_MONITOR

The dwReturn member is set to a constant, indicating the currently selected video-monitor type.

MCI_VCR_STATUS_VIDEO_MONITOR_NUMBER

The dwReturn member is set to the number of the currently selected video-monitor type.

MCI_VCR_STATUS_VIDEO_RECORD

The dwReturn member is set to TRUE if video will be recorded when the next record command is given; it is set to FALSE otherwise. If you specify MCI_TRACK in the dwFlags parameter of this command, dwTrack contains the track this inquiry applies to.

MCI_VCR_STATUS_VIDEO_SOURCE

The dwReturn member is set to a constant indicating the currently selected video-source type.

MCI_VCR_STATUS_VIDEO_SOURCE_NUMBER

The dwReturn member is set to the number of the currently selected video-source type.

MCI_VCR_STATUS_WRITE_PROTECTED

The dwReturn member is set to TRUE if the media is write-protected; it is set to FALSE otherwise.

For VCR devices, the lpStatus parameter points to an MCI_VCR_STATUS_PARMS structure.

Using the MCI_STATUS_LENGTH flag to determine the length of the media always returns 2 hours for VCR devices, unless the length has been explicitly changed using the MCI_SET command.

The following additional flags are used with the overlay device type. These constants are used in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

MCI_OVLY_STATUS_HWND

The dwReturn member is set to the handle of the window associated with the video-overlay device.

MCI_OVLY_STATUS_STRETCH

The dwReturn member is set to TRUE if stretching is enabled; it is set to FALSE otherwise.

MCI_STATUS_MEDIA_PRESENT

The dwReturn member is set to TRUE if the media is inserted in the device; it is set to FALSE otherwise.

The following additional flags are used with the videodisc device type. These constants are used in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

MCI_STATUS_MEDIA_PRESENT

The dwReturn member is set to TRUE if the media is inserted in the device; it is set to FALSE otherwise.

MCI_STATUS_MODE

The dwReturn member is set to the current mode of the device. Videodisc devices can return the MCI_VD_MODE_PARK constant, in addition to the constants any device can return, as documented with the dwFlags parameter.

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; it is set to FALSE otherwise.

The MCI videodisc device does not support this flag.

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_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. The MCIPIONR.DRV device driver returns MCIERR_UNSUPPORTED_FUNCTION.

The following additional flags are used with the waveaudio device type. These constants are used in the dwItem member of the structure pointed to by the lpStatus parameter when MCI_STATUS_ITEM is specified for the dwFlags parameter.

MCI_WAVE_FORMATTAG

The dwReturn member is set to the current format tag used for playing, recording, and saving.

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 MCIERR_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 MCIERR_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 PCM formatted data.

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_STATUS_LEVEL

The dwReturn member is set to the current record or playback level of PCM formatted data. 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.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Mmsystem.h (include Windows.h)

See also

MCI

MCI Commands

MCI_CUT

MCI_DELETE

MCI_PASTE

MCI_RESERVE

MCI_SET

play

record

seek