MmPrefetchPages 函式 (ntifs.h)
MmPrefetchPages 例程會以最佳方式從次要記憶體讀取頁面群組。
語法
NTSTATUS MmPrefetchPages(
[in] ULONG NumberOfLists,
[in] PREAD_LIST *ReadLists
);
參數
[in] NumberOfLists
陣列中傳入 ReadLists 參數的讀取清單數目。
[in] ReadLists
要預先擷取之讀取清單陣列的指標。
傳回值
MmPrefetchPages 會傳回STATUS_SUCCESS或代表作業最終完成狀態的適當錯誤狀態。 可能的錯誤狀態代碼包括:
傳回碼 | Description |
---|---|
STATUS_INSUFFICIENT_RESOURCES | 無法配置此函式所需的暫存緩衝區。 |
STATUS_INVALID_PARAMETER_1 | ReadLists 中的區段無法預先堲取 (例如實體或頁面檔支援的區段) ,或提供無效的 NumberOfLists 值。 |
MmPrefetchPages 會在成功時傳回STATUS_SUCCESS,而且如果所有要求的頁面都已經在記憶體中,表示不需要從次要記憶體讀取。
備註
MmPrefetchPages 會 以最佳方式從讀取清單描述的次要記憶體讀取頁面。 呼叫端會建置各種檔案對象和邏輯區塊位移的清單,並將其傳遞至 MmPrefetchPages 函式,以檢查內部頁面、讀取尚未有效或轉換中的頁面。 頁面是使用單一讀取來讀取,並使用虛擬頁面來橋接小型間距。 如果間距為「大」,則會發出個別的讀取。
注意
區 段對象 必須已經存在,才能預先擷取檔案。 您可以呼叫 ZwCreateSection 來取得區段句柄。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 PowerIrpDDis (wdm) |