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 |