MmFreeContiguousMemory-Funktion (wdm.h)

Die MmFreeContiguousMemory-Routine gibt einen Bereich von physisch zusammenhängendem Arbeitsspeicher frei, der von einer MmAllocateContiguousMemoryXxx-Routine zugewiesen wurde.

Syntax

void MmFreeContiguousMemory(
  [in] PVOID BaseAddress
);

Parameter

[in] BaseAddress

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

Rückgabewert

Keine

Bemerkungen

Die MmFreeContiguousMemory-Routine gibt einen Block von physisch zusammenhängendem Arbeitsspeicher frei, der durch einen vorherigen Aufruf der Routinen MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache oder MmAllocateContiguousMemorySpecifyCacheNode zugewiesen wurde. Der BaseAddress-Parameter muss die Basisadresse sein, die aus dem vorherigen Aufruf der Xxx-Routine MmAllocateContiguousMemory abgerufen wurde.

Ein Gerätetreiber, der zusammenhängenden Arbeitsspeicher verwenden muss, sollte nur das zuordnen, was er während der Treiberinitialisierung benötigt, da der physische Arbeitsspeicher wahrscheinlich fragmentiert wird, wenn das System ausgeführt wird. Ein solcher Treiber muss die Zuordnung des Arbeitsspeichers aufheben, wenn der Treiber den Arbeitsspeicher 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 mmFreeContiguousMemory auch mit IRQL <= DISPATCH_LEVEL aufrufen. Sie können jedoch die Leistung des Treibers verbessern, indem Sie unter APC_LEVEL oder darunter aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (include Wdm.h, Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), IrqlMmDispatch(wdm)

Weitere Informationen

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode