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.

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.

Return Value

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]
Mmsystem.h (include Windows.h)

See also

Musical Instrument Digital Interface (MIDI)

MIDI Messages