Fungsi GetFileAttributesExA (fileapi.h)
Mengambil atribut untuk file atau direktori tertentu.
Untuk melakukan operasi ini sebagai operasi yang ditransaksikan, gunakan fungsi GetFileAttributesTransacted .
Sintaks
BOOL GetFileAttributesExA(
[in] LPCSTR lpFileName,
[in] GET_FILEEX_INFO_LEVELS fInfoLevelId,
[out] LPVOID lpFileInformation
);
Parameter
[in] lpFileName
Nama file atau direktori.
Secara default, nama terbatas pada MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Menamai File, Jalur, dan Namespace.
Tip
Dimulai dengan Windows 10, Versi 1607, Anda dapat ikut serta untuk menghapus batasan MAX_PATH tanpa menambahkan awalan "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" dari Penamaan File, Jalur, dan Namespace untuk detailnya.
[in] fInfoLevelId
Kelas informasi atribut untuk diambil.
Parameter ini dapat menjadi nilai berikut dari enumerasi GET_FILEEX_INFO_LEVELS .
Nilai | Makna |
---|---|
|
Parameter lpFileInformation adalah struktur WIN32_FILE_ATTRIBUTE_DATA . |
[out] lpFileInformation
Penunjuk ke buffer yang menerima informasi atribut.
Jenis informasi atribut yang disimpan ke dalam buffer ini ditentukan oleh nilai fInfoLevelId.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol (0). Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Fungsi GetFileAttributes mengambil informasi atribut sistem file. GetFileAttributesEx dapat memperoleh sekumpulan informasi atribut file atau direktori lainnya. Saat ini, GetFileAttributesEx mengambil sekumpulan atribut standar yang merupakan superset dari informasi atribut sistem file.
Ketika fungsi GetFileAttributesEx dipanggil pada direktori yang merupakan folder yang dipasang, fungsi ini mengembalikan atribut direktori, bukan direktori akar dalam volume yang terkait dengan folder yang dipasang dengan direktori. Untuk mendapatkan atribut volume terkait, panggil GetVolumeNameForVolumeMountPoint untuk mendapatkan nama volume terkait. Kemudian gunakan nama yang dihasilkan dalam panggilan ke GetFileAttributesEx. Hasilnya adalah atribut direktori akar pada volume terkait.
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 Scale-out File Shares (SO) | Ya |
Sistem File Volume Bersama Kluster (CsvFS) | Ya |
Sistem File Tangguh (ReFS) | Ya |
Perilaku tautan simbolis—Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan atribut untuk tautan simbolis.
Operasi yang Ditransaksikan
Jika file terbuka untuk modifikasi dalam transaksi, tidak ada utas lain yang dapat membuka file untuk modifikasi hingga transaksi dilakukan. Jadi, jika utas yang ditransaksikan membuka file terlebih dahulu, utas berikutnya yang mencoba memodifikasi file sebelum transaksi dilakukan menerima pelanggaran berbagi. Jika utas yang tidak ditransaksikan memodifikasi file sebelum utas yang ditransaksikan, dan file masih terbuka ketika transaksi mencoba membukanya, transaksi menerima kesalahan ERROR_TRANSACTIONAL_CONFLICT.Catatan
Header fileapi.h mendefinisikan GetFileAttributesEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
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 |