Fungsi FlushFileBuffers (fileapi.h)

Menghapus buffer file tertentu dan menyebabkan semua data buffer ditulis ke file.

Sintaks

BOOL FlushFileBuffers(
  [in] HANDLE hFile
);

Parameter

[in] hFile

Handel ke file yang terbuka.

Handel file harus memiliki hak akses GENERIC_WRITE . Untuk informasi selengkapnya, lihat Keamanan File dan Hak Akses.

Jika hFile adalah handel ke perangkat komunikasi, fungsi hanya memerah buffer transmisi.

Jika hFile adalah handel ke akhir server dari pipa bernama, fungsi tidak kembali sampai klien telah membaca semua data buffer dari pipa.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Fungsi gagal jika hFile adalah handel ke output konsol. Itu karena output konsol tidak di-buffer. Fungsi mengembalikan FALSE, dan GetLastError mengembalikan ERROR_INVALID_HANDLE.

Keterangan

Biasanya fungsi WriteFile dan WriteFileEx menulis data ke buffer internal yang ditulis sistem operasi ke disk atau pipa komunikasi secara teratur. Fungsi FlushFileBuffers menulis semua informasi yang di-buffer untuk file tertentu ke perangkat atau pipa.

Karena interaksi penembolokan disk dalam sistem, fungsi FlushFileBuffers dapat tidak efisien ketika digunakan setelah setiap penulisan ke perangkat drive disk ketika banyak penulisan dilakukan secara terpisah. Jika aplikasi melakukan beberapa penulisan ke disk dan juga perlu memastikan data penting ditulis ke media persisten, aplikasi harus menggunakan I/O yang tidak dibuffer alih-alih sering memanggil FlushFileBuffers. Untuk membuka file untuk I/O yang tidak dibuffer, panggil fungsi CreateFile dengan bendera FILE_FLAG_NO_BUFFERING dan FILE_FLAG_WRITE_THROUGH . Ini mencegah konten file di-cache dan menghapus metadata ke disk dengan setiap tulis. Untuk informasi selengkapnya, lihat CreateFile.

Untuk membersihkan semua file yang terbuka pada volume, panggil FlushFileBuffers dengan handel ke volume. Penelepon harus memiliki hak administratif. Untuk informasi selengkapnya, lihat Menjalankan dengan Hak Istimewa Khusus.

Saat membuka volume dengan CreateFile, string lpFileName harus berupa formulir berikut: \.\x: atau \?\Volume{GUID}. Jangan gunakan garis miring terbelakang di nama volume, karena itu menunjukkan direktori akar drive.

Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Ya
SMB 3.0 Transparent Failover (TFO) Ya
SMB 3.0 dengan Berbagi File Peluasan Skala (SO) Ya
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya
 

Contoh

Misalnya, lihat Multithreaded Pipe Server.

Persyaratan

   
Klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header fileapi.h (sertakan Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CreateFile

Fungsi Manajemen File

WriteFile

WriteFileEx