waveOutUnprepareHeader

The waveOutUnprepareHeader function cleans up the preparation performed by the waveOutPrepareHeader function. This function must be called after the device driver is finished with a data block. You must call this function before freeing the buffer.

MMRESULT waveOutUnprepareHeader(
  HWAVEOUT hwo,  
  LPWAVEHDR pwh, 
  UINT cbwh      
);
 

Parameters

hwo
Handle of the waveform-audio output device.
pwh
Address of a WAVEHDR structure identifying the data block to be cleaned up.
cbwh
Size, in bytes, of the WAVEHDR structure.

Return Values

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

Value Description
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NODRIVER No device driver is present.
MMSYSERR_NOMEM Unable to allocate or lock memory.
WAVERR_STILLPLAYING The data block pointed to by the pwh parameter is still in the queue.

Remarks

This function complements waveOutPrepareHeader. You must call this function before freeing the buffer. After passing a buffer to the device driver with the waveOutWrite function, you must wait until the driver is finished with the buffer before calling waveOutUnprepareHeader.

Unpreparing a buffer that has not been prepared has no effect, and the function returns zero.

QuickInfo

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

See Also

Waveform Audio Overview, Waveform Functions, waveOutPrepareHeader, WAVEHDR, waveOutWrite