IPortWaveRTStream-Schnittstelle (portcls.h)

Die IPortWaveRTStream Schnittstelle wird in Windows Vista und höheren Betriebssystemen unterstützt, und es handelt sich um eine streamspezifische Schnittstelle, die Hilfsmethoden für die Verwendung durch den WaveRT-Miniporttreiber bereitstellt. Der Miniporttreiber ruft die Methoden auf, um die Zuordnung und Zuordnung von zyklischen Puffern für Audiodaten durchzuführen. Der WaveRT-Porttreiber implementiert diese Schnittstelle. Der Porttreiber gibt einen IPortWaveRTStream Objektverweis auf jedes von diesem erstellten Miniporttreiberstreamobjekt an. IPortWaveRTStream erbt von der IUnknown-Schnittstelle .

Jeder Pin instance in einem WaveRT-Filter ist ein Audiostream zugeordnet. Der Adaptertreiber bildet den Filter, indem er die WaveRT-Port- und Miniporttreiber bindet. Wenn der Porttreiber die IMiniportWaveRT::NewStream-Methode aufruft, um das Miniporttreiberstreamobjekt zu erstellen, übergibt der Porttreiber einen IPortWaveRTStream Verweis als einen der Aufrufparameter der Methode.

Um den für den zyklischen Puffer erforderlichen Arbeitsspeicher zuzuweisen, muss der Miniporttreiber die AllocatePagesForMdl-Methode oder die AllocateContiguousPagesForMdl-Methode der IPortWaveRTStream Schnittstelle aufrufen. Die -Schnittstelle bietet zusätzliche Methoden, mit denen die zugeordneten Seiten zugeordnet, die Zuordnung aufgehoben und freigegeben werden können.

Die Methoden in der IPortWaveRTStream Schnittstelle basieren auf den MmXxx-Kernelfunktionen, die die Zuordnung und Zuordnung von Speicherdeskriptorlisten (MDLs) durchführen, und ähneln diesen. Die MmXxx-Funktionen können jedoch nicht anstelle der IPortWaveRTStream Methoden verwendet werden.

Vererbung

Die IPortWaveRTStream-Schnittstelle erbt von der IUnknown-Schnittstelle . IPortWaveRTStream verfügt auch über folgende Membertypen:

Methoden

Die IPortWaveRTStream-Schnittstelle verfügt über diese Methoden.

 
IPortWaveRTStream::AllocateContiguousPagesForMdl

Die AllocateContiguousPagesForMdl-Methode ordnet eine Liste zusammenhängender, nicht ausseitiger physischer Speicherseiten zu und gibt einen Zeiger auf eine Speicherdeskriptorliste (Memory Descriptor List, MDL) zurück, die sie beschreibt.
IPortWaveRTStream::AllocatePagesForMdl

Die AllocatePagesForMdl-Methode ordnet eine Liste von seitenunabhängigen physischen Speicherseiten zu und gibt einen Zeiger auf eine Speicherdeskriptorliste (Memory Descriptor List, MDL) zurück, die diese beschreibt.
IPortWaveRTStream::FreePagesFromMdl

Die FreePagesFromMdl-Methode gibt eine Speicherdeskriptorliste (Memory Descriptor List, MDL) frei.
IPortWaveRTStream::GetPhysicalPageAddress

Die GetPhysicalPageAddress-Methode gibt die physische Adresse für eine Seite in einer Speicherdeskriptorliste (Memory Descriptor List, MDL) zurück.
IPortWaveRTStream::GetPhysicalPagesCount

Die GetPhysicalPagesCount-Methode gibt die Anzahl der physischen Seiten in einer Speicherdeskriptorliste (Memory Descriptor List, MDL) zurück.
IPortWaveRTStream::MapAllocatedPages

Die MapAllocatedPages-Methode ordnet eine Liste der zuvor zugeordneten physischen Seiten einem zusammenhängenden virtuellen Speicherblock zu, auf den über den Kernelmodus zugegriffen werden kann.
IPortWaveRTStream::UnmapAllocatedPages

Die UnmapAllocatedPages-Methode gibt eine Zuordnung frei.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile portcls.h