MM_MIM_DATA message

The MM_MIM_DATA message is sent to a window when a complete MIDI message is received by a MIDI input device.

wParam = (WPARAM) hInput 
lParam = (LPARAM) (DWORD) lMidiMessage 



Handle to the MIDI input device that received the MIDI message.


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.


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