ccPurgeCacheSection 函式 (ntifs.h)
CcPurgeCacheSection 例程會清除系統快取中快取檔案的所有或部分。
語法
BOOLEAN CcPurgeCacheSection(
[in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in, optional] PLARGE_INTEGER FileOffset,
[in] ULONG Length,
ULONG Flags
);
參數
[in] SectionObjectPointer
結構的指標,其中包含檔案對象的區段對象指標。
[in, optional] FileOffset
變數的指標,指定要清除資料的快取檔案內的起始位移。
如果 FileOffset 為 NULL,則會從快取中清除整個檔案。
如果 FileOffset 不是 NULL,則只會清除 FileOffset 所指定的位元組範圍和 Length 。
[in] Length
要清除的位元組範圍長度,從 FileOffset 開始。 如果 Length 為零,則會清除 從 FileOffset 到檔案結尾的範圍。 如果 FileOffset 為 NULL,則會忽略 Length 。
Flags
設定為 TRUE 以取消初始化檔案的任何私人快取對應,再清除檔案數據。
傳回值
如果快取的檔案數據已成功清除,CcPurgeCacheSection 會傳回 TRUE,否則傳回 FALSE。
備註
文件系統會呼叫 CcPurgeCacheSection ,以清除快取中的過時數據。 例如,當檔案遭到截斷但未刪除時,應該呼叫 CcPurgeCacheSection 來清除任何不再屬於檔案的快取數據。
CcPurgeCacheSection 不會清除對應的檔案。
呼叫 CcPurgeCacheSection 之前,呼叫端必須以獨佔方式取得檔案,並確保沒有線程,包括呼叫端已對應或釘選檔案中的任何位元組範圍。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應