waveOutPrepareHeader

  MMRESULT waveOutPrepareHeader(hWaveOut, lpWaveOutHdr, wSize)    
  HWAVEOUT hWaveOut;    
  LPWAVEHDR lpWaveOutHdr;    
  UINT wSize;    

The waveOutPrepareHeader function prepares a waveform data block for playback.

Parameters

hWaveOut

Specifies a handle to the waveform output device.

lpWaveOutHdr

Specifies a pointer to a WAVEHDR structure that identifies the data block to be prepared.

wSize

Specifies the size of the WAVEHDR structure.

Return Value

Returns zero if the function was successful. Otherwise, it returns an error number. Possible error returns are:

Value Meaning

MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NOMEM Unable to allocate or lock memory.
MMSYSERR_HANDLEBUSY The handle hWaveOut is in use on another thread.

Comments

The WAVEHDR data structure and the data block pointed to by its lpData field must be allocated with GlobalAlloc using the GMEM_MOVEABLE and GMEM_SHARE flags, and locked with GlobalLock. Preparing a header that has already been prepared has no effect, and the function returns zero.

See Also

waveOutUnprepareHeader