midiOutShortMsg 函数 (mmeapi.h)
midiOutShortMsg 函数将短 MIDI 消息发送到指定的 MIDI 输出设备。
语法
MMRESULT midiOutShortMsg(
HMIDIOUT hmo,
DWORD dwMsg
);
参数
hmo
MIDI 输出设备的句柄。 此参数也可以是将 MIDI 流强制转换为 HMIDIOUT 的句柄。
dwMsg
MIDI 消息。 消息打包到 DWORD 值中,消息的第一个字节位于低位字节中。 消息打包到此参数中,如下所示。
Word | Byte | 使用情况 |
---|---|---|
高 | 高序 | 未使用。 |
低序 | 需要) 时 (MIDI 数据的第二个字节。 | |
低 | 高序 | 需要) 时 (MIDI 数据的第一个字节。 |
低序 | MIDI 状态。 |
两个 MIDI 数据字节是可选的,具体取决于 MIDI 状态字节。 当一系列消息具有相同的状态字节时,可以在系列中的第一个消息之后省略状态字节,从而创建运行状态。 打包运行状态的消息,如下所示:
Word | Byte | 使用情况 |
---|---|---|
高 | 高序 | 未使用。 |
低序 | 未使用。 | |
低 | 高序 | 需要) 时 (MIDI 数据的第二个字节。 |
低序 | MIDI 数据的第一个字节。 |
返回值
如果成功,则返回MMSYSERR_NOERROR,否则返回错误。 可能的错误值包括:
返回代码 | 说明 |
---|---|
|
应用程序将不带状态字节的消息发送到流句柄。 |
|
硬件正忙于处理其他数据。 |
|
指定的设备句柄无效。 |
注解
此函数用于发送除系统独占消息或流消息以外的任何 MIDI 消息。
在将消息发送到输出设备之前,此函数可能不会返回。 可以在流在同一设备上播放时发送短消息 (尽管在这种情况下无法使用运行状态) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | mmeapi.h (包括 Windows.h) |
Library | Winmm.lib |
DLL | Winmm.dll |