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.
Mengonversi jalur yang ditentukan ke bentuk panjangnya.
Untuk melakukan operasi ini sebagai operasi yang ditransaksikan, gunakan fungsi
Untuk informasi selengkapnya tentang nama file dan jalur, lihat Naming Files, Paths, dan Namespaces.
Sintaksis
DWORD GetLongPathNameA(
[in] LPCSTR lpszShortPath,
[out] LPSTR lpszLongPath,
[in] DWORD cchBuffer
);
Parameter
[in] lpszShortPath
Jalur yang akan dikonversi.
[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.
Mengembalikan nilai
Jika fungsi berhasil, nilai pengembalian adalah panjangnya, dalam TCHAR, dari string yang disalin ke lpszLongPath, tidak termasuk karakter null yang mengakhiri.
Jika buffer lpszLongPath terlalu kecil untuk berisi jalur, nilai yang dikembalikan adalah ukurannya, di TCHAR, dari buffer yang diperlukan untuk menahan jalur dan karakter null yang mengakhiri.
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 GetLongPathName jika jalur tidak berisi karakter tilde (~).
Jika file atau direktori ada tetapi jalur panjang tidak ditemukan, GetLongPathName berhasil, setelah menyalin string yang dimaksud oleh parameter lpszShortPath ke buffer yang dirujuk oleh parameter lpszLongPath.
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 | Ya |
| Failover Transparan (TFO) SMB 3.0 | Ya |
| SMB 3.0 dengan Scale-out File Shares (SO) | Ya |
| Sistem File Volume Bersama Kluster (CsvFS) | Ya |
| Sistem File Tangguh (ReFS) | Ya |
Contoh
Untuk contoh yang menggunakan GetLongPathName, lihat bagian Contoh Kode untuk GetFullPathName.
Nota
Header fileapi.h mendefinisikan GetLongPathName sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor 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 XP [aplikasi desktop | Aplikasi UWP] |
| server minimum yang didukung |
Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
| Platform Target |
Windows |
| Header |
fileapi.h (termasuk Windows.h) |
| Pustaka |
Kernel32.lib |
| DLL |
Kernel32.dll |
Lihat juga