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 |