WavePci-Porttreiber
Wichtig Die Verwendung von WavePci wird nicht mehr empfohlen, stattdessen verwenden Sie WaverRT.
Der WavePci-Porttreiber verwaltet die Wiedergabe oder Aufzeichnung eines Wellenstroms durch ein Audiogerät, das DMA-Datenübertragungen zu oder von einem beliebigen Ort im physischen Speicher durchführen kann. Mit scatter/gather DMA kann das Gerät Audiodaten in einem Puffer verarbeiten, der aus einer Reihe von Zuordnungen besteht. Jede Zuordnung ist ein Physischer zusammenhängender Speicherblock, aber aufeinander folgende Zuordnungen sind nicht notwendigerweise miteinander zusammenhängend. Das WavePci-kompatible Gerät ist eine Hardwarefunktion auf einem Audioadapter. In der Regel ist der Adapter Teil eines integrierten Chipsatzes auf der Hauptplatine oder an einem Audio-Karte montiert, der in einen PCI-Steckplatz auf der Hauptplatine angeschlossen wird. Der Adaptertreiber stellt einen entsprechenden WavePci-Miniporttreiber bereit, der an das WavePci-Porttreiberobjekt gebunden ist, um einen Wellenfilter zu bilden, der einen Wellenstrom erfassen oder rendern kann.
Der WavePci-Porttreiber macht eine IPortWavePci-Schnittstelle für den Miniporttreiber verfügbar. IPortWavePci erbt die Methoden in der Basisschnittstelle IPort. Darüber hinaus bietet IPortWavePci die folgenden Methoden:
IPortWavePci::NewMasterDmaChannel
Erstellt ein neues master DMA-Kanalobjekt. IPortWavePci::Notify
Benachrichtigt den Porttreiber, dass der DMA-Controller an eine neue Position im Audiodatenstrom vorgerückt ist. Der WavePci-Porttreiber macht auch eine IPortWavePciStream-Schnittstelle für jedes stream-Objekt des Miniporttreibers verfügbar. IPortWavePciStream erbt die Methoden in der Basisschnittstelle IUnknown. IPortWavePciStream bietet die folgenden zusätzlichen Methoden:
IPortWavePciStream::GetMapping
Ruft die nächste Zuordnung vom Porttreiber ab. IPortWavePciStream::ReleaseMapping
Gibt eine Zuordnung frei, die zuvor durch einen GetMapping-Aufruf abgerufen wurde. IPortWavePciStream::TerminatePacket
Beendet ein E/A-Paket, auch wenn es nur teilweise mit Erfassungsdaten gefüllt ist. Ein E/A-Paket ist ein Teil des Audiopuffers, der aus allen Zuordnungen besteht, die einem bestimmten Zuordnungs-IRP zugeordnet sind.
Die WavePci-Port- und Miniportobjekte kommunizieren miteinander über ihre jeweiligen IPortWavePci - und IMiniportWavePci-Schnittstellen . Darüber hinaus kommunizieren die WavePci-Port- und Miniportstreamobjekte über ihre jeweiligen IPortWavePciStream - und IMiniportWavePciStream-Schnittstellen miteinander.