The MM_MIM_MOREDATA message is sent to a callback window when a MIDI message is received by a MIDI input device but the application is not processing MIM_DATA messages fast enough to keep up with the input device driver. The window receives this message only when the application specifies MIDI_IO_STATUS in the call to the midiInOpen function.
MM_MIM_MOREDATA wParam = (WPARAM) hInput lParam = (LPARAM) (DWORD) lMidiMessage
Handle to the MIDI input device that received the MIDI message.
Specifies the MIDI message that was received. The message is packed into a doubleword value as follows:
High word High-order byte Not used. Low-order byte Contains a second byte of MIDI data (when needed). Low word High-order byte Contains the first byte of MIDI data (when needed). Low-order byte Contains the MIDI status.
The two MIDI data bytes are optional, depending on the MIDI status byte.
This message does not return a value.
If your application will receive MIDI data faster than it can process it, you should not use a window callback mechanism. To maximize speed, use a callback function, and use the MIM_MOREDATA message instead of MM_MIM_MOREDATA.
An application should do only a minimal amount of processing of MM_MIM_MOREDATA messages. (In particular, applications should not call the PostMessage function while processing MM_MIM_MOREDATA.) Instead, the application should place the event data into a buffer and then return.
When an application receives an MM_MIM_DATA message after a series of MM_MIM_MOREDATA messages, it has caught up with incoming MIDI events and can safely call time-intensive functions.
MIDI messages received from a MIDI input port have running status disabled; each message is expanded to include the MIDI status byte.
This message is not sent when a MIDI system-exclusive message is received. No time stamp is available with this message. For time-stamped input data, you must use the messages that are sent to callback functions.
|Minimum supported client
||Windows 2000 Professional [desktop apps only]
|Minimum supported server
||Windows 2000 Server [desktop apps only]