MIM_MOREDATA
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 midiInOpenFUXRPR function.
MIM_MOREDATA
dwParam1 = dwMidiMessage
dwParam2 = dwTimestamp
Parameters
dwMidiMessage
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.
dwTimestamp
Specifies the
time that the message was received by the input device driver. The time stamp
is specified in milliseconds, beginning at 0 when the midiInStart function was called.
Return Values
This message
does not return a value.
Remarks
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.
See Also