Windows Multimedia DDK (mddkqh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
WAVEHDR
                                                 Contents Index Back
────────────────────────────────────────────────────────────────────────────
WAVEHDR
 
        The WAVEHDR structure defines the header used to identify a
        waveform data buffer.
 
        typedef struct wavehdr_tag {
            LPSTR lpData;
            DWORD dwBufferLength;
            DWORD dwBytesRecorded;
            DWORD dwUser;
            DWORD dwFlags;
            DWORD dwLoops;
            struct wavehdr_tag far * lpNext;
            DWORD reserved;
        } WAVEHDR;
 
Fields
        LPSTR lpData
            Specifies a far pointer to the waveform data buffer.
 
        DWORD dwBufferLength
            Specifies the length of the data buffer.
 
        DWORD dwBytesRecorded
            When the header is used in input, this specifies how much
            data is in the buffer.
 
        DWORD dwUser
            Specifies 32 bits of user data.
 
        DWORD dwFlags
            Specifies flags giving information about the data buffer.
 
            WHDR_DONE
                Set by the device driver to indicate that it is finished
                with the data buffer and is returning it to the
                application.
 
            WHDR_BEGINLOOP
                Specifies that this buffer is the first buffer in a
                loop. This flag is only used with output data buffers.
 
            WHDR_ENDLOOP
                Specifies that this buffer is the last buffer in a loop.
                 This flag is only used with output data buffers.
 
            WHDR_PREPARED
                Set by the device driver to indicate that the data buffer
                has been prepared with waveInPrepareHeader or
                waveOutPrepareHeader.
 
            WHDR_INQUEUE
                Set by the device driver to indicate that the data buffer
                is queued for playback.
 
        DWORD dwLoops
            Specifies the number of times to play the loop. This
            parameter is used only with output data buffers.
 
        struct wavehdr_tag far * lpNext
            Is reserved for use by the device driver to point to the next
            WAVEHDR structure in the queue.
 
        DWORD reserved
            Is reserved for use by the device driver. This field can be
            used to store a pointer to a structure containing information
            about the client.
 
Comments
        Use the WHDR_BEGINLOOP and WHDR_ENDLOOP flags in the dwFlags
        field 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 field in the WAVEHDR structure for
        the first block in the loop to specify the number of times to
        play the loop.
 
                                       -♦-