Freigeben über


IPortWaveRTStream::MapAllocatedPages-Methode (portcls.h)

Die MapAllocatedPages-Methode ordnet eine Liste der zuvor zugeordneten physischen Seiten einem zusammenhängenden Block des virtuellen Speichers 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 werden. Die MDL kann durch Aufrufen IPortWaveRTStream::AllocatePagesForMdl oder IPortWaveRTStream::AllocateContiguousPagesForMdlzugewiesen werden.

[in] CacheType

Gibt den Cachetyp an. Legen Sie diesen Parameter auf einen der folgenden MEMORY_CACHING_TYPE Enumerationswerte fest: MmNonCached, MmCachedoder MmWriteCombined.

Rückgabewert

MapAllocatedPages gibt die Startadresse des zugeordneten Puffers im virtuellen Speicher zurück. Wenn die Methode den Puffer nicht zuordnen kann, wird NULL-zurückgegeben.

Bemerkungen

Da der Windows-Audiostapel keinen Mechanismus zum Ausdrücken der Speicherzugriffsausrichtung für Puffer unterstützt, müssen Audiotreiber einen Cachetyp für zugeordnete Speicherpuffer auswählen, die keine plattformspezifischen Ausrichtungsanforderungen auferlegen. Anders ausgedrückt: Der vom Audiotreiber für zugeordnete Speicherpuffer verwendete Cachetyp darf keine Annahmen über die Speicherausrichtungsanforderungen für eine bestimmte Plattform treffen.

Diese Methode ordnet die physischen Speicherseiten in der MDL dem virtuellen Speicher im Kernelmodus zu. In der Regel ruft der Miniporttreiber diese Methode auf, wenn für einen Audiopuffer Softwarezugriff auf die Punktsammlungsliste erforderlich ist. In diesem Fall muss der Speicher für die Punktsammlungsliste vom IPortWaveRTStream::AllocatePagesForMdl oder IPortWaveRTStream::AllocateContiguousPagesForMdl-Methode zugewiesen worden sein.

Ein WaveRT-Miniporttreiber sollte keinen Softwarezugriff auf den Audiopuffer selbst erfordern.

MapAllocatedPages ähnelt dem MmMapLockedPagesSpecifyCache--Funktion. Der Miniporttreiber ist dafür verantwortlich, den Speicher vor dem Freigeben aufzuheben. Weitere Informationen finden Sie unter IPortWaveRTStream::UnmapAllocatedPages.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows Vista und höheren Windows-Betriebssystemen.
Zielplattform- Universal
Header- portcls.h
IRQL- Passive Ebene.

Siehe auch

IPortWaveRTStream-

IPortWaveRTStream::AllocateContiguousPagesForMdl

IPortWaveRTStream::AllocatePagesForMdl

IPortWaveRTStream::UnmapAllocatedPages

MDL-

MEMORY_CACHING_TYPE

MmMapLockedPagesSpecifyCache-