CcSetFileSizes 函式 (ntifs.h)
CcSetFileSizes 例程會更新快取檔案的快取對應和區段物件,其大小已變更。 請改用 CcSetFileSizesEx ,因為它提供 NTSTATUS 傳回碼以及錯誤處理的更佳指引。
語法
void CcSetFileSizes(
[in] PFILE_OBJECT FileObject,
[in] PCC_FILE_SIZES FileSizes
);
參數
[in] FileObject
快取檔案之檔案物件的指標。
[in] FileSizes
包含新檔案大小資訊的 CC_FILE_SIZES 結構的指標。
傳回值
無
備註
文件系統必須呼叫 CcSetFileSizesEx 或 CcSetFileSizes ,以在對快取檔案進行下列其中一項變更時更新快取管理員數據結構:
其配置大小會增加。
其有效數據長度會減少。
其有效數據長度會隨著非快取 I/O 作業而增加。
其檔案大小會增加或減少。
如果發生任何失敗, CcSetFileSizes 會針對該特定失敗引發狀態例外狀況。 例如,如果發生集區配置失敗, CcSetFileSizes 會引發STATUS_INSUFFICIENT_RESOURCES例外狀況。 因此,若要控制是否發生失敗,驅動程式應該在 try-except 或 try-finally 語句中包裝對 CcSetFileSizes 的呼叫。
文件系統必須確定快取對應有效,而且會在此呼叫期間維持此狀態。
若要快取檔案,請使用 CcInitializeCacheMap。
若要取得快取檔案的大小,請將 FileObject 傳遞至 CcGetFileSizePointer。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |