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
Menggunakan Versi Nt dan Zw dari Rutinitas Layanan Sistem Asli
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk