MM_MIM_MOREDATA消息

MIDI 输入设备收到 MIDI 消息,但应用程序处理MIM_DATA消息的速度不够快,无法跟上输入设备驱动程序的速度时,会将MM_MIM_MOREDATA消息发送到回调窗口。 仅当应用程序在调用 midiInOpen 函数时指定MIDI_IO_STATUS时,窗口才会收到此消息。

MM_MIM_MOREDATA 
wParam = (WPARAM) hInput 
lParam = (LPARAM) (DWORD) lMidiMessage 

parameters

hInput

接收 MIDI 消息的 MIDI 输入设备的句柄。

lMidiMessage

指定收到的 MIDI 消息。 消息打包到双字值中,如下所示:

要求 说明
高字 高阶字节 未使用。
低序字节 包含需要) 时 (MIDI 数据的第二个字节。
低字 高阶字节 在需要时包含 MIDI 数据的第一个字节 () 。
低序字节 包含 MIDI 状态。

两个 MIDI 数据字节是可选的,具体取决于 MIDI 状态字节。

返回值

此消息不返回值。

备注

如果应用程序接收 MIDI 数据的速度超过其处理速度,则不应使用窗口回调机制。 若要最大化速度,请使用回调函数,并使用 MIM_MOREDATA 消息而不是MM_MIM_MOREDATA。

应用程序只应对MM_MIM_MOREDATA消息执行最小数量的处理。 (具体而言,应用程序在处理 MM_MIM_MOREDATA.) 时不应调用 PostMessage 函数,而是应将事件数据放入缓冲区,然后返回。

当应用程序在一系列 MM_MIM_MOREDATA 消息后收到MM_MIM_DATA消息时,它已赶上了传入的 MIDI 事件,并且可以安全地调用占用大量时间的函数。

从 MIDI 输入端口接收的 MIDI 消息已禁用运行状态;每条消息都会展开,以包含 MIDI 状态字节。

收到 MIDI 系统独占消息时,不会发送此消息。 此消息没有可用的时间戳。 对于带有时间戳的输入数据,必须使用发送到回调函数的消息。

要求

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

另请参阅

乐器数字接口 (MIDI)

MIDI 消息