Fungsi GetFileAttributesTransactedA (winbase.h)

[Microsoft sangat menyarankan pengembang menggunakan cara 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 menggunakan Transactional NTFS.]

Mengambil atribut sistem file untuk file atau direktori tertentu sebagai operasi yang ditransaksikan.

Sintaks

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, namanya 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 memilih untuk menghapus batasan MAX_PATH tanpa menambahkan sebelumnya "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" di 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 Makna
GetFileExInfoStandard
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. Jika parameter fInfoLevelId adalah GetFileExInfoStandard, parameter ini menunjuk ke struktur WIN32_FILE_ATTRIBUTE_DATA

[in] hTransaction

Handel ke transaksi. Handel ini dikembalikan oleh fungsi CreateTransaction .

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol (0). Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Ketika GetFileAttributesTransacted dipanggil pada direktori yang merupakan folder yang dipasang, ia mengembalikan atribut direktori, bukan direktori akar dalam volume yang terkait dengan folder yang dipasang dengan direktori. Untuk mendapatkan atribut file dari 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
SMB 3.0 Transparent Failover (TFO) Tidak
SMB 3.0 dengan Berbagi File Peluasan Skala (SO) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Tidak
Sistem File Tangguh (ReFS) Tidak
 

SMB 3.0 tidak mendukung TxF.

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 sampai 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 .

Catatan

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

   
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

DeviceIoControl

Konstanta Atribut File

Fungsi Manajemen File

FindFirstFileTransacted

FindNextFile

GET_FILEEX_INFO_LEVELS

SetFileAttributesTransacted

Tautan Simbolis

NTFS Transaksi