Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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:
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:
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.