Fungsi GetFileInformationByHandleEx (winbase.h)
Mengambil informasi file untuk file yang ditentukan.
Untuk versi yang lebih dasar dari fungsi ini untuk aplikasi desktop, lihat GetFileInformationByHandle.
Untuk mengatur informasi file menggunakan handel file, lihat SetFileInformationByHandle.
Sintaks
BOOL GetFileInformationByHandleEx(
[in] HANDLE hFile,
[in] FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
[out] LPVOID lpFileInformation,
[in] DWORD dwBufferSize
);
Parameter
[in] hFile
Handel ke file yang berisi informasi yang akan diambil.
Handel ini seharusnya bukan handel pipa.
[in] FileInformationClass
Nilai enumerasi FILE_INFO_BY_HANDLE_CLASS yang menentukan jenis informasi yang akan diambil.
Untuk tabel nilai yang valid, lihat bagian Keterangan.
[out] lpFileInformation
Penunjuk ke buffer yang menerima informasi file yang diminta. Struktur yang dikembalikan sesuai dengan kelas yang ditentukan oleh FileInformationClass. Untuk tabel jenis struktur yang valid, lihat bagian Keterangan.
[in] dwBufferSize
Ukuran buffer lpFileInformation , dalam byte.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol dan data informasi file terkandung dalam buffer yang ditujukkan oleh parameter lpFileInformation .
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Jika FileInformationClass adalah FileStreamInfo dan panggilan berhasil tetapi tidak ada aliran yang dikembalikan, kesalahan yang dikembalikan oleh GetLastErrorERROR_HANDLE_EOF.
Kelas informasi file tertentu berperilaku sedikit berbeda pada rilis sistem operasi yang berbeda. Kelas-kelas ini didukung oleh driver yang mendasar, dan informasi apa pun yang mereka kembalikan dapat berubah di antara rilis sistem operasi.
Tabel berikut ini memperlihatkan jenis kelas informasi file yang valid dan jenis struktur data terkait untuk digunakan dengan fungsi ini.
Nilai FileInformationClass | Jenis lpFileInformation |
---|---|
FileBasicInfo (0) | FILE_BASIC_INFO |
FileStandardInfo (1) | FILE_STANDARD_INFO |
FileNameInfo (2) | FILE_NAME_INFO |
FileStreamInfo (7) | FILE_STREAM_INFO |
FileCompressionInfo (8) | FILE_COMPRESSION_INFO |
FileAttributeTagInfo (9) | FILE_ATTRIBUTE_TAG_INFO |
FileIdBothDirectoryInfo (0xa) | FILE_ID_BOTH_DIR_INFO |
FileIdBothDirectoryRestartInfo (0xb) | FILE_ID_BOTH_DIR_INFO |
FileRemoteProtocolInfo (0xd) | FILE_REMOTE_PROTOCOL_INFO |
FileFullDirectoryInfo (0xe) | FILE_FULL_DIR_INFO |
FileFullDirectoryRestartInfo (0xf) | FILE_FULL_DIR_INFO |
FileStorageInfo (0x10) | FILE_STORAGE_INFO |
FileAlignmentInfo (0x11) | FILE_ALIGNMENT_INFO |
FileIdInfo (0x12) | FILE_ID_INFO |
FileIdExtdDirectoryInfo (0x13) | FILE_ID_EXTD_DIR_INFO |
FileIdExtdDirectoryRestartInfo (0x14) | FILE_ID_EXTD_DIR_INFO |
Operasi Yang Ditransaksikan
Jika ada transaksi yang terikat ke utas pada saat panggilan, maka fungsi mengembalikan ukuran file terkompresi dari tampilan file yang terisolasi. Untuk informasi selengkapnya, lihat Tentang Transactional NTFS.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 |
Persyaratan
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | winbase.h (termasuk Windows.h) |
Pustaka | Kernel32.lib; FileExtd.lib di Windows Server 2003 dan Windows XP |
DLL | Kernel32.dll |
Redistribusi | Windows SDK di Windows Server 2003 dan Windows XP. |