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 |