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,否则返回错误。 可能的错误值包括:

返回代码 说明
MIDIERR_BADOPENMODE
应用程序将不带状态字节的消息发送到流句柄。
MIDIERR_NOTREADY
硬件正忙于处理其他数据。
MMSYSERR_INVALHANDLE
指定的设备句柄无效。

注解

此函数用于发送除系统独占消息或流消息以外的任何 MIDI 消息。

在将消息发送到输出设备之前,此函数可能不会返回。 可以在流在同一设备上播放时发送短消息 (尽管在这种情况下无法使用运行状态) 。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mmeapi.h (包括 Windows.h)
Library Winmm.lib
DLL Winmm.dll

另请参阅

MIDI 函数