MmGetSystemAddressForMdl 宏 (wdm.h)

MmGetSystemAddressForMdl 例程已过时。 请改用 mmGetSystemAddressForMdlSafe

MmGetSystemAddressForMdl 是一个宏,它返回 MDL 描述的缓冲区的非分页系统空间虚拟地址。 它将给定 MDL 描述的物理页面映射到系统空间(如果它们尚未映射到系统空间)。

语法

PVOID MmGetSystemAddressForMdl(
   MDL
);

参数

[in] MDL

指向要映射其相应基本虚拟地址的缓冲区的指针。

返回值

没有

言论

MmGetSystemAddressForMdl 返回映射给定 MDL 描述的物理页的基本系统空间虚拟地址。

PIO 设备的驱动程序调用此例程,以将 MDL 描述为 Irp->MdlAddress的虚拟地址范围转换为系统空间地址范围。

MDL 必须描述不可分页的内存。 换句话说,输入 MDL 必须描述由 MmProbeAndLockPages返回的已锁定用户空间缓冲区、由 MmBuildMdlForNonPagedPool返回的锁定缓冲区,或从非分页池、连续内存或非缓存内存分配的系统空间内存。

返回的基址与 MDL 中的虚拟地址具有相同的偏移量。

如果尝试映射到系统空间失败,窗口会发出 bug 检查。 因此,应改为使用 mmGetSystemAddressForMdlSafe)。

要求

要求 价值
最低支持的客户端 过时。 请改用 MmGetSystemAddressForMdlSafe。
目标平台 桌面
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
IRQL IRQL <= DISPATCH_LEVEL

另请参阅

mmBuildMdlForNonPagedPool

mmGetSystemAddressForMdlSafe

mmProbeAndLockPages