MmPrefetchPages 函数 (ntifs.h)

MmPrefetchPages 例程以最佳方式从辅助存储读取页面组。

语法

NTSTATUS MmPrefetchPages(
  [in] ULONG      NumberOfLists,
  [in] PREAD_LIST *ReadLists
);

参数

[in] NumberOfLists

ReadLists 参数中传递的数组中的读取列表数。

[in] ReadLists

指向要预提取的读取列表数组的指针。

返回值

MmPrefetchPages 返回STATUS_SUCCESS或表示作最终完成状态的相应错误状态。 可能的错误状态代码包括:

返回代码 描述
STATUS_INSUFFICIENT_RESOURCES 无法分配此函数所需的临时缓冲区。
STATUS_INVALID_PARAMETER_1 ReadLists 中的节不可预提取(例如,物理分区或页文件支持的节),或者提供了无效 NumberOfLists 值。

MmPrefetchPages 在成功时返回STATUS_SUCCESS,并且如果所有请求的页面都已在内存中,则表明不需要从辅助存储读取。

言论

MmPrefetchPages 以最佳方式从读取列表描述的辅助存储中读取页面。 调用方会生成各种文件对象和逻辑块偏移的列表,并将其传递给 MmPrefetchPages 函数,该函数检查内部页面、读取那些尚未有效或正在转换的页面。 通过单个读取来读取页面,使用虚拟页面来弥合小空白。 如果差距为“大”,则会发出单独的读取。

注意

节对象 必须已存在,才能预提取文件。 可以通过调用 ZwCreateSection来获取节句柄。

要求

要求 价值
最低支持的客户端 Windows XP
目标平台 普遍
标头 ntifs.h (include Ntifs.h, Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDIS(storport)PowerIrpDDis(wdm)