Funzione CreateSymbolicLinkA (winbase.h)
Crea un collegamento simbolico.
Per eseguire questa operazione come operazione transazionata, usare la funzione CreateSymbolicLinkTransacted .
Sintassi
BOOLEAN CreateSymbolicLinkA(
[in] LPCSTR lpSymlinkFileName,
[in] LPCSTR lpTargetFileName,
[in] DWORD dwFlags
);
Parametri
[in] lpSymlinkFileName
Collegamento simbolico da creare.
Questo parametro può includere il percorso.
Per impostazione predefinita, il nome è limitato a MAX_PATH caratteri. Per estendere questo limite a 32.767 caratteri wide, anteporre "\\?\" al percorso. Per altre informazioni, vedere Denominazione di file, percorsi e spazi dei nomi.
Suggerimento
A partire da Windows 10, versione 1607, è possibile acconsentire esplicitamente a rimuovere la limitazione MAX_PATH senza anteporre "\?\". Per informazioni dettagliate, vedere la sezione "Limitazione massima della lunghezza del percorso" di Denominazione di file, percorsi e spazi dei nomi .
[in] lpTargetFileName
Nome della destinazione per il collegamento simbolico da creare.
Se lpTargetFileName ha un nome di dispositivo associato, il collegamento viene considerato come un collegamento assoluto; in caso contrario, il collegamento viene considerato come un collegamento relativo.
Questo parametro può includere il percorso.
Per impostazione predefinita, il nome è limitato a MAX_PATH caratteri. Per estendere questo limite a 32.767 caratteri wide, anteporre "\\?\" al percorso. Per altre informazioni, vedere Denominazione di file, percorsi e spazi dei nomi.
Suggerimento
A partire da Windows 10, versione 1607, è possibile acconsentire esplicitamente a rimuovere la limitazione MAX_PATH senza anteporre "\?\". Per informazioni dettagliate, vedere la sezione "Limitazione massima della lunghezza del percorso" di Denominazione di file, percorsi e spazi dei nomi .
[in] dwFlags
Indica se la destinazione del collegamento, lpTargetFileName, è una directory.
Valore | Significato |
---|---|
|
La destinazione del collegamento è un file. |
|
La destinazione del collegamento è una directory. |
|
Specificare questo flag per consentire la creazione di collegamenti simbolici quando il processo non è elevato. Nella piattaforma UWP, la modalità sviluppatore deve essere abilitata prima di funzionare nel computer. In MSIX non è necessario abilitare la modalità sviluppatore per questo flag. |
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
I collegamenti simbolici possono essere collegamenti assoluti o relativi. I collegamenti assoluti sono collegamenti che specificano ogni parte del nome del percorso; I collegamenti relativi vengono determinati in relazione alla posizione in cui gli identificatori di collegamento relativo si trovano in un percorso specificato. I collegamenti relativi vengono specificati usando le convenzioni seguenti:
- Convenzioni punto (. e ..), ad esempio ".. \" risolve il percorso relativo alla directory padre.
- I nomi senza barre (\\),ad esempio "tmp" risolvono il percorso relativo alla directory corrente.
- Radice relativa, ad esempio "\Windows\System32" viene risolta in "unità corrente:\Windows\System32".
- Directory di lavoro corrente relativa, ad esempio se la directory di lavoro corrente è C:\Windows\System32, "C:File.txt" viene risolta in "C:\Windows\System32\File.txt".
Nota Se si specifica un collegamento relativo alla directory di lavoro corrente, viene creato come collegamento assoluto, a causa del modo in cui viene elaborata la directory di lavoro corrente in base all'utente e al thread.
In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | No |
File system del volume condiviso cluster (CsvFS) | No |
Resilient File System (ReFS) | Sì |
CsvFs non supporta il collegamento soft o altri punti di analisi.
Nota
L'intestazione winbase.h definisce CreateSymbolicLink come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |