Bagikan melalui


Fungsi CcCanIWrite (ntifs.h)

Rutinitas CcCanIWrite menentukan apakah pemanggil dapat menulis ke file cache.

Sintaks

BOOLEAN CcCanIWrite(
  [in] PFILE_OBJECT FileObject,
  [in] ULONG        BytesToWrite,
  [in] BOOLEAN      Wait,
  [in] UCHAR        Retrying
);

Parameter

[in] FileObject

Penunjuk ke objek file untuk file yang di-cache.

[in] BytesToWrite

Jumlah byte yang akan ditulis.

[in] Wait

Atur ke TRUE jika penelepon dapat dimasukkan ke dalam status tunggu hingga dapat menulis ke file yang di-cache, FALSE jika tidak.

[in] Retrying

Atur ke FALSE jika ini adalah pertama kalinya CcCanIWrite dipanggil untuk permintaan tulis ini, TRUE jika tidak.

Nilai kembali

CcCanIWrite mengembalikan TRUE jika manajer cache dapat menerima permintaan tulis, FALSE jika tidak.

Keterangan

CcCanIWrite harus dipanggil sebelum memanggil CcCopyWrite atau CcFastCopyWrite.

Jika CcCanIWrite mengembalikan TRUE, pemanggil dapat segera memanggil CcCopyWrite atau CcFastCopyWrite.

Jika CcCanIWrite mengembalikan FALSE, pemanggil harus memanggil CcDeferWrite untuk menangguhkan permintaan tulis.

Secara umum, manajer cache dapat menerima permintaan tulis jika kondisi berikut benar:

  • Jumlah data yang akan ditulis tidak terlalu besar.

  • Ada cukup memori untuk melakukan operasi tulis.

  • Jumlah halaman kotor dalam cache sistem tidak melebihi ambang halaman kotor (CcDirtyPageThreshold).

  • Jika ambang halaman kotor per file ada untuk file ini, ambang tidak terlampaui oleh jumlah halaman kotor untuk file ini dalam cache sistem.

Untuk menyimpan file, gunakan CcInitializeCacheMap.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe

Lihat juga

CcCopyWrite

CcDeferWrite

CcFastCopyWrite

CcInitializeCacheMap

CcSetDirtyPageThreshold