IPortWaveRTStream::MapAllocatedPages-Methode (portcls.h)
Die MapAllocatedPages
-Methode ordnet eine Liste der zuvor zugeordneten physischen Seiten einem zusammenhängenden Block mit virtuellem Arbeitsspeicher zu, auf den über den Kernelmodus zugegriffen werden kann.
Syntax
PVOID MapAllocatedPages(
[in] PMDL MemoryDescriptorList,
[in] MEMORY_CACHING_TYPE CacheType
);
Parameter
[in] MemoryDescriptorList
Zeiger auf die Speicherdeskriptorliste (MDL), die zugeordnet wird. Die MDL kann durch Aufrufen von IPortWaveRTStream::AllocatePagesForMdl oder IPortWaveRTStream::AllocateContiguousPagesForMdl zugewiesen werden.
[in] CacheType
Gibt den Cachetyp an. Legen Sie diesen Parameter auf einen der folgenden MEMORY_CACHING_TYPE-Enumerationswerte fest: MmNonCached, MmCached oder MmWriteCombined.
Rückgabewert
MapAllocatedPages
gibt die Startadresse des zugeordneten Puffers im virtuellen Speicher zurück. Wenn die Methode den Puffer nicht zuordnen kann, gibt sie NULL zurück.
Hinweise
Da der Windows-Audiostapel keinen Mechanismus zum Ausdrücken von Speicherzugriffsausrichtungsanforderungen für Puffer unterstützt, müssen Audiotreiber einen Zwischenspeichertyp für zugeordnete Speicherpuffer auswählen, der keine plattformspezifischen Ausrichtungsanforderungen erzwingt. Anders ausgedrückt: Der Vom Audiotreiber für zugeordnete Speicherpuffer verwendete Zwischenspeichertyp darf keine Annahmen über die Speicherausrichtungsanforderungen für eine bestimmte Plattform treffen.
Diese Methode ordnet die seiten des physischen Arbeitsspeichers in der MDL dem virtuellen Kernelmodusspeicher zu. In der Regel ruft der Miniporttreiber diese Methode auf, wenn softwarezugriff auf die Punktsammlungsliste für einen Audiopuffer erforderlich ist. In diesem Fall muss der Speicher für die Scatter-Gather-Liste von der IPortWaveRTStream::AllocatePagesForMdl - oder IPortWaveRTStream::AllocateContiguousPagesForMdl-Methode zugewiesen worden sein.
Ein WaveRT-Miniporttreiber sollte keinen Softwarezugriff auf den Audiopuffer selbst erfordern.
MapAllocatedPages
ähnelt im Betrieb der MmMapLockedPagesSpecifyCache-Funktion . Der Miniporttreiber ist für das Aufheben des Arbeitsspeichers vor dem Freigeben verantwortlich. Weitere Informationen finden Sie unter IPortWaveRTStream::UnmapAllocatedPages.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar unter Windows Vista und höheren Windows-Betriebssystemen. |
Zielplattform | Universell |
Header | portcls.h |
IRQL | Passive Ebene. |
Weitere Informationen
IPortWaveRTStream::AllocateContiguousPagesForMdl
IPortWaveRTStream::AllocatePagesForMdl