MmMapMdl 函数 (wdm.h)
此函数将内存描述符列表(MDL)描述的物理页映射到系统虚拟地址空间。
语法
NTSTATUS MmMapMdl(
[in] PMDL MemoryDescriptorList,
[in] ULONG Protection,
[in] PMM_MDL_ROUTINE DriverRoutine,
[in] PVOID DriverContext
);
参数
[in] MemoryDescriptorList
指向有效 MDL 的指针。
[in] Protection
指示为页面设置的保护的按位标志。 可能的值PAGE_Xxx Wdm.h 中定义的常量。
[in] DriverRoutine
指向映射 MDL 后调用的驱动程序提供的回调例程(MM_MDL_ROUTINE)的指针。
[in] DriverContext
指向驱动程序定义的上下文的指针。 驱动程序的回调函数可以在驱动程序上下文中存储任何状态信息,然后在调用回调时检查该值。
返回值
如果调用了 DriverRoutine 所指向的回调函数,则此函数将返回STATUS_SUCCESS。 如果无法映射 MDL 或无法调用回调函数,该函数将返回相应的 NTSTATUS 值。
言论
MmMapMdl 映射 MDL(如果尚未映射),调用回调,然后释放映射(如果已创建)。 调用方不需要执行任何清理。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1709 |
支持的最低服务器 | Windows Server 2016 |
目标平台 | 窗户 |
标头 | wdm.h |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe(内核模式) |
IRQL | <=DISPATCH_LEVEL |