midiInUnprepareHeader

  MMRESULT midiInUnprepareHeader(hMidiIn, lpMidiInHdr, wSize);    
  HMIDIIN hMidiIn;    
  LPMIDIHDR lpMidiInHdr;    
  UINT wSize;    

The midiInUnprepareHeader function cleans up the preparation performed by midiInPrepareHeader. The midiInUnprepareHeader function must be called after the device driver fills a data buffer and returns it to the application. You must call this function before freeing the data buffer.

Parameters

hMidiIn

Specifies a handle to the MIDI input device.

lpMidiInHdr

Specifies a pointer to a MIDIHDR structure identifying the data buffer to be cleaned up.

wSize

Specifies the size of the MIDIHDR structure.

Return Value

Returns zero if the function was successful. Otherwise, it returns an error number. Possible error returns are:

Value Meaning

MMSYSERR_INVALHANDLE Specified device handle is invalid.
MIDIERR_STILLPLAYING lpMidiInHdr is still in the queue.

Comments

This function is the complementary function to midiInPrepareHeader. You must call this function before freeing the data buffer with GlobalFree. After passing a buffer to the device driver with midiInAddBuffer, you must wait until the driver is finished with the buffer before calling midiInUnprepareHeader. Unpreparing a buffer that has not been prepared has no effect, and the function returns zero.

See Also

midiInPrepareHeader