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.

midiOutShortMsg function

The midiOutShortMsg function sends a short MIDI message to the specified MIDI output device.


MMRESULT midiOutShortMsg(
   HMIDIOUT hmo,
   DWORD    dwMsg



Handle to the MIDI output device. This parameter can also be the handle of a MIDI stream cast to HMIDIOUT.


MIDI message. The message is packed into a DWORD value with the first byte of the message in the low-order byte. The message is packed into this parameter as follows.

Word Byte Usage
HighHigh-orderNot used.
Low-orderThe second byte of MIDI data (when needed).
LowHigh-orderThe first byte of MIDI data (when needed).
Low-orderThe MIDI status.


The two MIDI data bytes are optional, depending on the MIDI status byte. When a series of messages have the same status byte, the status byte can be omitted from messages after the first one in the series, creating a running status. Pack a message for running status as follows:

Word Byte Usage
HighHigh-orderNot used.
Low-orderNot used.
LowHigh-orderThe second byte of MIDI data (when needed).
Low-orderThe first byte of MIDI data.


Return value

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:

Return codeDescription

The application sent a message without a status byte to a stream handle.


The hardware is busy with other data.


The specified device handle is invalid.



This function is used to send any MIDI message except for system-exclusive or stream messages.

This function might not return until the message has been sent to the output device. You can send short messages while streams are playing on the same device (although you cannot use a running status in this case).


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

MIDI Functions



Community Additions

© 2016 Microsoft