mmProbeAndLockSelectedPages 函数 (wdm.h)
MmProbeAndLockSelectedPages 例程探测所选的虚拟内存页,使其驻留,并将其锁定在内存中。
语法
void MmProbeAndLockSelectedPages(
[in, out] PMDL MemoryDescriptorList,
[in] PFILE_SEGMENT_ELEMENT SegmentArray,
[in] KPROCESSOR_MODE AccessMode,
[in] LOCK_OPERATION Operation
);
参数
[in, out] MemoryDescriptorList
指向内存描述符列表的指针 (指定虚拟内存缓冲区的 MDL) 。 如果例程成功锁定内存中的页,则会更新 MDL 以描述基础物理页。
[in] SegmentArray
指向包含虚拟内存页的缓冲区段数组的指针。
[in] AccessMode
指定用于探测参数的访问模式,即 KernelMode 或 UserMode。
[in] Operation
指定调用方希望探测其访问权限并锁定页面的操作类型。 将此参数设置为 IoReadAccess、IoWriteAccess 或 IoModifyAccess。 IoReadAccess 指示驱动程序可以检查缓冲区的内容,但无法更改内容。 等效的 IoWriteAccess 和 IoModifyAccess 指示驱动程序对缓冲区具有读取和写入访问权限。
返回值
无
备注
对 MmProbeAndLockSelectedPages 的 调用必须包含在 try/except 块中。 如果页面不支持指定的操作,则例程将引发STATUS_ACCESS_VIOLATION或其他异常。 有关详细信息,请参阅 处理异常。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h |
IRQL | <= APC_LEVEL |