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) |