Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig Die Verwendung von WavePci wird nicht mehr empfohlen, anstatt WaverRT zu verwenden.
Ein WaveCyclic Miniport-Treiber verwaltet die hardwareabhängigen Funktionen eines Wave-Rendering- oder Wave-Capture-Geräts, das einen zyklischen Puffer für Audiodaten verwendet. Der zyklische Puffer ist in der Regel ein einzelner Block zusammenhängenden physischen Speichers und kann sich nach Wahl des Treibers in einem Speicherbereich befinden. Ein Gerät mit einer der folgenden Einschränkungen sollte einen WaveCyclic Miniport-Treiber anstelle eines WavePci Miniport-Treibers bereitstellen:
Das Gerät verfügt nicht über DMA-Hardware.
Die DMA-Hardware des Geräts kann nur in einem Puffer auf Daten zugreifen, die einen einzelnen Block zusammenhängenden physischen Speichers belegen.
Die DMA-Hardware des Geräts kann nicht auf Daten in allen Bereichen des physischen Speichers zugreifen.
Ein WaveCyclic Miniporttreiber sollte zwei Schnittstellen implementieren:
Die Miniportschnittstelle unterstützt die Miniporttreiberinitialisierung und datenstromerstellung.
Die Datenstromschnittstelle verwaltet einen Wellenstrom und macht die meisten Funktionen des Miniporttreibers verfügbar.
Die Miniportschnittstelle IMiniportWaveCyclic erbt die Methoden in der IMiniport-Schnittstelle . IMiniportWaveCyclic stellt die folgenden zusätzlichen Methoden bereit:
Initialisiert das Miniportobjekt.
IMiniportWaveCyclic::NewStream
Erstellt ein neues Streamobjekt.
Die Streamschnittstelle IMiniportWaveCyclicStream erbt die Methoden in der IUnknown-Schnittstelle . IMiniportWaveCyclicStream stellt die folgenden zusätzlichen Methoden bereit:
IMiniportWaveCyclicStream::GetPosition
Ruft die aktuelle Position des Geräts im Wellenstrom ab.
IMiniportWaveCyclicStream::NormalizePhysicalPosition
Wandelt einen physischen Pufferpositionswert in einen zeitbasierten Wert um.
IMiniportWaveCyclicStream::SetFormat
Legt das Datenformat des Wellenstroms fest.
IMiniportWaveCyclicStream::SetNotificationFreq
Legt die Häufigkeit fest, mit der Benachrichtigungsunterbrechungen auftreten.
IMiniportWaveCyclicStream::SetState
Legt den Zustand des Wellenstroms fest.
IMiniportWaveCyclicStream::Silence
Kopiert Stille in einen Puffer.