Fungsi CcFastCopyWrite (ntifs.h)
Rutinitas CcFastCopyWrite melakukan penulisan salinan cepat dari buffer dalam memori ke file cache.
Sintaks
void CcFastCopyWrite(
[in] PFILE_OBJECT FileObject,
[in] ULONG FileOffset,
[in] ULONG Length,
[in] PVOID Buffer
);
Parameter
[in] FileObject
Penunjuk ke objek file untuk file cache tempat data akan ditulis.
[in] FileOffset
Penunjuk ke variabel yang menentukan offset byte awal dalam file yang di-cache.
[in] Length
Panjang dalam byte data yang akan ditulis.
[in] Buffer
Penunjuk ke buffer tempat data akan disalin.
Nilai kembali
Tidak ada
Keterangan
CcFastCopyWrite adalah versi CcCopyWrite yang lebih cepat. Ini berbeda dari CcCopyWrite dalam hal-hal berikut:
FileOffset adalah ULONG, bukan PLARGE_INTEGER.
Tidak ada parameter Tunggu . Penelepon harus dapat memasukkan status tunggu hingga semua data telah disalin.
CcFastCopyWrite tidak mengembalikan BOOLEAN untuk menunjukkan apakah operasi tulis berhasil.
Jika halaman yang diperlukan dari file yang di-cache sudah berada dalam memori, data segera disalin dan tidak ada pemblokiran yang terjadi. Jika ada halaman yang diperlukan tidak residen, penelepon dimasukkan ke dalam status tunggu sampai semua halaman yang diperlukan telah diresiden dan data dapat disalin.
Jika terjadi kegagalan, CcFastCopyWrite menimbulkan pengecualian status untuk kegagalan tertentu tersebut. Misalnya, jika kegagalan alokasi kumpulan terjadi, CcFastCopyWrite menimbulkan pengecualian STATUS_INSUFFICIENT_RESOURCES; jika terjadi kesalahan I/O, CcFastCopyWrite menaikkan pengecualian status kesalahan I/O. Oleh karena itu, untuk mendapatkan kontrol jika kegagalan terjadi, driver harus membungkus panggilan ke CcFastCopyWrite dalam pernyataan try-except atau try-finally .
Untuk membuat cache file, gunakan CcInitializeCacheMap.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |