MmGetMdlVirtualAddress 宏 (wdm.h)

MmGetMdlVirtualAddress 宏返回 MDL 描述的缓冲区的基本虚拟地址。

语法

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

参数

[in] Mdl

指向 MDL 的指针,该 MDL 描述要返回其初始虚拟地址的缓冲区。

返回值

备注

MmGetMdlVirtualAddress 返回 MDL 的起始虚拟地址。

MmGetMdlVirtualAddress 返回在当前线程上下文中不一定有效的虚拟地址。 较低级别的驱动程序不应尝试使用返回的虚拟地址来访问内存,尤其是在用户内存空间中。

可将用作 MDL 中物理地址项的索引的返回地址输入到 MapTransfer 中。

MmGetMdlVirtualAddress 的调用方可在任何 IRQL 上运行。 通常,调用方在 = DISPATCH_LEVEL 的 IRQL 上运行,因为通常会调用此例程来获取 MapTransferCurrentVa 参数。

要求

要求
最低受支持的客户端 Windows 2000
标头 wdm.h
IRQL 任何级别 (请参阅备注)
DDI 符合性规则 MdlAfterReqCompletedIntIoctlA (kmdf) MdlAfterReqCompletedIoctlA (kmdf) MdlAfterReqCompletedReadA (kmdf) MdlAfterReqCompletedWriteA (kmdf)