WaveRT Miniport Driver

The WaveRT miniport driver is supported in Windows Vista and later Windows operating systems, and it manages the hardware-dependent functions of a wave-rendering or wave-capture audio device. A WaveRT-friendly audio device has scatter/gather DMA hardware that can transfer audio data to or from any location in physical memory.

A WaveRT miniport driver must implement two interfaces:

  • IMiniportWaveRT. This interface performs miniport driver initialization, channel enumeration, and stream creation.

  • IMiniportWaveRTStream. This interface manages a wave stream and exposes most of the functionality of the miniport driver.

For information about how to design a WaveRT miniport driver that complements the WaveRT port driver, see the Developing a WaveRT Miniport Driver topic.


The IMiniportWaveRT interface provides the following methods:


Initializes the miniport object.


Creates a new stream object.


Returns a pointer to a DEVICE_DESCRIPTION structure describing the device.


The IMiniportWaveRTStream interface inherits the methods from the IUnknown interface. IMiniportWaveRTStream provides the following additional methods:


Allocates a cyclic buffer for audio data.


Frees an audio buffer previously allocated with a call to IMiniportWaveRTStream::AllocateAudioBuffer.


Retrieves the information that the port driver must have to expose the clock register to the audio subsystem and its clients.


Retrieves information about sources of stream latency in the audio hardware.


Retrieves the current play or record position as a byte offset from the beginning of the buffer.


Retrieves the information that the port driver must have to expose the position register to the audio subsystem and its clients.


Sets the data format of the wave stream.


Changes the transport state of the audio stream.



Send comments about this topic to Microsoft

© 2014 Microsoft