WavePci Miniport Driver

Important  The use of WavePci is no longer recommended, instead use WaverRT.

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:

IMiniportWavePci::Init

Initializes the miniport object.

IMiniportWavePci::NewStream

Creates a new stream object.

IMiniportWavePci::Service

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:

IMiniportWavePciStream::GetAllocatorFraming

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

IMiniportWavePciStream::GetPosition

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

IMiniportWavePciStream::MappingAvailable

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

IMiniportWavePciStream::NormalizePhysicalPosition

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

IMiniportWavePciStream::RevokeMappings

Revokes previously issued mappings.

IMiniportWavePciStream::Service

Notifies the stream object of a request for service.

IMiniportWavePciStream::SetFormat

Sets the data format of the wave stream.

IMiniportWavePciStream::SetState

Sets the state of the wave stream.