Bagikan melalui


Fungsi SHGetNewLinkInfoA (shellapi.h)

Membuat nama untuk pintasan baru berdasarkan target pintasan yang diusulkan. Fungsi ini tidak membuat pintasan, hanya nama.

Sintaks

BOOL SHGetNewLinkInfoA(
  [in]  LPCSTR pszLinkTo,
  [in]  LPCSTR pszDir,
  [out] LPSTR  pszName,
  [out] BOOL   *pfMustCopy,
  [in]  UINT   uFlags
);

Parameter

[in] pszLinkTo

Jenis: LPCTSTR

Penunjuk ke jalur dan nama file target pintasan. Jika uFlags tidak berisi nilai SHGNLI_PIDL , parameter ini adalah alamat string yang dihentikan null yang berisi target. Jika uFlags berisi nilai SHGNLI_PIDL , parameter ini adalah PIDL yang mewakili target.

[in] pszDir

Jenis: LPCTSTR

Penunjuk ke string yang dihentikan null yang berisi jalur folder tempat pintasan akan dibuat.

[out] pszName

Jenis: LPTSTR

Penunjuk ke string yang menerima jalur dan nama file yang dihentikan null untuk pintasan. Buffer ini diasumsikan berukuran setidaknya MAX_PATH karakter.

[out] pfMustCopy

Jenis: BOOL*

Alamat nilai BOOL yang menerima bendera yang menunjukkan apakah pintasan akan disalin. Saat pintasan ke pintasan lain dibuat, Shell hanya menyalin pintasan target dan memodifikasi pintasan yang disalin dengan tepat. Parameter ini menerima nilai bukan nol jika target yang ditentukan dalam pszLinkTo menentukan pintasan yang akan menyebabkan pintasan target disalin. Parameter ini menerima nol jika target tidak menentukan pintasan yang akan disalin.

[in] uFlags

Jenis: UINT

Opsi untuk fungsi . Ini bisa nol atau kombinasi dari nilai berikut.

SHGNLI_PIDL (0x000000001)

0x000000001. Target yang ditunjukkan oleh pszLinkTo adalah PIDL yang mewakili target. Jika bendera ini tidak disertakan, pszLinkTo dianggap sebagai alamat string yang berisi jalur dan nama file target.

SHGNLI_NOUNIQUE (0x000000002)

0x000000002. Lewati pemeriksaan normal yang memastikan bahwa nama pintasan unik dalam folder tujuan. Jika bendera ini tidak disertakan, fungsi membuat nama pintasan lalu menentukan apakah namanya unik di folder tujuan. Jika file dengan nama yang sama sudah ada di folder tujuan, nama pintasan akan diubah. Proses ini diulang hingga nama unik ditemukan.

SHGNLI_PREFIXNAME (0x000000004)

0x000000004. Nama yang dibuat akan didahului oleh string "Pintasan ke ".

SHGNLI_NOLNK (0x000000008)

0x000000008. Versi 5.0 Jangan tambahkan ekstensi nama file .lnk. Anda harus mengatur makro _WIN32_IE ke 5,01 atau lebih tinggi untuk menggunakan bendera ini. Untuk informasi selengkapnya tentang penerapan versi, lihat Versi Shell dan Kontrol Umum.

SHGNLI_NOLOCNAME (0x000000010)

0x000000010. Windows Vista dan yang lebih baru. Gunakan nama penguraian yang tidak dilokalkan dari target yang diacu oleh pszLinkTo sebagai nama file pintasan. Jika bendera ini tidak diatur, nama yang dilokalkan akan digunakan.

SHGNLI_USEURLEXT (0x000000020)

0x000000020. Windows 7 dan yang lebih baru. Tambahkan ekstensi nama file .url (bukan .lnk) ke nama yang ditujukkan oleh pszName. Jika bendera ini tidak diatur, nama pintasan menggunakan ekstensi .lnk kecuali SHGNLI_NOLNK diatur.

Mengembalikan nilai

Jenis: BOOL

Mengembalikan TRUE jika berhasil; jika tidak, FALSE.

Keterangan

SHGetNewLinkInfo menentukan apakah sistem file tujuan mendukung nama file panjang. Jika ya, nama file panjang digunakan untuk nama pintasan. Jika sistem file tujuan tidak mendukung nama file panjang, nama pintasan dikembalikan dalam format 8.3.

Catatan

Header shellapi.h mendefinisikan SHGetNewLinkInfo 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

   
Klien minimum yang didukung Windows 2000 Professional, Windows XP, Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header shellapi.h
Pustaka Shell32.lib
DLL Shell32.dll (versi 4.71 atau yang lebih baru)