midiInAddBuffer

The midiInAddBuffer function sends an input buffer to a specified opened MIDI input device. This function is used for system-exclusive messages.

MMRESULT midiInAddBuffer(
  HMIDIIN hMidiIn,        
  LPMIDIHDR lpMidiInHdr,  
  UINT cbMidiInHdr        
);
 

Parameters

hMidiIn
Handle of the MIDI input device.
lpMidiInHdr
Address of a MIDIHDR structure that identifies the buffer.
cbMidiInHdr
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_STILLPLAYING The buffer pointed to by lpMidiInHdr is still in the queue.
MIDIERR_UNPREPARED The buffer pointed to by lpMidiInHdr has not been prepared.
MMSYSERR_INVALHANDLE The specified device handle is invalid.
MMSYSERR_INVALPARAM The specified pointer or structure is invalid.
MMSYSERR_NOMEM The system is unable to allocate or lock memory.

Remarks

When the buffer is filled, it is sent back to the application.

The buffer must be prepared by using the midiInPrepareHeader function before it is passed to the midiInAddBuffer function.

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, midiInPrepareHeader