midiOutLongMsg

The midiOutLongMsg function sends a system-exclusive MIDI message to the specified MIDI output device.

MMRESULT midiOutLongMsg(
  HMIDIOUT hmo,            
  LPMIDIHDR lpMidiOutHdr,  
  UINT cbMidiOutHdr        
);

Parameters

hmo

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

lpMidiOutHdr

Pointer to a MIDIHDR structure that identifies the MIDI buffer.

cbMidiOutHdr

Size, in bytes, of the MIDIHDR structure.

Return Values

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

Value Description
MIDIERR_NOTREADY The hardware is busy with other data.
MIDIERR_UNPREPARED The buffer pointed to by lpMidiOutHdr has not been prepared.
MMSYSERR_INVALHANDLE The specified device handle is invalid.
MMSYSERR_INVALPARAM The specified pointer or structure is invalid.

Remarks

Before the buffer is passed to midiOutLongMsg, it must be prepared by using the midiOutPrepareHeader function. The MIDI output device driver determines whether the data is sent synchronously or asynchronously.

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Mmsystem.h; include Windows.h.
**  Library:** Use Winmm.lib.

See Also

Musical Instrument Digital Interface (MIDI), MIDI Functions, MIDIHDR, midiOutPrepareHeader