Fungsi GetFileAttributesTransactedA (winbase.h)
[Microsoft sangat merekomendasikan pengembang menggunakan sarana alternatif untuk mencapai kebutuhan aplikasi Anda. Banyak skenario yang dikembangkan TxF dapat dicapai melalui teknik yang lebih sederhana dan lebih tersedia. Selain itu, TxF mungkin tidak tersedia di versi Microsoft Windows yang akan datang. Untuk informasi lebih lanjut, dan alternatif TxF, silakan lihat Alternatif untuk menggunakanNTFS Transaksi.]
Mengambil atribut sistem file untuk file atau direktori tertentu sebagai operasi yang ditransaksikan.
Sintaksis
BOOL GetFileAttributesTransactedA(
[in] LPCSTR lpFileName,
[in] GET_FILEEX_INFO_LEVELS fInfoLevelId,
[out] LPVOID lpFileInformation,
[in] HANDLE hTransaction
);
Parameter
[in] lpFileName
Nama file atau direktori.
Secara default, nama dibatasi untuk MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan awal "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Penamaan File, Jalur, dan Namespace.
Ujung
Dimulai dengan Windows 10, Versi 1607, Anda dapat memilih untuk menghapus batasan MAX_PATH tanpa prepending "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" Penamaan File, Jalur, dan Namespace untuk detailnya.
File atau direktori harus berada di komputer lokal; jika tidak, fungsi gagal dan kode kesalahan terakhir diatur ke ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.
[in] fInfoLevelId
Tingkat informasi atribut yang akan diambil.
Parameter ini bisa menjadi nilai berikut dari enumerasi GET_FILEEX_INFO_LEVELS.
Nilai | Arti |
---|---|
|
Parameter lpFileInformation |
[out] lpFileInformation
Penunjuk ke buffer yang menerima informasi atribut.
Jenis informasi atribut yang disimpan ke dalam buffer ini ditentukan oleh nilai fInfoLevelId. Jika parameter
[in] hTransaction
Handel ke transaksi. Handel ini dikembalikan oleh fungsi
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol (0). Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Ketika GetFileAttributesTransacted dipanggil pada direktori yang merupakan folder yang dipasang, itu mengembalikan atribut direktori, bukan direktori akar dalam volume yang dikaitkan folder yang dipasang dengan direktori. Untuk mendapatkan atribut file volume terkait, panggil GetVolumeNameForVolumeMountPoint untuk mendapatkan nama volume terkait. Kemudian gunakan nama yang dihasilkan dalam panggilan ke GetFileAttributesTransacted. 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 | Tidak |
Failover Transparan (TFO) SMB 3.0 | Tidak |
SMB 3.0 dengan Scale-out File Shares (SO) | Tidak |
Sistem File Volume Bersama Kluster (CsvFS) | Tidak |
Sistem File Tangguh (ReFS) | Tidak |
SMB 3.0 tidak mendukung TxF.
Tautan simbolik: Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan atribut untuk tautan simbolis.
Operasi Ditransaksikan
Jika file terbuka untuk modifikasi dalam transaksi, tidak ada utas lain yang dapat membuka file untuk modifikasi hingga transaksi dilakukan. Sebaliknya, jika file terbuka untuk modifikasi di luar transaksi, tidak ada utas yang ditransaksikan yang dapat membuka file untuk modifikasi sampai handel yang tidak ditransaksikan ditutup. Jika utas yang tidak ditransaksikan memiliki handel yang dibuka untuk memodifikasi file, panggilan ke GetFileAttributesTransacted untuk file tersebut akan gagal dengan kesalahan ERROR_TRANSACTIONAL_CONFLICT.Nota
Header winbase.h mendefinisikan GetFileAttributesTransacted 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
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
server minimum yang didukung |
Windows Server 2008 [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winbase.h (termasuk Windows.h) |
Pustaka |
Kernel32.lib |
DLL |
Kernel32.dll |
Lihat juga
DeviceIoControl
Konstanta Atribut File
Tautan Simbolis