capability 命令

功能命令请求有关设备的特定功能的信息。 所有 MCI 设备都识别此命令。

若要发送此命令,请使用 lpszCommand 参数集调用 mciSendString 函数,如下所示。

_stprintf_s(
  lpszCommand, 
  TEXT("capability %s %s %s"), 
  lpszDeviceID, 
  lpszRequest, 
  lpszFlags
); 

参数

lpszDeviceID

MCI 设备的标识符。 打开设备时会分配此标识符或别名。

lpszRequest

标识设备功能的标志。 下表列出了可识别 功能 命令的设备类型以及每种类型使用的标志:

类型 类型
cdaudio
  • 可以弹出
  • 可以玩
  • 可以记录
  • 可以保存
  • 复合设备
  • 设备类型 (device type)
  • 有音频
  • 有视频
  • 使用文件
digitalvideo
  • 可以弹出
  • 可以冻结
  • 可以锁定
  • 可以玩
  • 可以记录
  • 可以反向
  • 可以保存
  • 可以拉伸
  • 可以拉伸输入
  • 可以测试
  • 复合设备
  • 设备类型 (device type)
  • 有音频
  • 仍然有
  • 有视频
  • 最大播放速率
  • 最低播放速率
  • 使用文件
  • 使用调色板
  • windows
overlay
  • 可以弹出
  • 可以冻结
  • 可以玩
  • 可以记录
  • 可以保存
  • 可以拉伸
  • 复合设备
  • 设备类型 (device type)
  • 有音频
  • 有视频
  • 使用文件
  • windows
sequencer
  • 可以弹出
  • 可以玩
  • 可以记录
  • 可以保存
  • 复合设备
  • 设备类型 (device type)
  • 有音频
  • 有视频
  • 使用文件
录像机
  • 可以检测长度
  • 可以弹出
  • 可以冻结
  • 可以监视源
  • 可以玩
  • 可以预滚动
  • 可以预览
  • 可以记录
  • 可以反向
  • 可以保存
  • 可以测试
  • 时钟递增率
  • 复合设备
  • 设备类型 (device type)
  • 有音频
  • 具有时钟
  • has timecode
  • 有视频
  • 标记数
  • 搜寻准确性
  • 使用文件
videodisc
  • 可以弹出
  • 可以玩
  • 可以记录
  • 可以反向
  • 可以保存
  • CAV
  • CLV
  • 复合设备
  • 设备类型 (device type)
  • 快速播放速率
  • 具有音频
  • 有视频
  • 正常播放速率
  • 慢速播放速率
  • 使用文件
waveaudio
  • 可以弹出
  • 可以玩
  • 可以记录
  • 可以保存
  • 复合设备
  • 设备类型 (device type)
  • 具有音频
  • 有视频
  • inputs
  • outputs
  • 使用文件

下表列出了可在 lpszRequest 参数中指定的标志及其含义:

Flags 含义
可以检测长度 如果设备可以检测到媒体的长度,则返回 TRUE
可以弹出 如果设备可以弹出媒体,则返回 TRUE
可以冻结 如果设备可以冻结帧缓冲区中的数据,则返回 TRUE
可以锁定 如果设备可以锁定数据,则返回 TRUE
可以监视源 如果设备可以将输入 (源) 传递到受监视的输出,而不与当前输入选择无关,则返回 TRUE
可以玩 如果设备可以播放,则返回 TRUE
可以预滚动 如果设备支持带有提示命令的“预滚动”标志,则返回 TRUE
可以预览 如果设备支持预览,则返回 TRUE
可以记录 如果设备支持录制,则返回 TRUE
可以反转 如果设备可以反向播放,则返回 TRUE
可以保存 如果设备可以保存数据,则返回 TRUE
可以拉伸 如果设备可以拉伸帧以填充给定的显示矩形,则返回 TRUE
可以拉伸输入 如果设备可以在将图像数字化到帧缓冲区的过程中调整其大小,则返回 TRUE
可以测试 如果设备识别测试关键字 (keyword) ,则返回 TRUE
cav 与其他项结合使用时,此标志指定返回信息应用于 CAV 格式视频磁盘。 如果未插入任何 videodisc,则这是默认值。
时钟递增率 返回外部时钟每秒支持的细分数。 如果外部时钟是毫秒时钟,则返回值为 1000。 如果返回值为 0,则不支持任何时钟。
clv 与其他项结合使用时,此标志指定返回信息应用于 CLV 格式视频磁盘。
复合设备 如果设备支持元素名称 (文件名) ,则返回 TRUE
设备类型 (device type) 返回设备类型名称,可以是下列名称之一:
  • cdaudio
  • dat
  • digitalvideo
  • 其他
  • overlay
  • 扫描程序
  • sequencer
  • 录像机
  • videodisc
  • waveaudio
快速播放速率 返回以帧/秒为单位的快速播放速率;如果设备无法快速播放,则返回零。
具有音频 如果设备支持音频播放,则返回 TRUE
具有时钟 如果设备具有时钟,则返回 TRUE
仍然有 如果设备处理具有单个图像的文件比运动视频文件更高效,则返回 TRUE
has timecode 如果设备能够支持时间码,或者未知,则返回 TRUE
有视频 如果设备支持视频,则返回 TRUE
inputs 返回输入设备的总数。
最大播放速率 返回设备的最大播放速率(以帧/秒为单位)。
最低播放速率 返回设备的最小播放速率(以帧/秒为单位)。
正常播放速率 返回设备的正常播放速率(以帧/秒为单位)。
标记数 返回可以使用的最大标记数;零表示标记不受支持。
outputs 返回输出设备的总数。
搜寻准确性 以帧形式返回搜索的预期准确性;0 表示设备帧准确,1 表示设备预期位于所指示的搜寻位置的一帧内,依此。
播放速度缓慢 返回慢速播放速率(以每秒帧为单位),如果设备无法缓慢播放,则返回零。
使用文件 如果复合设备使用的数据存储是文件,则返回 TRUE
使用调色板 如果设备使用调色板,则返回 TRUE
windows 返回设备可以支持的同时显示窗口数。

lpszFlags

可以是“等待”、“通知”或两者。 对于数字视频和 VCR 设备,还可以指定“测试”。 有关这些标志的详细信息,请参阅 等待、通知和测试标志

返回值

返回 mciSendString 函数的 lpszReturnString 参数中的信息。 信息取决于请求类型。

示例

以下命令返回“mysound”设备的设备类型。

capability mysound device type

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]

另请参阅

Mci

MCI 命令字符串

提示