Freigeben über


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

IPortWaveRTStream::AllocateContiguousPagesForMdl

IPortWaveRTStream::AllocatePagesForMdl

IPortWaveRTStream::UnmapAllocatedPages

MDL

MEMORY_CACHING_TYPE

MmMapLockedPagesSpecifyCache