Share via


Sample Wavedev Drivers (Windows Embedded CE 6.0)

1/6/2010

The sample audio driver is a layered, interrupt-driven stream interface driver that drives an audio device.

The sample code is provided as a convenience and does not include any restrictions for audio hardware for Windows Embedded CE.

An audio driver could be implemented that is monolithic, is polled, and that drives a peripheral device.

The sample audio driver MDD layer implements a single audio device capable of playing and recording pulse code modulation (PCM) waveform audio. The sample code supports simultaneous recording and playing but can also be used with audio devices that can perform only one function at a time.

The PDD layer communicates with the audio hardware to start and stop playing and recording and to initialize and deinitialize the hardware.

The sample code for Wavedev drivers is located in %_WINCEROOT%\Public\Common\Oak\Drivers\WAVEDEV.

Note

The provided MDD sources are simplistic and should be treated as driver templates. You are encouraged to modify these sources to fit your need.

As of Windows CE .NET 4.0, the WAV API supports multiple streams per driver. In the past, only one stream per driver was opened, so many drivers did not keep track of their open or closed state.

With the addition of this technology, the driver is responsible for verifying that it is open or closed. If a driver supports only a single stream, the WODM_OPEN or WIDM_OPEN messages will fail with a return value of MMSYSERR_ALLOCATED.

See Also

Concepts

Audio Driver Samples
Playing and Recording
Interrupt Handling in Audio Drivers
Power Management in Audio Drivers