The waveOutPrepareHeader function prepares a waveform-audio data block for playback.
MMRESULT waveOutPrepareHeader(
HWAVEOUT hwo,
LPWAVEHDR pwh,
UINT cbwh
);
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. |
The lpData, dwBufferLength, and dwFlags members of the WAVEHDR structure must be set before calling this function (dwFlags must be zero).
The dwFlags, dwBufferLength, and dwLoops members of the WAVEHDR structure can change between calls to this function and the waveOutWrite function. (The only flags that can change in this interval for the dwFlags member are WHDR_BEGINLOOP and WHDR_ENDLOOP.) If you change the size specified by dwBufferLength before the call to waveOutWrite, the new value must be less than the prepared value.
Preparing a header that has already been prepared has no effect, and the function returns zero.
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.
Waveform Audio Overview, Waveform Functions, WAVEHDR, waveOutWrite