MmGetMdlVirtualAddress 宏 (wdm.h)

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

语法

PVOID
MmGetMdlVirtualAddress (
    _In_ PMDL Mdl
    )

参数

[in] Mdl

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

返回值

没有

言论

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

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

返回的地址(用作 MDL 中物理地址条目的索引)可以输入 MapTransfer

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

要求

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