The MmBuildMdlForNonPagedPool routine receives an MDL that specifies a virtual memory buffer in nonpaged pool, and updates it to describe the underlying physical pages.
VOID
MmBuildMdlForNonPagedPool(
IN OUT PMDL MemoryDescriptorList
);
None
Declared in wdm.h and ntddk.h. Include wdm.h or ntddk.h.
The MDL virtual address that is input must be within the nonpaged portion of system space, such as memory allocated by ExAllocatePoolWithTag with PoolType = NonPagedPool.
Callers of MmBuildMdlForNonPagedPool must be running at IRQL <= DISPATCH_LEVEL.
ExAllocatePoolWithTag, IoAllocateMdl, MmCreateMdl, MmInitializeMdl, MmIsNonPagedSystemAddressValid, MmMapIoSpace, MmSizeOfMdl