Partager via


Fonction SHGetNewLinkInfoW (shellapi.h)

Crée un nom pour un nouveau raccourci en fonction de la cible proposée du raccourci. Cette fonction ne crée pas le raccourci, mais uniquement le nom.

Syntaxe

BOOL SHGetNewLinkInfoW(
  [in]  LPCWSTR pszLinkTo,
  [in]  LPCWSTR pszDir,
  [out] LPWSTR  pszName,
  [out] BOOL    *pfMustCopy,
  [in]  UINT    uFlags
);

Paramètres

[in] pszLinkTo

Type : LPCTSTR

Pointeur vers le chemin d’accès et le nom de fichier de la cible du raccourci. Si uFlags ne contient pas la valeur SHGNLI_PIDL , ce paramètre est l’adresse d’une chaîne terminée par null qui contient la cible. Si uFlags contient la valeur SHGNLI_PIDL , ce paramètre est un PIDL qui représente la cible.

[in] pszDir

Type : LPCTSTR

Pointeur vers une chaîne terminée par null qui contient le chemin du dossier dans lequel le raccourci serait créé.

[out] pszName

Type : LPTSTR

Pointeur vers une chaîne qui reçoit le chemin d’accès terminé par null et le nom de fichier du raccourci. Cette mémoire tampon est supposée être au moins MAX_PATH caractères de taille.

[out] pfMustCopy

Type : BOOL*

Adresse d’une valeur BOOL qui reçoit un indicateur indiquant si le raccourci doit être copié. Lorsqu’un raccourci vers un autre raccourci est créé, l’interpréteur de commandes copie simplement le raccourci cible et modifie ce raccourci copié de manière appropriée. Ce paramètre reçoit une valeur différente de zéro si la cible spécifiée dans pszLinkTo spécifie un raccourci qui entraîne la copie du raccourci cible. Ce paramètre reçoit zéro si la cible ne spécifie pas de raccourci qui serait copié.

[in] uFlags

Type : UINT

Options de la fonction. Il peut s’agir de zéro ou d’une combinaison des valeurs suivantes.

SHGNLI_PIDL (0x000000001)

0x000000001. La cible pointée par pszLinkTo est un PIDL qui représente la cible. Si cet indicateur n’est pas inclus, pszLinkTo est considéré comme l’adresse d’une chaîne qui contient le chemin d’accès et le nom de fichier de la cible.

SHGNLI_NOUNIQUE (0x000000002)

0x000000002. Ignorez les vérifications normales qui garantissent que le nom du raccourci est unique dans le dossier de destination. Si cet indicateur n’est pas inclus, la fonction crée le nom du raccourci, puis détermine si le nom est unique dans le dossier de destination. Si un fichier portant le même nom existe déjà dans le dossier de destination, le nom du raccourci est modifié. Ce processus est répété jusqu’à ce qu’un nom unique soit trouvé.

SHGNLI_PREFIXNAME (0x000000004)

0x000000004. Le nom créé est précédé de la chaîne « Raccourci vers ».

SHGNLI_NOLNK (0x000000008)

0x000000008. Version 5.0 N’ajoutez pas l’extension de nom de fichier .lnk. Vous devez définir la macro _WIN32_IE sur 5.01 ou une version ultérieure pour utiliser cet indicateur. Pour plus d’informations sur le contrôle de version, consultez Versions de l’interpréteur de commandes et des contrôles communs.

SHGNLI_NOLOCNAME (0x000000010)

0x000000010. Windows Vista et versions ultérieures. Utilisez le nom d’analyse non localisé de la cible pointée par pszLinkTo comme nom du fichier de raccourcis. Si cet indicateur n’est pas défini, le nom localisé est utilisé.

SHGNLI_USEURLEXT (0x000000020)

0x000000020. Windows 7 et versions ultérieures. Ajoutez une extension de nom de fichier .url (plutôt que .lnk) au nom pointé par pszName. Si cet indicateur n’est pas défini, le nom de raccourci utilise une extension .lnk, sauf si SHGNLI_NOLNK est défini.

Valeur retournée

Type : BOOL

Retourne TRUE en cas de réussite ; sinon, FALSE.

Remarques

SHGetNewLinkInfo détermine si le système de fichiers de destination prend en charge les noms de fichiers longs. Si c’est le cas, un nom de fichier long est utilisé pour le nom de raccourci. Si le système de fichiers de destination ne prend pas en charge les noms de fichiers longs, le nom de raccourci est retourné dans un format 8.3.

Notes

L’en-tête shellapi.h définit SHGetNewLinkInfo en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel, Windows XP, Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête shellapi.h
Bibliothèque Shell32.lib
DLL Shell32.dll (version 4.71 ou ultérieure)