WAVEHDR

The WAVEHDR structure defines the header used to identify a
waveform-audio buffer.
typedef struct {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD dwUser;
DWORD dwFlags;
DWORD dwLoops;
struct wavehdr_tag * lpNext;
DWORD reserved;
} WAVEHDR;
Members
-
lpData
-
Address of the waveform buffer.
-
dwBufferLength
-
Length, in bytes, of the buffer.
-
dwBytesRecorded
-
When the header is used in input, this member specifies how much data is in
the buffer.
-
dwUser
-
User data.
-
dwFlags
-
Flags supplying information about the buffer. The following values are
defined:
-
WHDR_BEGINLOOP
-
This buffer is the first buffer in a loop. This flag is used only with output
buffers.
-
WHDR_DONE
-
Set by the device driver to indicate that it is finished with the buffer and
is returning it to the application.
-
WHDR_ENDLOOP
-
This buffer is the last buffer in a loop. This flag is used only with output
buffers.
-
WHDR_INQUEUE
-
Set by Windows to indicate that the buffer is queued for playback.
-
WHDR_PREPARED
-
Set by Windows to indicate that the buffer has been prepared with the waveInPrepareHeader
or waveOutPrepareHeader function.
-
dwLoops
-
Number of times to play the loop. This member is used only with output
buffers.
-
wavehdr_tag
-
Reserved.
-
reserved
-
Reserved.
Remarks
Use the WHDR_BEGINLOOP and WHDR_ENDLOOP flags in the dwFlags member to
specify the beginning and ending data blocks for looping. To loop on a single
block, specify both flags for the same block. Use the dwLoops member in
the WAVEHDR structure for the first block in the loop to specify the
number of times to play the loop.
The lpData, dwBufferLength, and dwFlags members must be
set before calling the waveInPrepareHeader
or waveOutPrepareHeader function.
(For either function, the dwFlags member must be set to zero.)
See Also
waveInPrepareHeader, waveOutPrepareHeader
© 1997 Microsoft Corporation. All rights reserved. Legal Notices.