Table of contents
TOC
Collapse the table of content
Expand the table of content

WavePci Miniport Driver

Last Updated: 1/24/2017

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.


Send comments about this topic to Microsoft

© 2017 Microsoft