Fungsi CcSetFileSizesEx (ntifs.h)
CcSetFileSizesEx rutin memperbarui peta cache dan objek bagian untuk file cache yang ukurannya telah berubah.
Sintaks
NTSTATUS CcSetFileSizesEx(
PFILE_OBJECT FileObject,
PCC_FILE_SIZES FileSizes
);
Parameter
FileObject
[in] Penunjuk ke objek file untuk file yang di-cache.
FileSizes
[in] Penunjuk ke struktur CC_FILE_SIZES yang berisi informasi ukuran file baru.
Nilai kembali
CcSetFileSizesEx mengembalikan STATUS_SUCCESS jika ukuran file berhasil diubah, dan, jika pembersihan diperlukan agar pembersihan berhasil. Jika tidak, ia mengembalikan kode NSTATUS yang tidak berhasil seperti STATUS_INSUFFICIENT_RESOURCES, dan mungkin menaikkan pengecualian status.
Mengenai menaikkan pengecualian status pada kesalahan:
Jika operasi menyebabkan CcSetFileSizesEx membersihkan dan/atau membersihkan file, CcSetFileSizesEx tidak akan menimbulkan kesalahan; itu hanya mengembalikan kode NTSTATUS yang tidak berhasil yang sesuai dari operasi pembersihan atau pembersihan.
Jika operasi menyebabkan CcSetFileSizesEx memperluas bagian, maka CcSetFileSizesEx akan muncul pada kesalahan yang ditimbulkannya selama ekstensi ini.
Keterangan
Sistem file harus memanggil CcSetFileSizesEx untuk memperbarui struktur data manajer cache setiap kali salah satu perubahan berikut dilakukan pada file yang di-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 operasi menyebabkan CcSetFileSizesEx memperluas bagian dan kegagalan terjadi, CcSetFileSizesEx menimbulkan pengecualian status untuk kegagalan tertentu tersebut. Misalnya, jika kegagalan alokasi kumpulan terjadi, CcSetFileSizesEx menimbulkan pengecualian STATUS_INSUFFICIENT_RESOURCES. Oleh karena itu, untuk mendapatkan kontrol jika kegagalan terjadi, driver harus membungkus panggilan ke CcSetFileSizesEx 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 |
---|---|
Header | ntifs.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk