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

另请参阅

MM_MDL_ROUTINE