Funzione MmFreeContiguousMemory (ntddk.h)
Il MmFreeContiguousMemory routine rilascia una serie di memoria fisicamente contigua allocata da una routine MmAllocateContiguousMemoryXxx.
Sintassi
void MmFreeContiguousMemory(
[in] PVOID BaseAddress
);
Parametri
[in] BaseAddress
Puntatore all'indirizzo virtuale della memoria da liberare.
Valore restituito
Nessuno
Osservazioni
La routine MmFreeContiguousMemory libera un blocco di memoria fisicamente contigua allocata da una chiamata precedente al MmAllocateContiguousMemoryMmAllocateContiguousMemorySpecifyCacheo mmAllocateContiguousMemorySpecifyCacheNode routine. Il parametro BaseAddress deve essere l'indirizzo di base ottenuto dalla chiamata precedente alla routine MmAllocateContiguousMemoryXxx.
Un driver di dispositivo che deve usare memoria contigua deve allocare solo ciò di cui ha bisogno durante l'inizializzazione del driver perché è probabile che la memoria fisica diventi frammentata durante l'esecuzione del sistema. Tale driver deve deallocare la memoria quando il driver viene eseguito usando la memoria.
I chiamanti di MmFreeContiguousMemory devono essere in esecuzione in IRQL = APC_LEVEL. Per Windows Server 2008 e versioni successive del sistema operativo Windows, è anche possibile chiamare MmFreeContiguousMemory con IRQL <= DISPATCH_LEVEL. Tuttavia, è possibile migliorare le prestazioni del driver chiamando APC_LEVEL o versione successiva.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | ntddk.h (include Wdm.h, Ntddk.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | Vedere la sezione Osservazioni. |
regole di conformità DDI | HwStorPortProhibitedDDIs(storport), IrqlMmDispatch(wdm) |