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
指向驱动程序提供的回调例程的指针, (MM_MDL_ROUTINE 映射 MDL 后调用的) 。
[in] DriverContext
指向驱动程序定义的上下文的指针。 驱动程序的回调函数可以在驱动程序上下文中存储任何状态信息,然后在调用回调时检查该值。
返回值
如果调用了 DriverRoutine 指向的回调函数,此函数将返回STATUS_SUCCESS。 如果无法映射 MDL 或无法调用回调函数,则函数将返回相应的 NTSTATUS 值。
注解
MmMapMdl 映射 MDL (如果尚未映射) ,则调用回调,然后释放映射 (如果已) 创建映射。 调用方不需要执行任何清理。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1709 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | wdm.h |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe (内核模式) |
IRQL | <=DISPATCH_LEVEL |