The capability command requests information about a particular capability of a device. All MCI devices recognize this command.
wsprintf(lpstrCommand, "capability %s %s %s", lpszDeviceID, lpszRequest,
lpszFlags);
cdaudio | can eject can play can record can save compound device |
device type has audio has video uses files |
digitalvideo | can eject can freeze can lock can play can record can reverse can save can stretch can stretch input can test |
compound device device type has audio has still has video maximum play rate minimum play rate uses files uses palettes windows |
overlay | can eject can freeze can play can record can save can stretch |
compound device device type has audio has video uses files windows |
sequencer | can eject can play can record can save compound device |
device type has audio has video uses files |
vcr | can detect length can eject can freeze can monitor sources can play can preroll can preview can record can reverse can save can test |
clock increment rate compound device device type has audio has clock has timecode has video number of marks seek accuracy uses files |
videodisc | can eject can play can record can reverse can save CAV CLV compound device |
device type fast play rate has audio has video normal play rate slow play rate uses files |
waveaudio | can eject can play can record can save compound device device type |
has audio has video inputs outputs uses files |
The following table lists the flags that can be specified in the lpszRequest parameter and their meanings:
can detect length | Returns TRUE if the device can detect the length of the media. |
can eject | Returns TRUE if the device can eject the media. |
can freeze | Returns TRUE if the device can freeze data in the frame buffer. |
can lock | Returns TRUE if the device can lock data. |
can monitor sources | Returns TRUE if the device can pass an input (source) to the monitored output, independent of the current input selection. |
can play | Returns TRUE if the device can play. |
can preroll | Returns TRUE if the device supports the "preroll" flag with the cue command. |
can preview | Returns TRUE if the device supports previews. |
can record | Returns TRUE if the device supports recording. |
can reverse | Returns TRUE if the device can play in reverse. |
can save | Returns TRUE if the device can save data. |
can stretch | Returns TRUE if the device can stretch frames to fill a given display rectangle. |
can stretch input | Returns TRUE if the device can resize an image in the process of digitizing it into the frame buffer. |
can test | Returns TRUE if the device recognizes the test keyword. |
cav | When combined with other items, this flag specifies that the return information applies to CAV format videodiscs. This is the default if no videodisc is inserted. |
clock increment rate | Returns the number of subdivisions the external clock supports per second. If the external clock is a millisecond clock, the return value is 1000. If the return value is 0, no clock is supported. |
clv | When combined with other items, this flag specifies that the return information applies to CLV format videodiscs. |
compound device | Returns TRUE if the device supports an element name (filename). |
device type | Returns a device type name, which can be one of the following:
cdaudio |
fast play rate | Returns the fast play rate in frames per second, or zero if the device cannot play fast. |
has audio | Returns TRUE if the device supports audio playback. |
has clock | Returns TRUE if the device has a clock. |
has still | Returns TRUE if the device treats files with a single image more efficiently than motion video files. |
has timecode | Returns TRUE if the device is capable of supporting timecode, or if it is unknown. |
has video | Returns TRUE if the device supports video. |
inputs | Returns the total number of input devices. |
maximum play rate | Returns the maximum play rate, in frames per second, for the device. |
minimum play rate | Returns the minimum play rate, in frames per second, for the device. |
normal play rate | Returns the normal play rate, in frames per second, for the device. |
number of marks | Returns the maximum number of marks that can be used; zero indicates that marks are unsupported. |
outputs | Returns the total number of output devices. |
seek accuracy | Returns the expected accuracy of a search in frames; 0 indicates that the device is frame accurate, 1 indicates that the device expects to be within one frame of the indicated seek position, and so on. |
slow play rate | Returns the slow play rate in frames per second, or zero if the device cannot play slowly. |
uses files | Returns TRUE if the data storage used by a compound device is a file. |
uses palettes | Returns TRUE if the device uses palettes. |
windows | Returns the number of simultaneous display windows the device can support. |
Returns information in the lpstrReturnString parameter of the mciSendString function. The information is dependent on the request type.
The following command returns the device type of the "mysound" device:
capability mysound device type
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
MCI Overview, MCI Command Strings, cue, mciSendString