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 |