waveInStart (Windows CE 5.0)

Send Feedback

This function starts input on the specified waveform input device.

MMRESULT waveInStart(HWAVEINhwi );


  • hwi
    Handle to the waveform-audio input device.

Return Values

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

Value Description
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NODRIVER No device driver is present.
MMSYSERR_NOMEM Unable to allocate or lock memory.


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.

Buffers are returned to the application when full or when the waveInReset function is called (the dwBytesRecorded member in the header will contain the length of data). If there are no buffers in the queue, the data is thrown away without notifying the application, and input continues.

Calling this function when input is already started has no effect, and the function returns zero.


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

See Also

Waveform Audio Functions | waveInReset

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.