Freigeben über


MmFreeContiguousMemory-Funktion (ntddk.h)

Die MmFreeContiguousMemory Routine gibt einen Bereich physisch zusammenhängender Speicher frei, der von einer MmAllocateContiguousMemoryXxx Routine zugeordnet wurde.

Syntax

void MmFreeContiguousMemory(
  [in] PVOID BaseAddress
);

Parameter

[in] BaseAddress

Zeigen Sie auf die virtuelle Adresse des Speichers, der freigegeben werden soll.

Rückgabewert

Nichts

Bemerkungen

Die MmFreeContiguousMemory Routine gibt einen Block physischen zusammenhängenden Speichers frei, der durch einen vorherigen Aufruf der MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCacheoder MmAllocateContiguousMemorySpecifyCacheNode Routine zugewiesen wurde. Der parameter BaseAddress muss die Basisadresse sein, die aus dem vorherigen Aufruf des MmAllocateContiguousMemoryXxx Routine abgerufen wurde.

Ein Gerätetreiber, der zusammenhängenden Arbeitsspeicher verwenden muss, sollte nur das zuordnen, was er während der Treiberinitialisierung benötigt, da physischer Speicher wahrscheinlich fragmentiert wird, während das System ausgeführt wird. Ein solcher Treiber muss den Speicher umlagern, wenn der Treiber den Speicher verwendet.

Aufrufer von MmFreeContiguousMemory- müssen unter IRQL = APC_LEVEL ausgeführt werden. Für Windows Server 2008 und höhere Versionen des Windows-Betriebssystems können Sie auch MmFreeContiguousMemory mit IRQL-<= DISPATCH_LEVEL aufrufen. Sie können jedoch die Treiberleistung verbessern, indem Sie APC_LEVEL oder unten aufrufen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- ntddk.h (enthalten Wdm.h, Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- Siehe Abschnitt "Hinweise".
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlMmDispatch(wdm)

Siehe auch

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode