Bagikan melalui


Fungsi CcSetFileSizes (ntifs.h)

CcSetFileSizes rutin memperbarui peta cache dan objek bagian untuk file cache yang ukurannya telah berubah. Gunakan CcSetFileSizesEx sebagai gantinya karena menyediakan kode pengembalian NTSTATUS bersama dengan panduan yang lebih baik untuk penanganan kesalahan.

Sintaks

void CcSetFileSizes(
  [in] PFILE_OBJECT   FileObject,
  [in] PCC_FILE_SIZES FileSizes
);

Parameter

[in] FileObject

Penunjuk ke objek file untuk file yang di-cache.

[in] FileSizes

Penunjuk ke struktur CC_FILE_SIZES yang berisi informasi ukuran file baru.

Nilai kembali

Tidak ada

Keterangan

Sistem file harus memanggil CcSetFileSizesEx atau CcSetFileSizes untuk memperbarui struktur data manajer cache setiap kali salah satu perubahan berikut dilakukan pada file cache:

  • Ukuran alokasinya meningkat.

  • Panjang data yang valid dikurangi.

  • Panjang data yang valid ditingkatkan oleh operasi I/O yang tidak di-cache.

  • Ukuran filenya ditingkatkan atau dikurangi.

Jika terjadi kegagalan, CcSetFileSizes menimbulkan pengecualian status untuk kegagalan tertentu tersebut. Misalnya, jika kegagalan alokasi kumpulan terjadi, CcSetFileSizes menimbulkan pengecualian STATUS_INSUFFICIENT_RESOURCES. Oleh karena itu, untuk mendapatkan kontrol jika kegagalan terjadi, driver harus membungkus panggilan ke CcSetFileSizes dalam pernyataan try-except atau try-finally .

Sistem file harus memastikan bahwa peta cache valid dan akan tetap demikian selama panggilan ini.

Untuk membuat cache file, gunakan CcInitializeCacheMap.

Untuk mendapatkan ukuran file yang di-cache, teruskan FileObject ke CcGetFileSizePointer.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe

Lihat juga

CcInitializeCacheMap

CcSetFileSizesEx