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
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.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in mmsystem.h.
Musical Instrument Digital Interface (MIDI) Overview, MIDI Messages, midiInOpen, MIM_DATA, MIM_MOREDATA, MM_MIM_DATA, PostMessage