Bagikan melalui


Fungsi CreateSymbolicLinkA (winbase.h)

Membuat tautan simbolis.

Untuk melakukan operasi ini sebagai operasi yang ditransaksikan, gunakan fungsi CreateSymbolicLinkTransacted .

Sintaks

BOOLEAN CreateSymbolicLinkA(
  [in] LPCSTR lpSymlinkFileName,
  [in] LPCSTR lpTargetFileName,
  [in] DWORD  dwFlags
);

Parameter

[in] lpSymlinkFileName

Tautan simbolis yang akan dibuat.

Parameter ini dapat mencakup jalur .

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] lpTargetFileName

Nama target untuk tautan simbolis yang akan dibuat.

Jika lpTargetFileName memiliki nama perangkat yang terkait dengannya, tautan diperlakukan sebagai tautan absolut; jika tidak, tautan diperlakukan sebagai tautan relatif.

Parameter ini dapat mencakup jalur .

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] dwFlags

Menunjukkan apakah target tautan, lpTargetFileName, adalah direktori.

Nilai Makna
0x0
Target tautan adalah file.
SYMBOLIC_LINK_FLAG_DIRECTORY
0x1
Target tautan adalah direktori.
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
Tentukan bendera ini untuk memungkinkan pembuatan tautan simbolis ketika proses tidak ditinggikan. Di UWP, Mode Pengembang harus terlebih dahulu diaktifkan pada komputer sebelum opsi ini akan berfungsi. Di bawah MSIX, mode pengembang tidak diperlukan untuk diaktifkan untuk bendera ini.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

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

Keterangan

Tautan simbolis dapat berupa tautan absolut atau relatif. Tautan absolut adalah tautan yang menentukan setiap bagian dari nama jalur; tautan relatif ditentukan relatif terhadap di mana penentu tautan relatif berada di jalur tertentu. Tautan relatif ditentukan menggunakan konvensi berikut:

  • Konvensi titik (. dan ..)—misalnya, ".. \" menyelesaikan jalur yang relatif terhadap direktori induk.
  • Nama tanpa garis miring (\\)—misalnya, "tmp" menyelesaikan jalur yang relatif terhadap direktori saat ini.
  • Root relative—misalnya, "\Windows\System32" menyelesaikan ke "drive saat ini:\Windows\System32".
  • Direktori kerja saat ini–relatif—misalnya, jika direktori kerja saat ini adalah C:\Windows\System32, "C:File.txt" diselesaikan ke "C:\Windows\System32\File.txt".
    Catatan Jika Anda menentukan tautan relatif direktori kerja saat ini, tautan tersebut dibuat sebagai tautan absolut, karena cara direktori kerja saat ini diproses berdasarkan pengguna dan utas.
     
Untuk menghapus tautan simbolis, hapus file (menggunakan DeleteFile atau API serupa) atau hapus direktori (menggunakan RemoveDirectory atau API serupa) tergantung pada jenis tautan simbolis apa yang digunakan.

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) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Tidak
Sistem File Tangguh (ReFS) Ya
 

CsvF tidak mendukung tautan lunak atau titik pemilah ulang lainnya.

Catatan

Header winbase.h mendefinisikan CreateSymbolicLink sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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

Persyaratan Nilai
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

CreateSymbolicLinkTransacted

Fungsi Manajemen File

Tautan Simbolis