PMDL
MmCreateMdl(
IN PMDL MemoryDescriptorList,/* optional */
IN PVOID Base,
IN ULONG Length
);
MmCreateMdl allocates and initializes an MDL.
Parameters
MemoryDescriptorList
Points to an MDL to initialize. If this pointer is NULL, an MDL is allocated from nonpaged pool and initialized. Otherwise, the caller-supplied MDL is initialized.
Base
Points to the base virtual address for the buffer.
Length
Specifies the size in bytes of the buffer.
Return Value
MmCreateMdl returns a pointer to the initialized MDL.
Comments
The caller must be running at IRQL < DISPATCH_LEVEL, if the caller passes a NULL pointer for MemoryDescriptorList and expects MmCreateMdl to allocate the storage.
If the call to MmCreateMdl occurs while running at IRQL >= DISPATCH_LEVEL, the caller must allocate memory for the MDL from nonpaged pool and must supply a nonNULL pointer for MemoryDescriptorList.
See Also