WavePci Miniport Driver

A WavePci miniport driver manages the hardware-dependent functions of a wave-rendering or wave-capture device that has scatter/gather DMA hardware that can transfer audio data to or from any location in physical memory. A wave device that lacks the ability to perform scatter/gather transfers or is able to access only restricted regions in physical memory should use a WaveCyclic miniport driver instead.

A WavePci miniport driver should implement two interfaces:

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

  • The stream interface manages a wave stream and exposes most of the miniport driver's functionality.

The miniport interface, IMiniportWavePci, inherits the methods in the IMiniport interface. IMiniportWavePci provides the following additional methods:


Initializes the miniport object.


Creates a new stream object.


Notifies the miniport driver of a request for service.

The stream interface, IMiniportWavePciStream, inherits the methods from the IUnknown interface. IMiniportWavePciStream provides the following additional methods:


Gets the miniport driver's preferred allocator-framing parameters for the wave stream.


Gets the device's current position in the wave stream.


Indicates that a new mapping is available from the port driver.


Converts a physical buffer position value into a time-based value.


Revokes previously issued mappings.


Notifies the stream object of a request for service.


Sets the data format of the wave stream.


Sets the state of the wave stream.



Send comments about this topic to Microsoft

© 2015 Microsoft