Share via


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 関数に渡し、まだ有効でないページまたは遷移中のページを読み取ります。 ページは 1 回の読み取りで読み取られます。ダミー ページを使用して小さなギャップを埋めます。 ギャップが "大きい" 場合は、個別の読み取りが発行されます。

注意

ファイルをプリフェッチするには、 セクション オブジェクト が既に存在している必要があります。 セクション ハンドルは、 ZwCreateSection を呼び出すことで取得できます。

要件

要件
サポートされている最小のクライアント Windows XP
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)