Windows desktop applications
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.


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 wordHigh-order byteNot used.
Low-order byteContains a second byte of MIDI data (when needed).
Low wordHigh-order byteContains the first byte of MIDI data (when needed).
Low-order byteContains 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



© 2016 Microsoft