命令消息

[与此页面关联的功能 MCI 是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用 MediaPlayer 而不是 MCI。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

命令消息接口设计为需要 C 语言接口来控制多媒体设备的应用程序使用。 它使用消息传递范例与 MCI 设备通信。 可以使用 mciSendCommand 函数发送命令。

如果成功, mciSendCommand 函数返回零。 如果函数失败,则返回值的低序字包含错误代码。 可以将此错误代码传递给 mciGetErrorString 函数,以获取错误的文本说明。

命令消息的语法

MCI 命令消息由以下元素组成:

  • 常量消息值
  • 包含命令参数的结构
  • 一组标志,用于指定命令的选项并验证参数块中的字段

以下示例使用 mciSendCommand 函数将 MCI_ PLAY 命令发送到由设备标识符标识的设备。

mciSendCommand(wDeviceID,            // device identifier 
    MCI_PLAY,                        // command message 
    0,                               // flags 
    (DWORD)(LPVOID) &mciPlayParms);  // parameter block 

使用 MCI_ OPEN 命令打开设备时,将检索第一个参数中给定的设备标识符。 最后一个参数是 MCI_ PLAY_ PARMS 结构的地址,其中可能包含有关开始和结束播放的位置的信息。 许多 MCI 命令消息使用 结构来包含此类参数。 每个结构的第一个成员标识在操作完成时接收 MM_ MCINOTIFY 消息的窗口。