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
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
See Also