MmGetMdlVirtualAddress macro
The MmGetMdlVirtualAddress macro returns the base virtual address of a buffer described by an MDL.
Syntax
PVOID MmGetMdlVirtualAddress(
[in] PMDL Mdl
);
Parameters
- Mdl [in]
-
Pointer to an MDL that describes the buffer for which to return the initial virtual address.
Return value
MmGetMdlVirtualAddress returns the starting virtual address of the MDL.
Remarks
MmGetMdlVirtualAddress returns a virtual address that is not necessarily valid in the current thread context. Lower-level drivers should not attempt to use the returned virtual address to access memory, particularly user memory space.
The returned address, used as an index to a physical address entry in the MDL, can be input to MapTransfer.
Callers of MmGetMdlVirtualAddress can be running at any IRQL. Usually, the caller is running at IRQL = DISPATCH_LEVEL because this routine is commonly called to obtain the CurrentVa parameter to MapTransfer.
Requirements
|
Version | Available in Windows 2000 and later versions of Windows. |
|---|---|
|
Header |
|
|
IRQL | Any level (see Remarks section) |
|
DDI compliance rules | MdlAfterReqCompletedIntIoctlA, MdlAfterReqCompletedIoctlA, MdlAfterReqCompletedReadA, MdlAfterReqCompletedWriteA |
See also
Send comments about this topic to Microsoft
Build date: 5/22/2013