Partager via


MmFreeContiguousMemory, fonction (wdm.h)

La routine MmFreeContiguousMemory libère une plage de mémoire physiquement contiguë allouée par une routine MmAllocateContiguousMemoryXxx.

Syntaxe

void MmFreeContiguousMemory(
  [in] PVOID BaseAddress
);

Paramètres

[in] BaseAddress

Pointeur vers l’adresse virtuelle de la mémoire à libérer.

Valeur de retour

Aucun

Remarques

La routine MmFreeContiguousMemory libère un bloc de mémoire physiquement contiguë allouée par un appel précédent au MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache, ou MmAllocateContiguousMemorousMemorySpecifyCacheNode routine. Le paramètre BaseAddress doit être l’adresse de base obtenue à partir de l’appel précédent à la routine MmAllocateContiguousMemoryXxx.

Un pilote de périphérique qui doit utiliser la mémoire contiguë doit allouer uniquement ce dont il a besoin pendant l’initialisation du pilote, car la mémoire physique est susceptible de devenir fragmentée à mesure que le système s’exécute. Un tel pilote doit libérer la mémoire lorsque le pilote est effectué à l’aide de la mémoire.

Les appelants de MmFreeContiguousMemory doivent s’exécuter à IRQL = APC_LEVEL. Pour Windows Server 2008 et versions ultérieures du système d’exploitation Windows, vous pouvez également appeler MmFreeContiguousMemory avec IRQL <= DISPATCH_LEVEL. Toutefois, vous pouvez améliorer les performances du pilote en appelant à APC_LEVEL ou en dessous.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Voir la section Remarques.
règles de conformité DDI HwStorPortProhibitedDDIs(storport), IrqlMmDispatch(wdm)

Voir aussi

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode