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 |