MmGetSystemAddressForMdl 宏 (wdm.h)

MmGetSystemAddressForMdl 例程已过时。 请改用 MmGetSystemAddressForMdlSafe

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

语法

PVOID MmGetSystemAddressForMdl(
   MDL
);

参数

[in] MDL

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

返回值

备注

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

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

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

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

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

要求

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

另请参阅

MmBuildMdlForNonPagedPool

MmGetSystemAddressForMdlSafe

MmProbeAndLockPages