The ulItem field of the data structure identified
by pParam2 contains a constant specifying the device capabilities
to be queried.
The following list of items can be used regardless of the type of device:
MCI_GETDEVCAPS_CAN_EJECT
Returns MCI_TRUE if the
device can eject its media; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_CAN_LOCKEJECT
Returns MCI_TRUE if the device can disable the
manual ejection of its media; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_CAN_PLAY
Returns MCI_TRUE if the device can play its media;
otherwise, it returns MCI_FALSE. If the device returns MCI_TRUE, the device
supports MCI_PLAY, MCI_PAUSE,
MCI_RESUME, and MCI_STOP.
MCI_GETDEVCAPS_CAN_PROCESS_INTERNAL
Returns
MCI_TRUE if the device can internally process digital data such as a CD
Digital Audio drive with a built-in digital-to-analog converter (DAC); otherwise,
it returns MCI_FALSE.
MCI_GETDEVCAPS_CAN_RECORD
Returns MCI_TRUE if the device can record its media;
otherwise, it returns MCI_FALSE. If MCI_TRUE is returned, the device supports
MCI_RECORD.
MCI_GETDEVCAPS_CAN_RECORD_INSERT
Returns MCI_TRUE if the device supports insertion
of data while recording; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_CAN_SAVE
Returns MCI_TRUE if the device can save files;
otherwise, it returns MCI_FALSE. If a device returns TRUE, the MCI_SAVE
command must be issued to save changes in the media file.
MCI_GETDEVCAPS_CAN_SETVOLUME
Returns MCI_TRUE if the device can change the audio
volume level; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_CAN_STREAM
Returns MCI_TRUE if the device can stream digital
data continuously to or from memory; otherwise, it returns MCI_FALSE. The
source or destination of the data transfer is determined by the device instance
connection.
MCI_GETDEVCAPS_DEVICE_TYPE
Returns
the constant defined for this particular device type.
MCI_GETDEVCAPS_HAS_AUDIO
Returns MCI_TRUE if the device is capable of playing
audio; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_HAS_IMAGE
Returns MCI_TRUE if the device supports a still
image in its device instance; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_HAS_VIDEO
Returns MCI_TRUE if the device is capable of playing
video; otherwise, it returns MCI_FALSE.
MCI_GETDEVCAPS_PREROLL_TIME
Returns a deterministic or maximum notified preroll
time in MMTIME units (regardless of the currently set time base for the
device). A value of 0 for the maximum notified preroll time indicates that
an upper boundary to the preroll time is not known.
MCI_GETDEVCAPS_PREROLL_TYPE
Returns MCI_PREROLL_NONE.
MCI_GETDEVCAPS_USES_FILES
Returns MCI_TRUE if the device requires a file
name or playlist pointer; otherwise, it returns MCI_FALSE.
Amplifier
Mixer Extensions
If the MCI_GETDEVCAPS_EXTENDED flag is specified, the following flags can
be placed in the ulAttribute field of MCI_AMP_GETDEVCAPS_PARMS.
The ulExtended field of the MCI_AMP_GETDEVCAPS_PARMS
structure must contain MCI_MIXER_LINE if the MCI_GETDEVCAPS_EXTENDED
flag is specified.
MCI_AMP_CAN_SET_TREBLE
This flag allows an application
to determine whether treble settings are supported.
MCI_AMP_CAN_SET_MID
This flag allows an application to determine whether
mid settings are supported.
MCI_AMP_CAN_SET_BASS
This flag allows an application to determine whether
bass settings are supported.
MCI_AMP_CAN_SET_BALANCE
This flag allows an application to determine whether
balance settings are supported.
MCI_AMP_CAN_SET_GAIN
This flag allows an application to determine whether
gain settings are supported.
MCI_AMP_CAN_SET_VOLUME
This flag allows an application to determine whether
volume settings are supported.
MCI_AMP_CAN_SET_MONITOR
This flag allows an application to determine whether
monitor settings are supported.
MCI_AMP_CAN_SET_PITCH
This flag allows an application to determine whether
pitch settings are supported.
MCI_AMP_CAN_SET_LOUDNESS
This flag allows an application to determine whether
loudness settings are supported.
MCI_AMP_CAN_SET_CROSSOVER
This flag allows an application to determine whether
crossover settings are supported.
MCI_AMP_CAN_SET_REVERB
This flag allows an application to determine whether
reverb settings are supported.
MCI_AMP_CAN_SET_ALC
This flag allows an application to determine whether
auto-level controls are supported.
MCI_AMP_CAN_SET_CHORUS
This flag allows an application to determine whether
chorus controls are supported.
MCI_AMP_CAN_SET_CUSTOM1
This flag allows an application to determine whether
a custom effect is supported.
MCI_AMP_CAN_SET_CUSTOM2
This flag allows an application to determine whether
a custom effect is supported.
MCI_AMP_CAN_SET_CUSTOM3
This flag allows an application to determine whether
a custom effect is supported.
MCI_AMP_CAN_SET_MUTE
This flag allows an application to determine whether
mute settings are supported.
MCI_AMP_CAN_SET_STEREOENHANCE
This flag allows an application to determine whether
stereo enhance settings are supported.
Digital Video
Extensions
The following additional items apply to digital video devices:
MCI_DGV_GETDEVCAPS_CAN_DISTORT
Returns MCI_TRUE
if the device can distort the image independently in horizontal and vertical
dimensions; otherwise, it returns MCI_FALSE. Returns MCI_FALSE for most
frame-grabber types of hardware, but some hardware (such as Video Blaster)
is capable of performing independent scaling in the horizontal and vertical
directions and returns MCI_TRUE.
MCI_DGV_GETDEVCAPS_CAN_REVERSE
Returns MCI_TRUE if the device can play in reverse;
otherwise, it returns MCI_FALSE.
MCI_DGV_GETDEVCAPS_CAN_STRETCH
Returns MCI_TRUE if the device can stretch the
image to fill the frame; otherwise, it returns MCI_FALSE. Returns MCI_FALSE
for most frame-grabber types of hardware, but some hardware (such as Video
Blaster) is capable of performing scaling and returns MCI_TRUE.
MCI_DGV_GETDEVCAPS_FAST_RATE
Returns the standard fast playback rate (twice
the recorded playback rate) in the current speed format, either as a percentage
or in frames per second. Returns the normal play rate if the device cannot
play fast.
MCI_DGV_GETDEVCAPS_SLOW_RATE
Returns
the standard slow playback rate (half the recorded playback rate) in the
current speed format, either as a percentage or in frames per second. Returns
the normal play rate if the device cannot play at the slow playback rate.
MCI_DGV_GETDEVCAPS_NORMAL_RATE
Returns
the recorded playback rate in the current speed format, either as a percentage
or in frames per second.
MCI_DGV_GETDEVCAPS_VIDEO_X_EXTENT
Returns the nominal horizontal (X) extent of the
digital motion video image.
MCI_DGV_GETDEVCAPS_VIDEO_Y_EXTENT
Returns the nominal vertical (Y) extent of the
digital motion video image.
MCI_DGV_GETDEVCAPS_IMAGE_X_EXTENT
Returns the nominal horizontal (X) extent of images,
if applicable.
MCI_DGV_GETDEVCAPS_IMAGE_Y_EXTENT
Returns the nominal vertical (Y) extent of images,
if applicable.
MCI_DGV_GETDEVCAPS_OVERLAY_GRAPHICS
Returns MCI_TRUE if the device supports overlaying
video with application-generated graphics, otherwise returns MCI_FALSE.
Overlay cards such as Video Blaster enable graphics overlay of the hardware
monitor window, however, overlay is not supported over video playback in
the graphics buffer.
MCI_DGV_GETDEVCAPS_HAS_TUNER
Returns MCI_TRUE if the device has TV tuner capabilities.
Videodisc Extensions
The following additional item values apply to videodisc devices:
MCI_VD_GETDEVCAPS_CAN_REVERSE
Returns MCI_TRUE
if the videodisc player can play in reverse; otherwise, it returns MCI_FALSE.
Some players can play CLV discs in reverse as well as CAV discs.
MCI_VD_GETDEVCAPS_FAST_RATE
Returns the standard fast play rate in the current
speed format, either as a percentage or in frames per second. Returns the
normal play rate if the device cannot play at the fast play rate.
MCI_VD_GETDEVCAPS_SLOW_RATE
Returns the standard slow play rate in the current
speed format, either as a percentage or in frames per second. Returns the
normal play rate if the device cannot play at the slow play rate.
MCI_VD_GETDEVCAPS_NORMAL_RATE
Returns the normal rate of play in frames per second.
MCI_VD_GETDEVCAPS_MAXIMUM_RATE
Returns
the maximum play rate in the current speed format, either as a percentage
or in frames per second.
MCI_VD_GETDEVCAPS_MINIMUM_RATE
Returns the minimum play rate in the current speed
format, either as a percentage or in frames per second. The minimum play
rate is the slowest playback rate the device is capable of other than a
paused or stopped state, that is, non-zero.
MCI_VD_GETDEVCAPS_CLV
Specifies that the requested capability information
is relative to constant linear velocity (CLV) formatted discs.
MCI_VD_GETDEVCAPS_CAV
Specifies that the requested capability information
is relative to constant angular velocity (CAV) formatted discs. This is
the default.
Video Overlay Extensions
The following additional items apply to video overlay devices:
MCI_OVLY_GETDEVCAPS_CAN_DISTORT
Returns MCI_TRUE
if the device can stretch the image independently in horizontal and vertical
dimensions; otherwise, it returns MCI_FALSE.
MCI_OVLY_GETDEVCAPS_CAN_FREEZE
Returns MCI_TRUE if the device can freeze the image;
otherwise, it returns MCI_FALSE.
MCI_OVLY_GETDEVCAPS_CAN_STRETCH
Returns MCI_TRUE if the device can stretch or shrink
the image to fill the frame; otherwise, it returns MCI_FALSE.
MCI_OVLY_GETDEVCAPS_VIDEO_X_EXTENT
Returns the nominal horizontal (X) extent of the
video source. Returns 706 for both NTSC and PAL video.
MCI_OVLY_GETDEVCAPS_VIDEO_Y_EXTENT
Returns the nominal vertical (Y) extent of the
video source. Returns 484 for NTSC video or 564 for PAL video.
MCI_OVLY_GETDEVCAPS_IMAGE_X_EXTENT
Returns the nominal horizontal (X) extent of images
for the device. Returns 640.
MCI_OVLY_GETDEVCAPS_IMAGE_Y_EXTENT
Returns the nominal vertical (Y) extent of images
for the device. Returns 480.
MCI_OVLY_GETDEVCAPS_OVERLAY_GRAPHICS
Returns MCI_TRUE if the device supports overlaying
video with application-generated graphics; otherwise, it returns MCI_FALSE.
MCI_OVLY_GETDEVCAPS_MAX_WINDOWS
Returns
the maximum number of windows that the device can handle concurrently. Returns
10.
Waveform Audio Extensions
If the MCI_GETDEVCAPS_EXTENDED flag is specified, the following flags can
be placed in the ulItem field of the MCI_WAVE_GETDEVCAPS_PARMS
data structure for the waveaudio device.
MCI_GETDEVCAPS_WAVE_FORMAT
This flag allows an
application to determine whether a specific waveaudio format is supported.
The application must fill in the ulBitsPerSample, ulFormatTag,
ulSamplesPerSec, ulChannels, and ulFormatMode fields
in the MCI_WAVE_GETDEVCAPS_PARMS structure.
If the format is supported, the driver returns MCI_TRUE. If the format is
not supported, the driver returns a return code that indicates why the command
failed.
[Back]
[Next]