Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function starts input on the specified waveform input device.

Syntax

MMRESULT waveInStart(
  HWAVEIN 
hwi 
); 

Parameters

hwi

Handle to the waveform-audio input device.

Return Value

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

Value Description

MMSYSERR_NOERROR

Success.

MMSYSERR_INVALHANDLE

Specified device handle is invalid.

MMSYSERR_NODRIVER

No device driver is present.

MMSYSERR_NOMEM

Unable to allocate or lock memory.

Remarks

When waveInOpenopens 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 waveInResetfunction is called (the dwBytesRecordedmember 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.

Requirements

Header mmsystem.h
Library coredll.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also