midiStreamOpen 函数 (mmeapi.h)
midiStreamOpen 函数打开 MIDI 流进行输出。 默认情况下,设备在暂停模式下打开。 此函数检索到的流句柄必须在流的所有后续引用中使用。
语法
MMRESULT midiStreamOpen(
LPHMIDISTRM phms,
LPUINT puDeviceID,
DWORD cMidi,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
parameters
phms
指向在函数返回时包含流句柄的变量的指针。
puDeviceID
指向设备标识符的指针。 设备代表流打开,并在流关闭时再次关闭。
cMidi
保留;必须为 1。
dwCallback
指向回调函数、事件句柄、线程标识符或在 MIDI 播放期间调用的窗口或线程句柄的指针,以处理与播放进度相关的消息。 如果不需要回调机制,请为此参数指定 NULL 。
dwInstance
使用每个回调函数返回到应用程序的特定于应用程序的实例数据。
fdwOpen
用于打开设备的回调标志。 必须指定以下回调标志之一。
值 | 含义 |
---|---|
CALLBACK_EVENT | dwCallback 参数是一个事件句柄。 此回调机制仅用于输出。 |
CALLBACK_FUNCTION | dwCallback 参数是回调过程地址。 有关回调签名,请参阅 MidiOutProc。 |
CALLBACK_NULL | 没有回调机制。 这是默认设置。 |
CALLBACK_THREAD | dwCallback 参数是线程标识符。 |
CALLBACK_WINDOW | dwCallback 参数是窗口句柄。 |
返回值
如果成功,则返回MMSYSERR_NOERROR,否则返回错误。 可能的错误值包括以下内容。
返回代码 | 说明 |
---|---|
|
指定的设备标识符在范围外。 |
|
给定的句柄或标志参数无效。 |
|
系统无法分配或锁定内存。 |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mmeapi.h (包括 Windows.h) |
Library | Winmm.lib |
DLL | Winmm.dll |