CreateSymbolicLinkW, fonction (winbase.h)
Crée un lien symbolique.
Pour effectuer cette opération en tant qu’opération transactionnelle, utilisez la fonction CreateSymbolicLinkTransacted.
Syntaxe
BOOLEAN CreateSymbolicLinkW(
[in] LPCWSTR lpSymlinkFileName,
[in] LPCWSTR lpTargetFileName,
[in] DWORD dwFlags
);
Paramètres
[in] lpSymlinkFileName
Lien symbolique à créer.
Ce paramètre peut inclure le chemin d’accès.
Par défaut, le nom est limité à MAX_PATH caractères. Pour étendre cette limite à 32 767 caractères larges, ajoutez « \\ ?\ » au chemin d’accès. Pour plus d’informations, consultez nommage des fichiers, des chemins d’accès et des espaces de noms.
Pourboire
À compter de Windows 10, version 1607, vous pouvez choisir de supprimer la limitation MAX_PATH sans précéder « \\ ?\ ». Pour plus d’informations, consultez la section « Limite maximale de longueur de chemin » de noms, fichiers, chemin s et espaces de noms.
[in] lpTargetFileName
Nom de la cible pour le lien symbolique à créer.
Si lpTargetFileName a un nom d’appareil associé, le lien est traité comme un lien absolu ; sinon, le lien est traité comme un lien relatif.
Ce paramètre peut inclure le chemin d’accès.
Par défaut, le nom est limité à MAX_PATH caractères. Pour étendre cette limite à 32 767 caractères larges, ajoutez « \\ ?\ » au chemin d’accès. Pour plus d’informations, consultez nommage des fichiers, des chemins d’accès et des espaces de noms.
Pourboire
À compter de Windows 10, version 1607, vous pouvez choisir de supprimer la limitation MAX_PATH sans précéder « \\ ?\ ». Pour plus d’informations, consultez la section « Limite maximale de longueur de chemin » de noms, fichiers, chemin s et espaces de noms.
[in] dwFlags
Indique si la cible de lien, lpTargetFileName, est un répertoire.
Valeur | Signification |
---|---|
|
La cible de lien est un fichier. |
|
La cible de lien est un répertoire. |
|
Spécifiez cet indicateur pour autoriser la création de liens symboliques lorsque le processus n’est pas élevé. mode développeur doit d’abord être activé sur l’ordinateur avant que cette option fonctionne. |
Valeur de retour
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Remarques
Les liens symboliques peuvent être des liens absolus ou relatifs. Les liens absolus sont des liens qui spécifient chaque partie du nom du chemin d’accès ; les liens relatifs sont déterminés par rapport à l’endroit où les spécificateurs de liens relatifs se trouvent dans un chemin d’accès spécifié. Les liens relatifs sont spécifiés à l’aide des conventions suivantes :
- Conventions dot (. et ..) ( par exemple, « . ». \" résout le chemin d’accès relatif au répertoire parent.
- Les noms sans barre oblique (\\) ( par exemple, « tmp » résout le chemin d’accès par rapport au répertoire actif.
- Relative racine, par exemple, « \Windows\System32 » se résout en «lecteur actuel:\Windows\System32 ».
- Répertoire de travail actuel relatif, par exemple, si le répertoire de travail actuel est C :\Windows\System32, "C:File.txt" se résout en "C:\Windows\System32\File.txt« .
Remarque Si vous spécifiez un lien relatif de répertoire de travail actuel, il est créé en tant que lien absolu, en raison de la façon dont le répertoire de travail actuel est traité en fonction de l’utilisateur et du thread.
Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.
Technologie | Supporté |
---|---|
Protocole SMB (Server Message Block) 3.0 | Oui |
Basculement transparent SMB 3.0 (TFO) | Oui |
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) | Non |
Cluster Shared Volume File System (CsvFS) | Non |
Système de fichiers résilient (ReFS) | Oui |
CsvFs ne prend pas en charge la liaison réversible ni d’autres points d’analyse.
Note
L’en-tête winbase.h définit CreateSymbolicLink 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 Vista [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | winbase.h (inclure Windows.h) |
bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |