MCI 函数宏和消息
[与此页关联的功能(MCI)是一项旧功能。 它已被 MediaPlayer取代。 MediaPlayer 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayer 而不是 MCI。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
大多数 MCI 应用程序使用 mciSendString 和 mciSendCommand 函数数十次。 MCI 提供应用程序使用频率较低的其他一些有用函数。
大多数 MCI 命令所需的设备标识符通常在调用 打开(MCI_OPEN)命令时检索。 如果需要设备标识符但不想打开设备(例如,如果要在执行任何其他作之前查询设备的功能),则可以调用 mciGetDeviceID 函数。
mciGetCreatorTask 函数允许应用程序使用设备标识符检索创建该标识符的任务的句柄。
可以使用 mciGetYieldProc 和 mciSetYieldProc 函数分配和检索与“wait”(MCI_WAIT)标志关联的回调函数的地址。
mciGetErrorString 函数检索描述 MCI 错误值的字符串。 MCI 返回的每个字符串(无论是数据还是错误说明)最多为 128 个字符。 小于 128 个字符的对话框字段将截断 MCI 返回的较长字符串。 有关这些字符串的详细信息,请参阅 MCIERR 返回值。
MCI 宏是可用于创建和反汇编指定时间格式的值的工具。 这些时间格式用于许多 MCI 命令。 宏所处理的格式为小时/分钟/秒(HMS)、分钟/秒/帧(MSF),以及跟踪/分钟/秒/帧(TMSF)。 下表列出了宏及其说明。
宏 | 描述 |
---|---|
MCI_HMS_HOUR | 从 HMS 值检索小时组件。 |
MCI_HMS_MINUTE | 从 HMS 值检索分钟组件。 |
MCI_HMS_SECOND | 从 HMS 值检索秒组件。 |
MCI_MAKE_HMS | 创建 HMS 值。 |
MCI_MAKE_MSF | 创建 MSF 值。 |
MCI_MAKE_TMSF | 创建 TMSF 值。 |
MCI_MSF_FRAME | 从 MSF 值检索帧组件。 |
MCI_MSF_MINUTE | 从 MSF 值检索分钟组件。 |
MCI_MSF_SECOND | 从 MSF 值检索秒组件。 |
MCI_TMSF_FRAME | 从 TMSF 值检索帧组件。 |
MCI_TMSF_MINUTE | 从 TMSF 值检索分钟组件。 |
MCI_TMSF_SECOND | 从 TMSF 值检索秒组件。 |
MCI_TMSF_TRACK | 从 TMSF 值检索跟踪组件。 |
MCI 还提供两条消息:MM_MCINOTIFY 和 MM_MCISIGNAL。 每当该命令指定“notify”(MCI_NOTIFY)标志时,MM_MCINOTIFY消息将通知 MCI 命令的结果。 MM_MCISIGNAL消息特定于数字视频设备;当达到指定位置时,它会通知应用程序。