Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[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.]
Mengonversi jalur yang ditentukan ke bentuk panjangnya sebagai operasi yang ditransaksikan.
Untuk melakukan operasi ini tanpa transaksi, gunakan fungsi GetLongPathName
Untuk informasi selengkapnya tentang nama file dan jalur, lihat Naming Files, Paths, dan Namespaces.
Sintaksis
DWORD GetLongPathNameTransactedA(
[in] LPCSTR lpszShortPath,
[out] LPSTR lpszLongPath,
[in] DWORD cchBuffer,
[in] HANDLE hTransaction
);
Parameter
[in] lpszShortPath
Jalur yang akan dikonversi.
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.
Jalur harus berada di komputer lokal; jika tidak, fungsi gagal dan kode kesalahan terakhir diatur ke ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.
[out] lpszLongPath
Penunjuk ke buffer untuk menerima jalur panjang.
Anda dapat menggunakan buffer yang sama dengan yang Anda gunakan untuk parameter
[in] cchBuffer
Ukuran buffer lpszLongPath menunjuk ke, dalam TCHAR.
[in] hTransaction
Handel ke transaksi. Handel ini dikembalikan oleh fungsi
Mengembalikan nilai
Jika fungsi berhasil, nilai pengembalian adalah panjangnya, dalamTCHAR
Jika
Jika fungsi gagal karena alasan lain, seperti jika file tidak ada, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Pada banyak sistem file, nama file pendek berisi karakter tilde (~). Namun, tidak semua sistem file mengikuti konvensi ini. Oleh karena itu, jangan asumsikan bahwa Anda dapat melewati panggilan GetLongPathNameTransacted jika jalur tidak berisi karakter tilde (~).
Jika jalur panjang tidak ditemukan, fungsi ini mengembalikan nama yang ditentukan dalam parameter
Jika nilai pengembalian lebih besar dari nilai yang ditentukan dalam cchBuffer, Anda dapat memanggil fungsi lagi dengan buffer yang cukup besar untuk menahan jalur. Untuk contoh kasus ini, lihat bagian Kode Contoh untuk GetFullPathName.
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.
Nota
Header winbase.h mendefinisikan GetLongPathNameTransacted sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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
Penamaan File, Jalur, dan Namespace