Fungsi ZwFlushBuffersFileEx (ntifs.h)

Rutinitas ZwFlushBuffersFileEx dipanggil oleh driver filter sistem file untuk mengirim permintaan flush untuk file tertentu ke sistem file. Bendera operasi flush opsional dapat diatur untuk mengontrol bagaimana data file ditulis ke penyimpanan.

Sintaks

NTSYSAPI NTSTATUS ZwFlushBuffersFileEx(
  [in]  HANDLE           FileHandle,
        ULONG            FLags,
        PVOID            Parameters,
        ULONG            ParametersSize,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

Parameter

[in] FileHandle

Tangani yang dikembalikan oleh ZwCreateFile atau ZwOpenFile untuk file yang buffernya akan dibersihkan. Parameter ini diperlukan dan tidak boleh NULL.

FLags

Hapus bendera operasi. Bendera bisa 0 atau salah satu nilai berikut.

Nilai Makna
FLUSH_FLAGS_FILE_DATA_ONLY

Jika file berada pada sistem file NTFS, 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.

FLUSH_FLAGS_NO_SYNC

Jika file berada pada sistem file NTFS, 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.

 

Parameters

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

ParametersSize

Ukuran, dalam byte, dari blok parameter.

[out] IoStatusBlock

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

Nilai kembali

ZwFlushBuffersFileEx 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.
STATUS_ACCESS_DENIED
File tidak memiliki akses tulis atau tambahkan.

Keterangan

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

Driver minifilter harus memanggil FltFlushBuffers alih-alih memanggil ZwFlushBuffersFileEx.

Pemanggil ZwFlushBuffersFileEx harus berjalan di IRQL = PASSIVE_LEVEL dan dengan APC kernel khusus diaktifkan.

Catatan Jika panggilan ke fungsi ZwFlushBuffersFileEx terjadi dalam mode pengguna, Anda harus menggunakan nama "NtFlushBuffersFileEx" alih-alih "ZwFlushBuffersFileEx".
 
Untuk panggilan dari driver mode kernel, versi **Nt*Xxx*** dan **Zw*Xxx*** dari rutinitas Layanan Sistem Asli Windows dapat berperilaku berbeda dalam cara mereka menangani dan menginterpretasikan parameter input. Untuk informasi selengkapnya tentang hubungan antara versi **Nt*Xxx*** dan **Zw*Xxx*** dari rutinitas, lihat [Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli](/windows-hardware/drivers/kernel/using-nt-and-zw-versions-of-the-native-system-services-routines).

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

FltFlushBuffers

IRP_MJ_FLUSH_BUFFERS

Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli

ZwCreateFile

ZwOpenFile