Partager via


SHGetNewLinkInfoA, fonction (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, juste le nom.

Syntaxe

BOOL SHGetNewLinkInfoA(
  [in]  LPCSTR pszLinkTo,
  [in]  LPCSTR pszDir,
  [out] LPSTR  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 d’accès 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 arrêté par null et le nom de fichier pour le raccourci. Cette mémoire tampon est supposée être au moins MAX_PATH caractères de taille.

[out] pfMustCopy

Type : BOOL*

Adresse d’un valeur boOL qui reçoit un indicateur indiquant si le raccourci serait copié. Lorsqu’un raccourci vers un autre raccourci est créé, l’interpréteur de commandes copie simplement le raccourci cible et modifie ce raccourci correctement copié. 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 une adresse 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 sera modifié. Ce processus est répété jusqu’à ce qu’un nom unique soit trouvé.

SHGNLI_PREFIXNAME (0x000000004)

0x000000004. Le nom créé sera 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 Shell et Common Controls Versions.

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 raccourci. 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 du raccourci utilise une extension .lnk, sauf si SHGNLI_NOLNK est définie.

Valeur de retour

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.

Note

L’en-tête shellapi.h définit SHGetNewLinkInfo comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel, Windows XP, Windows 7 [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête shellapi.h
bibliothèque Shell32.lib
DLL Shell32.dll (version 4.71 ou ultérieure)