This function prepares a waveform data block for playback.
At a Glance
Header file: | Mmsystem.h |
Windows CE versions: | 2.0 and later |
Syntax
MMRESULT waveOutPrepareHeader(HWAVEOUT hwo,
LPWAVEHDR pwh, UINT cbwh);
Parameters
hwo
Handle to the waveform-audio output device.
pwh
Pointer to a WAVEHDR structure that identifies the data block to be prepared.
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. |
Remarks
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.