Bagikan melalui


Fungsi CcCopyWrite (ntifs.h)

CcCopyWrite rutin menyalin data dari buffer pengguna ke file cache.

Sintaks

BOOLEAN CcCopyWrite(
  [in] PFILE_OBJECT   FileObject,
  [in] PLARGE_INTEGER FileOffset,
  [in] ULONG          Length,
  [in] BOOLEAN        Wait,
  [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 byte data yang akan ditulis.

[in] Wait

Atur ke TRUE jika penelepon dapat dimasukkan ke dalam status tunggu hingga semua data telah disalin, FALSE jika tidak.

[in] Buffer

Penunjuk ke buffer tempat data akan disalin.

Nilai kembali

Rutinitas CcCopyWrite mengembalikan TRUE jika data berhasil disalin, FALSE jika tidak.

Keterangan

Jika Wait is TRUE, CcCopyWrite dijamin untuk menyelesaikan permintaan salin dan mengembalikan TRUE. Jika halaman yang diperlukan dari file yang di-cache sudah berada dalam memori, data akan segera disalin dan tidak ada pemblokiran yang akan terjadi. Jika ada halaman yang diperlukan tidak residen, penelepon akan dimasukkan ke dalam status tunggu sampai semua halaman yang diperlukan telah dibuat residen dan data dapat disalin.

Jika Wait is FALSE, CcCopyWrite akan menolak untuk memblokir, dan akan mengembalikan FALSE, jika halaman yang diperlukan dari file yang di-cache belum berada dalam memori atau jika bendera FO_WRITE_THROUGH diatur pada objek file.

Jika terjadi kegagalan, CcCopyWrite akan memunculkan pengecualian status untuk kegagalan tertentu tersebut. Misalnya, jika kegagalan alokasi kumpulan terjadi, CcCopyWrite menimbulkan pengecualian STATUS_INSUFFICIENT_RESOURCES; jika terjadi kesalahan I/O, CcCopyWrite menaikkan pengecualian status kesalahan I/O. Oleh karena itu, untuk mendapatkan kontrol jika kegagalan terjadi, driver harus membungkus panggilan ke CcCopyWrite dalam pernyataan try-except atau try-finally .

Untuk membuat cache file, gunakan CcInitializeCacheMap.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h, FltKernel.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Lihat juga

CcInitializeCacheMap