The MmFreePagesFromMdl routine frees all the physical pages that are described by an MDL that was created by the MmAllocatePagesForMdl routine.
NTKERNELAPI VOID MmFreePagesFromMdl( PMDL MemoryDescriptorList );
Pointer to an MDL that was created by MmAllocatePagesForMdl.
MmFreePagesFromMdl can only be used to free the memory pages that are described by an MDL that was created by MmAllocatePagesForMdl.
After calling MmFreePagesFromMdl, the caller must also call ExFreePool to release the memory that was allocated for the MDL structure.
MmFreePagesFromMdl runs at IRQL <= APC_LEVEL. For Windows Server 2008 and later versions of the Windows operating system, you can also call this routine at DISPATCH_LEVEL. However, you can improve driver performance by calling at IRQL <= APC_LEVEL.
|Windows version||Available starting with Windows 2000.|
|Header||wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)|
|IRQL||See Remarks section.|
|DDI compliance rules||IrqlMmApcLte, HwStorPortProhibitedDDIs|