waveInAddBuffer (Windows CE 5.0)

Send Feedback

This function sends an input buffer to the specified waveform-audio input device. When the buffer is filled, the application is notified.



  • hwi
    Handle to the waveform-audio input device.
  • pwh
    Pointer to a WAVEHDR structure that identifies the buffer.
  • cbwh
    Size, in bytes, of the WAVEHDR structure.

Return Values

One of the values described in the following table is returned.

Value Description
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NODRIVE No device driver is present.
MMSYSERR_NOMEM Unable to allocate or lock memory.
WAVERR_UNPREPARED Buffer pointed to by the pwh parameter has not been prepared.


When the buffer is filled, the WHDR_DONE bit is set in the dwFlags member of the WAVEHDR structure.

The buffer must be prepared with the waveInPrepareHeader function before it is passed to this function.

When waveInOpen opens an input stream, it places that stream in the stopped state. Capture will only begin after you have called waveInStart, this lets the driver know that your application is ready to begin capturing sound. If you have given the driver a buffer, through a prior call to waveInAddBuffer, then sound capture will begin immediately after the call to waveInStart. If the driver does not already have a buffer before the call to waveInStart, then sound capture will begin immediately after you provide it one using waveInAddBuffer.


OS Versions: Windows CE 2.0 and later.
Header: Mmsystem.h.
Link Library: Coredll.lib.

See Also

Waveform Audio Functions | waveInPrepareHeader | WAVEHDR

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.