This function cleans up the preparation performed by waveInPrepareHeader. The 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.
At a Glance
| Header file: | Mmsystem.h |
| Windows CE versions: | 2.0 and later |
Syntax
MMRESULT waveInUnprepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh);
Parameters
hwi
Handle to the waveform-audio input device.
pwh
Pointer to a WAVEHDR structure identifying the buffer to be cleaned up.
cbwh
Size, in bytes, of the WAVEHDR structure.
Return Values
One of the values described in the following table is returned.
| Value | Description |
| MMSYSERR_NOERROR | Success. |
| MMSYSERR_INVALHANDLE | Specified device handle is invalid. |
| MMSYSERR_NODRIVER | No device driver is present. |
| MMSYSERR_NOMEM | Unable to allocate or lock memory. |
| WAVERR_STILLPLAYING | Buffer pointed to by the pwh parameter is still in the queue. |
Remarks
This function complements the waveInPrepareHeader function.
You must call this function before freeing the buffer. After passing a buffer to the device driver with the waveInAddBuffer function, you must wait until the driver is finished with the buffer before calling waveInUnprepareHeader. Unpreparing a buffer that has not been prepared has no effect, and the function returns zero.