共用方式為


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

變數的指標,指定要清除資料的快取檔案內的起始位移。

如果 FileOffsetNULL,則會從快取清除整個檔案。

如果 fileOffset NULL,則只會清除 fileOffset 指定的位元組範圍,並清除 Length

[in] Length

要清除的位元組範圍長度,從 fileOffset 開始。 如果 長度 為零,則會清除從 fileOffset 到檔案結尾 範圍。 如果 fileOffset NULL,則會忽略 Length

Flags

設定為 TRUE,在清除檔案數據之前,取消初始化檔案的任何私人快取對應。

傳回值

CcPurgeCacheSection 如果快取的檔案數據成功清除 ,則傳回 true TRUE,否則為 FALSE

言論

文件系統會呼叫 CcPurgeCacheSection,以從快取清除過時的數據。 例如,當檔案遭到截斷但未刪除時,應該呼叫 CcPurgeCacheSection,以清除不再屬於檔案一部分的任何快取數據。

CcPurgeCacheSection 不會清除對應的檔案。

呼叫 CcPurgeCacheSection之前,呼叫端必須以獨佔方式取得檔案,並確保沒有線程,包括呼叫端,已對應或釘選檔案中的任何位元組範圍。

要求

要求 價值
目標平臺 普遍
標頭 ntifs.h (include Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另請參閱

CcFlushCache

CcInitializeCacheMap

CcIsFileCached

CcUninitializeCacheMap

mmFlushImagesection