Fungsi NtFlushBuffersFileEx (ntifs.h)

Rutinitas NtFlushBuffersFileEx mengirimkan permintaan flush untuk file tertentu ke sistem file. Bendera operasi flush opsional dapat diatur untuk mengontrol bagaimana data file ditulis ke penyimpanan.

Sintaks

__kernel_entry NTSYSCALLAPI NTSTATUS NtFlushBuffersFileEx(
  [in]  HANDLE           FileHandle,
  [in]  ULONG            Flags,
  [in]  PVOID            Parameters,
  [in]  ULONG            ParametersSize,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

Parameter

[in] FileHandle

Tangani yang dikembalikan oleh NtCreateFile atau NtOpenFile untuk file yang buffernya akan dihapus. Parameter ini diperlukan dan tidak boleh NULL.

[in] Flags

Membersihkan bendera operasi. Bendera bisa menjadi salah satu nilai berikut:

Nilai Makna
0 (normal) Data file dan metadata dalam cache file akan ditulis, dan penyimpanan yang mendasar disinkronkan untuk membersihkan cache-nya. Sistem file Windows yang didukung: NTFS, ReFS, FAT, exFAT.
FLUSH_FLAGS_FILE_DATA_ONLY Data file dalam cache file akan ditulis. Tidak ada metadata yang ditulis dan penyimpanan yang mendasar tidak disinkronkan untuk membersihkan cache-nya. Bendera ini tidak valid dengan handel volume. Sistem file Windows didukung: NTFS, FAT, exFAT.
FLUSH_FLAGS_NO_SYNC Data file dan metadata dalam cache file akan ditulis. Penyimpanan yang mendasar tidak disinkronkan untuk membersihkan cache-nya. Bendera ini tidak valid dengan handel volume. Sistem file Windows didukung: NTFS, FAT, exFAT.
FLUSH_FLAGS_FILE_DATA_SYNC_ONLY Data dari file yang diberikan akan ditulis dari cache dalam memori Windows. Hanya metadata yang diperlukan untuk pengambilan data yang akan dihapus (pembaruan tanda waktu akan dilewati sebanyak mungkin). Penyimpanan yang mendasar disinkronkan untuk membersihkan cache-nya. Bendera ini tidak valid dengan handel volume atau direktori. Sistem file Windows didukung: NTFS.

[in] Parameters

Pointer ke blok dengan parameter tambahan. Parameter ini saat ini harus diatur ke NULL.

[in] ParametersSize

Ukuran, dalam byte, dari blok yang dirujuk Parameter . Parameter ini saat ini harus diatur ke 0.

[out] IoStatusBlock

Alamat blok status I/O penelepon. Parameter ini diperlukan dan tidak boleh NULL.

Nilai kembali

NtFlushBuffersFileEx 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 tulis; ini adalah kode kesalahan.
STATUS_VOLUME_DISMOUNTED File berada pada volume yang saat ini tidak dipasang; ini adalah kode kesalahan.
STATUS_ACCESS_DENIED File tidak memiliki akses tulis atau tambahkan.

Keterangan

Driver minifilter harus memanggil FltFlushBuffers2 alih-alih memanggil NtFlushBuffersFileEx.

Driver filter sistem file warisan dapat memanggil NtFlushBuffersFileEx untuk mengeluarkan permintaan IRP_MJ_FLUSH_BUFFERS ke sistem file untuk file tertentu. Operasi flush sinkron.

Penelepon NtFlushBuffersFileEx harus berjalan di IRQL = PASSIVE_LEVEL dan dengan APC kernel khusus diaktifkan.

Untuk panggilan dari driver mode kernel, versi NtXxx dan ZwXxx dari rutinItas Windows Native System Services dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi NtXxx dan ZwXxx dari rutinitas, lihat Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (Lihat bagian Keterangan.)

Lihat juga

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

NtCreateFile

NtOpenFile