Freigeben über


WavePci Miniport-Treiber

Wichtig Die Verwendung von WavePci wird nicht mehr empfohlen. Verwenden Sie stattdessen WaverRT.

Ein WavePci-Miniporttreiber verwaltet die hardwareabhängigen Funktionen eines Wave-Rendering- oder Wave-Capture-Geräts, das über Scatter/Gather DMA-Hardware verfügt, die Audiodaten an einen beliebigen Ort im physischen Speicher übertragen kann. Ein Wave-Gerät, das nicht in der Lage ist, Streu-/Sammlungsübertragungen durchzuführen oder nur auf eingeschränkte Regionen im physischen Speicher zugreifen kann, sollte stattdessen einen WaveCyclic-Miniporttreiber verwenden.

Ein WavePci-Miniporttreiber sollte zwei Schnittstellen implementieren:

  • Die Miniportschnittstelle führt Miniporttreiberinitialisierung, Kanalaufzählung und Streamerstellung durch.

  • Die Streamschnittstelle verwaltet einen Wellenstrom und macht die meisten Funktionen des Miniporttreibers verfügbar.

Die Miniportschnittstelle IMiniportWavePci erbt die Methoden in der IMiniport-Schnittstelle . IMiniportWavePci stellt die folgenden zusätzlichen Methoden bereit:

IMiniportWavePci::Init

Initialisiert das Miniportobjekt.

IMiniportWavePci::NewStream

Erstellt ein neues Streamobjekt.

IMiniportWavePci::Service

Benachrichtigt den Miniporttreiber über eine Serviceanforderung.

Die Streamschnittstelle IMiniportWavePciStream erbt die Methoden von der IUnknown-Schnittstelle . IMiniportWavePciStream stellt die folgenden zusätzlichen Methoden bereit:

IMiniportWavePciStream::GetAllocatorFraming

Ruft die bevorzugten Zuordnungsrahmenparameter des Miniporttreibers für den Wellenstrom ab.

IMiniportWavePciStream::GetPosition

Ruft die aktuelle Position des Geräts im Wellenstrom ab.

IMiniportWavePciStream::MappingAvailable

Gibt an, dass eine neue Zuordnung über den Porttreiber verfügbar ist.

IMiniportWavePciStream::NormalizePhysicalPosition

Konvertiert einen Wert der physischen Pufferposition in einen zeitbasierten Wert.

IMiniportWavePciStream::RevokeMappings

Widerruft zuvor ausgestellte Zuordnungen.

IMiniportWavePciStream::Service

Benachrichtigt das Streamobjekt einer Dienstanforderung.

IMiniportWavePciStream::SetFormat

Legt das Datenformat des Wellenstroms fest.

IMiniportWavePciStream::SetState

Legt den Zustand des Wellenstroms fest.