waveInUnprepareHeader function
The waveInUnprepareHeader function cleans up the preparation performed by the waveInPrepareHeader function. This function must be called after the device driver fills a buffer and returns it to the application. You must call this function before freeing the buffer.
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 value
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following.
| Return code | 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 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.
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 |