Bagikan melalui


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

Lihat juga

CcCopyWrite

CcInitializeCacheMap