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.