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.

Lihat juga

FILE_INFO_BY_HANDLE_CLASS

Fungsi Manajemen File

SetFileInformationByHandle