Bagikan melalui


Fungsi FlushFileBuffers (fileapi.h)

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

Sintaksis

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 menghapus buffer transmisi.

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

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil 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.

Komentar

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 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 tulisan. Untuk informasi selengkapnya, lihat CreateFile.

Untuk menghapus semua file yang terbuka pada volume, panggil FlushFileBuffers dengan handel ke volume. Pemanggil harus memiliki hak administratif. Untuk informasi selengkapnya, lihat Berjalan 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
Failover Transparan (TFO) SMB 3.0 Ya
SMB 3.0 dengan Scale-out File Shares (SO) Ya
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya
 

Contoh

Misalnya, lihatMultithreaded Pipe Server .

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Platform Target Windows
Header fileapi.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CreateFile

File Management Functions

WriteFile

WriteFileEx