midiOutPrepareHeader

The midiOutPrepareHeader function prepares a MIDI system-exclusive or stream buffer for output.

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

Parameters

hmo
Handle of the MIDI output device. This parameter can also be the handle of a MIDI stream cast to HMIDIOUT.
lpMidiOutHdr
Address of a MIDIHDR structure that identifies the buffer to be prepared.
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
MMSYSERR_INVALHANDLE The specified device handle is invalid.
MMSYSERR_INVALPARAM The specified address is invalid or the given stream buffer is greater than 64K.
MMSYSERR_NOMEM The system is unable to allocate or lock memory.

Remarks

A stream buffer cannot be larger than 64K.

Preparing a header that has already been prepared has no effect, and the function returns MMSYSERR_NOERROR.

After the header has been prepared, do not modify the buffer. To free the buffer, use the midiOutUnprepareHeader function.

Before using this function, you must set the lpData, dwBufferLength, and dwFlags members of the MIDIHDR structure. The dwFlags member must be set to zero.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in mmsystem.h.
  Import Library: Use winmm.lib.

See Also

Musical Instrument Digital Interface (MIDI) Overview, MIDI Functions, MIDIHDR, midiOutUnprepareHeader