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:
| 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.
See Also