Windows Mobile 6.5
A version of this page is also available for

This function starts input on the specified waveform input device.

MMRESULT waveInStart(
  HWAVEIN hwi 


Handle to the waveform-audio input device.

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

Value Description




Specified device handle is invalid.


No device driver is present.


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.

Windows Embedded CEWindows CE 2.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions