midiInUnprepareHeader function

The midiInUnprepareHeader function cleans up the preparation performed by the midiInPrepareHeader function.

Syntax

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

Parameters

  • hMidiIn
    Handle to the MIDI input device.

  • lpMidiInHdr
    Pointer to a MIDIHDR structure identifying the buffer to be cleaned up.

  • cbMidiInHdr
    Size of the MIDIHDR structure.

Return value

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

Return code Description
MIDIERR_STILLPLAYING

The buffer pointed to by lpMidiInHdr is still in the queue.

MMSYSERR_INVALPARAM

The specified pointer or structure is invalid.

MMSYSERR_INVALHANDLE

The specified device handle is invalid.

 

Remarks

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

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Mmsystem.h (include Windows.h)

Library

Winmm.lib

DLL

Winmm.dll

See also

Allocating and Preparing MIDI Data Blocks

MIDI Functions