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

另请参阅

MM_MDL_ROUTINE