The MIM_MOREDATA message is sent to a MIDI input callback function 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 callback function receives this message only when the application specifies MIDI_IO_STATUS in the call to the midiInOpen function.
MIM_MOREDATA
dwParam1 = dwMidiMessage
dwParam2 = dwTimestamp
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.
An application should do only a minimal amount of processing of MIM_MOREDATA messages. (In particular, applications should not call the PostMessage function while processing MIM_MOREDATA.) Instead, the application should place the event data into a buffer and then return.
When an application receives an MIM_DATA message after a series of 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.
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, PostMessage