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) |