MCI 命令的分类
[与此页面关联的功能 MCI 是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用 MediaPlayer 而不是 MCI。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
MCI 定义了四种命令分类:系统、必需、基本和扩展。 下表描述了这些命令分类:
- 系统命令 由 MCI 直接处理,而不是由驱动程序处理。
- 必需的命令 由驱动程序处理。 所有 MCI 驱动程序都必须支持所需的命令和标志。
- 某些设备使用基本命令 (或可选命令) 。 如果设备支持基本命令,则必须支持该命令的一组已定义的标志。
- 扩展命令 特定于设备类型或驱动程序。 扩展命令包括命令,例如放置 (MCI_PUT) ,其中 (MCI_WHERE数字视频和覆盖设备类型的) 命令,以及现有命令的扩展,如覆盖设备类型 () 的状态 (的“拉伸”标志MCI_STATUS) 命令。
虽然系统命令和必需命令是任何 MCI 驱动程序的最小命令集,但并非所有驱动程序都支持基本命令和扩展命令。 应用程序始终可以使用系统命令和所需命令及其标志,但如果它需要使用基本命令或扩展命令或标志,它应首先使用 (MCI_GETDEVCAPS) 命令的功能来查询驱动程序。 以下部分汇总了每个类别中的特定命令。
系统命令
MCI 直接处理以下系统命令,而不是将它们传递给 MCI 设备。
String | Message | 说明 |
---|---|---|
打破 | MCI_BREAK | 为 MCI 设备设置中断键。 |
sysinfo | MCI_SYSINFO | 返回有关 MCI 设备的信息。 |
必需命令
所有 MCI 设备都支持以下必需命令。
String | Message | 说明 |
---|---|---|
能力 | MCI_GETDEVCAPS | 获取设备的功能。 |
关闭 | MCI_CLOSE | 关闭设备。 |
info | MCI_INFO | 从设备获取文本信息。 |
打开 | MCI_OPEN | 初始化设备。 |
status | MCI_STATUS | 从设备获取状态信息。 此命令的某些标志不是必需的,因此它也是一个基本命令。 |
设备还必须支持所需命令的标准命令标志集。
基本命令
以下列表汇总了基本命令。 MCI 设备使用这些命令是可选的。
String | Message | 说明 |
---|---|---|
加载 | MCI_LOAD | 从文件加载数据。 |
暂停 | MCI_PAUSE | 停止播放。 可以在当前位置恢复播放或录制。 |
玩游戏 | MCI_PLAY | 开始传输输出数据。 |
记录 | MCI_RECORD | 开始记录输入数据。 |
恢复 | MCI_RESUME | 在暂停的设备上继续播放或录制。 |
救 | MCI_SAVE | 将数据保存到磁盘文件。 |
寻求 | MCI_SEEK | 向前或向后查找。 |
设置 | MCI_SET | 设置设备的运行状态。 |
status | MCI 状态 | 获取有关设备的状态信息。 这也是必需的命令;由于其中一些标志不是必需的,因此也在此处列出。 (可选项支持使用具有可识别位置的线性介质的设备。) |
停止 | MCI_STOP | 停止播放。 |
如果驱动程序支持基本命令,则它还必须支持该命令的标准标志集。
扩展命令
某些 MCI 设备具有其他命令,或者向现有命令添加标志。 虽然某些扩展命令仅适用于特定设备驱动程序,但大多数命令适用于特定设备类型的所有驱动程序。 例如, sequencer 设备类型的命令集扩展 集 (MCI_SET) 命令,以添加 MIDI 排序器所需的时间格式。
不应假定设备支持扩展命令或标志。 可以使用 MCI_GETDEVCAPS) 命令 (功能来确定特定功能是否受支持,并且应用程序应准备好处理“不支持的命令”或“不支持的函数”返回值。
以下扩展命令可用于列出的设备类型。
String | Message | 设备类型 | 说明 |
---|---|---|---|
配置 | MCI_CONFIGURE | digitalvideo | 显示配置对话框。 |
提示 | MCI_CUE | digitalvideo、waveaudio | 准备播放或录制。 |
删除 | MCI_DELETE | waveaudio | 从媒体文件中删除数据段。 |
escape | MCI_ESCAPE | videodisc | 将自定义信息发送到设备。 |
冻结 | MCI_FREEZE | overlay | 禁用帧缓冲区的视频采集。 |
把 | MCI PUT | digitalvideo, overlay | 定义源窗口、目标窗口和框架窗口。 |
实现 | MCI_REALIZE | digitalvideo | 指示设备在显示窗口的设备上下文中选择并实现其调色板。 |
setaudio | MCI_ SETAUDIO | digitalvideo | 设置视频的音频参数。 |
setvideo | MCI_ SETVIDEO | digitalvideo | 设置视频参数。 |
signal | MCI_SIGNAL | digitalvideo | 使用信号标识指定位置。 |
自 旋 | MCI_SPIN | videodisc | 启动光盘旋转或停止光盘旋转。 |
步 | MCI_STEP | digitalvideo、videodisc | 逐步向前或反向播放一个或多个帧。 |
解冻 | MCI_UNFREEZE | overlay | 使帧缓冲区能够获取视频数据。 |
更新 | MCI_UPDATE | digitalvideo | 将当前帧重新绘制到设备上下文中。 |
其中 | MCI WHERE | digitalvideo, overlay | 获取指定源、目标或框架区域的矩形。 |
窗口 | MCI_WINDOW | digitalvideo, overlay | 控制显示窗口。 |