open 命令

open 命令初始化设备。 所有 MCI 设备都识别此命令。

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

_stprintf_s(
  lpszCommand, 
  TEXT("open %s %s %s"), 
  lpszDevice, 
  lpszOpenFlags, 
  lpszFlags
); 

parameters

lpszDevice

MCI 设备或设备驱动程序的标识符。 这可以是注册表中给定的设备名称 (,也可以是SYSTEM.INI文件) 或设备驱动程序的文件名。 如果指定设备驱动程序的文件名,则可以选择性地包含 。DRV 扩展,但不应包含文件的路径。

lpszOpenFlags

标识要初始化的标志。 下表列出了可识别 打开 命令的设备类型以及每种类型使用的标志。

含义 含义
cdaudio 别名 device_alias可共享 type device_type
digitalvideo alias device_aliaselementnamenostatic 父 hwndsharable 样式子样式重叠样式弹出样式 style_type类型 device_type
overlay 别名 device_aliashwnd可共享样式子 样式重叠样式弹出样式 style_type类型 device_type
sequencer 别名 device_alias 可共享 type device_type
录像机 别名 device_alias可共享 type device_type
videodisk 别名 device_alias可共享 type device_type
waveaudio 别名 device_alias缓冲区 buffer_size 可共享类型 device_type

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

含义
alias device_alias 指定给定设备的备用名称。 如果指定,则必须在后续命令中将其用作 device_id
elementname 指定设备打开时加载) (设备元素的名称。
buffer buffer_size 设置波形音频设备使用的缓冲区的大小(以秒为单位)。 安装或配置波形音频设备时,会设置缓冲区的默认大小。 通常,缓冲区大小设置为 4 秒。 对于 MCIWAVE 设备,最小大小为 2 秒,最大大小为 9 秒。
parent hwnd 指定父窗口的窗口句柄。
共享 将设备或文件初始化为可共享。 除非在原始和后续打开命令中指定“可共享”,否则后续尝试 打开 设备或文件失败。 如果设备已打开且不可共享,MCI 将返回无效设备错误。
MCISEQ sequencer 和 MCIWAVE 设备不支持共享文件。
style child 打开具有子窗口样式的窗口。
样式重叠 打开具有重叠窗口样式的窗口。
样式弹出窗口 打开具有弹出窗口样式的窗口。
style style_type 指示窗口样式。
type device_type 指定文件的设备类型。

lpszFlags

可以是“等待”、“通知”或两者。 有关这些标志的详细信息,请参阅 等待、通知和测试标志

返回值

如果成功,则返回零,否则返回错误。

备注

MCI 为 CD 音频设备类型保留“cdaudio”,视频磁盘设备类型保留“videodisc”,MIDI 排序器设备类型保留“sequencer”,数字视频设备类型保留“AVIVideo”,波形音频设备类型保留“waveaudio”。

作为“type”标志的替代方法,MCI 可以根据文件使用的扩展名选择设备,如注册表或 SYSTEM.INI 文件的 [mci extension] 节中记录的那样。

MCI 可以使用文件接口指针或流接口指针打开 AVI 文件。 若要使用任一类型的接口指针打开文件,请指定 at 符号 (@) 后跟接口指针,以代替 lpszDevice 参数的文件或设备名称。 有关文件和流接口的详细信息,请参阅“ AVIFile 函数和宏”。

以下命令将打开“mysound”设备。

open new type waveaudio alias mysound buffer 6

使用设备名称“new”,波形驱动程序准备新的波形资源。 命令分配设备别名“mysound”并指定 6 秒的缓冲区。

如果将设备名称与文件名组合在一起,则可以消除“type”标志。 使用下列语法时,MCI 会识别此组合:

device_nameelement_name

感叹号将设备名称与文件名分隔开来。 感叹号不应用空格分隔。

以下示例将打开 RIGHT。使用“waveaudio”设备的 WAV 文件。

open waveaudio!right.wav

MCIWAVE 驱动程序需要异步波形音频设备。

要求

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

请参阅

Mci

MCI 命令字符串