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.
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]|