Fungsi FltFlushBuffers2 (fltkernel.h)

Driver minifilter memanggil FltFlushBuffers2 untuk mengirim permintaan flush ke sistem file untuk file tertentu.

Sintaks

NTSTATUS FLTAPI FltFlushBuffers2(
  PFLT_INSTANCE      Instance,
  PFILE_OBJECT       FileObject,
  ULONG              FlushType,
  PFLT_CALLBACK_DATA CallbackData
);

Parameter

Instance

[in] Penunjuk instans buram untuk instans driver minifilter panggilan. Parameter ini diperlukan dan tidak boleh NULL.

FileObject

[in] Penunjuk objek file untuk file atau volume yang akan dihapus. Parameter ini diperlukan dan tidak boleh NULL.

FlushType

[in] Menentukan jenis flush yang harus dilakukan sistem file pada file. FlushType bisa menjadi salah satu hal berikut:

Nilai Operasi FlushType Deskripsi
0 Jika FileObject adalah untuk file, data file dan metadata dalam cache file akan ditulis, dan penyimpanan yang mendasar akan disinkronkan untuk membersihkan cache-nya. Jika FileObject adalah untuk volume, sistem file akan menyebabkan data file dan metadata untuk semua file yang dimodifikasi pada volume akan ditulis, dan penyimpanan yang mendasar untuk disinkronkan untuk membersihkan cache-nya. Operasi ini setara dengan FltFlushBuffers.
FLT_FLUSH_TYPE_FLUSH_AND_PURGE Sama seperti 0 (FltFlushBuffers), kecuali bahwa cache juga dihapus menyeluruh setelah flush selesai.
FLT_FLUSH_TYPE_FILE_DATA_ONLY Jika file berada pada sistem file NTFS, hanya data file dalam cache file yang akan ditulis. Tidak ada metadata yang ditulis dan penyimpanan yang mendasar tidak disinkronkan untuk membersihkan cache-nya. Bendera ini tidak valid jika FileObject adalah untuk volume.
FLT_FLUSH_TYPE_NO_SYNC Jika file berada pada sistem file NTFS, data file dan metadata dalam cache file akan ditulis. Penyimpanan yang mendasar tidak akan disinkronkan untuk membersihkan cache-nya. Bendera ini tidak valid jika FileObject adalah untuk volume.
FLT_FLUSH_TYPE_DATA_SYNC_ONLY Jika file berada pada sistem file NTFS, data file dalam cache file akan ditulis. Tidak ada metadata yang ditulis. Penyimpanan yang mendasar disinkronkan untuk membersihkan cache-nya. Bendera ini tidak valid jika FileObject adalah untuk volume atau direktori.

CallbackData

[in/opsional] Penunjuk ke struktur FLT_CALLBACK_DATA opsional yang digunakan untuk menyebarluaskan ekstensi IRP pemanggil. Lihat FltPropagateIrpExtension.

Nilai kembali

FltFlushBuffers2 mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti salah satu hal berikut ini:

Menampilkan kode Deskripsi
STATUS_MEDIA_WRITE_PROTECTED File berada pada volume yang dilindungi penulisan. Ini adalah kode kesalahan.
STATUS_VOLUME_DISMOUNTED File berada pada volume yang saat ini tidak dipasang. Ini adalah kode kesalahan.

Keterangan

Driver minifilter dapat memanggil FltFlushBuffers2 untuk mengeluarkan permintaan IRP_MJ_FLUSH_BUFFERS ke sistem file untuk file tertentu. Operasi flush sinkron dan dikeluarkan untuk instans di bawah Instans yang ditentukan.

Jika file berada pada sistem file NTFS, minifilter dapat mengontrol jenis flush melalui parameter FlushType .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1903
Header fltkernel.h

Lihat juga

FltFlushBuffers

FltPropagateIrpExtension

IRP_MJ_FLUSH_BUFFERS