Funzione SHGetNewLinkInfoW (shellapi.h)
Crea un nome per un nuovo collegamento in base alla destinazione proposta del collegamento. Questa funzione non crea il collegamento, ma solo il nome.
Sintassi
BOOL SHGetNewLinkInfoW(
[in] LPCWSTR pszLinkTo,
[in] LPCWSTR pszDir,
[out] LPWSTR pszName,
[out] BOOL *pfMustCopy,
[in] UINT uFlags
);
Parametri
[in] pszLinkTo
Tipo: LPCTSTR
Puntatore al percorso e al nome file della destinazione del collegamento. Se uFlags non contiene il valore SHGNLI_PIDL, questo parametro è l'indirizzo di una stringa con terminazione Null contenente la destinazione. Se uFlags contiene il valore SHGNLI_PIDL, questo parametro è un PIDL che rappresenta la destinazione.
[in] pszDir
Tipo: LPCTSTR
Puntatore a una stringa con terminazione Null contenente il percorso della cartella in cui verrà creato il collegamento.
[out] pszName
Tipo: LPTSTR
Puntatore a una stringa che riceve il percorso e il nome file con terminazione Null per il collegamento. Si presuppone che questo buffer sia almeno MAX_PATH caratteri di dimensione.
[out] pfMustCopy
Tipo: BOOL*
Indirizzo di un valore BOOL che riceve un flag che indica se il collegamento verrebbe copiato. Quando viene creato un collegamento a un altro collegamento, shell copia semplicemente il collegamento di destinazione e modifica il collegamento copiato in modo appropriato. Questo parametro riceve un valore diverso da zero se la destinazione specificata in pszLinkTo specifica un collegamento che causerà la copia del collegamento di destinazione. Questo parametro riceve zero se la destinazione non specifica un collegamento che verrebbe copiato.
[in] uFlags
Tipo: UINT
Opzioni per la funzione. Può essere zero o una combinazione dei valori seguenti.
SHGNLI_PIDL (0x000000001)
0x000000001. La destinazione a cui punta pszLinkTo è un PIDL che rappresenta la destinazione. Se questo flag non è incluso, pszLinkTo viene considerato come l'indirizzo di una stringa che contiene il percorso e il nome file della destinazione.
SHGNLI_NOUNIQUE (0x000000002)
0x000000002. Ignorare i controlli normali che assicurano che il nome del collegamento sia univoco all'interno della cartella di destinazione. Se questo flag non è incluso, la funzione crea il nome del collegamento e quindi determina se il nome è univoco nella cartella di destinazione. Se nella cartella di destinazione esiste già un file con lo stesso nome, il nome del collegamento verrà modificato. Questo processo viene ripetuto fino a quando non viene trovato un nome univoco.
SHGNLI_PREFIXNAME (0x000000004)
0x000000004. Il nome creato sarà preceduto dalla stringa "Collegamento a ".
SHGNLI_NOLNK (0x000000008)
0x000000008. versione 5.0 Non aggiungere l'estensione di file .lnk. Per utilizzare questo flag, è necessario impostare la macro _WIN32_IE su 5.01 o versione successiva. Per altre informazioni sul controllo delle versioni, vedere Shell e Versioni dei controlli comuni.
SHGNLI_NOLOCNAME (0x000000010)
0x000000010. Windows Vista e versioni successive. Usare il nome dell'analisi non localizzata della destinazione a cui punta pszLinkTo come nome del file di collegamento. Se questo flag non è impostato, viene utilizzato il nome localizzato.
SHGNLI_USEURLEXT (0x000000020)
0x000000020. Windows 7 e versioni successive. Aggiungere un'estensione di file con estensione url (anziché .lnk) al nome a cui punta pszName. Se questo flag non è impostato, il nome del collegamento usa un'estensione .lnk a meno che non sia impostata SHGNLI_NOLNK.
Valore restituito
Tipo: bool
Restituisce TRUE in caso di esito positivo; in caso contrario, FALSE.
Osservazioni
SHGetNewLinkInfo determina se il file system di destinazione supporta nomi di file lunghi. In caso affermativo, viene usato un nome di file lungo per il nome del collegamento. Se il file system di destinazione non supporta nomi di file lunghi, il nome del collegamento viene restituito in un formato 8.3.
Nota
L'intestazione shellapi.h definisce SHGetNewLinkInfo 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional, Windows XP, Windows 7 [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
shellapi.h |
libreria |
Shell32.lib |
dll | Shell32.dll (versione 4.71 o successiva) |