waveOutPrepareHeader

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.