Partager via


Fonction MmFreeContiguousMemory (wdm.h)

La routine MmFreeContiguousMemory libère une plage de mémoire contiguë physiquement 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

None

Remarques

La routine MmFreeContiguousMemory libère un bloc de mémoire contiguë qui a été alloué par un appel précédent à la routine MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache ou MmAllocateContiguousMemorySpecifyCacheNode . 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 lors de l’initialisation du pilote, car la mémoire physique est susceptible de devenir fragmentée au fur et à mesure que le système s’exécute. Un tel pilote doit libérer la mémoire lorsque le pilote est terminé à l’aide de la mémoire.

Les appelants de MmFreeContiguousMemory doivent être en cours d’exécution à IRQL = APC_LEVEL. Pour Windows Server 2008 et les 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Consultez la section Notes.
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),IrqlMmDispatch(wdm)

Voir aussi

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode