Condividi tramite


Funzione SHGetNewLinkInfoA (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 SHGetNewLinkInfoA(
  [in]  LPCSTR pszLinkTo,
  [in]  LPCSTR pszDir,
  [out] LPSTR  pszName,
  [out] BOOL   *pfMustCopy,
  [in]  UINT   uFlags
);

Parametri

[in] pszLinkTo

Tipo: LPCTSTR

Puntatore al percorso e al nome del file della destinazione del collegamento. Se uFlags non contiene il valore SHGNLI_PIDL , questo parametro è l'indirizzo di una stringa con terminazione Null che contiene la destinazione. Se uFlags contiene il valore SHGNLI_PIDL , questo parametro è un FILE PIDL che rappresenta la destinazione.

[in] pszDir

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null che contiene 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 di almeno MAX_PATH caratteri di dimensioni.

[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 del nome 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 del nome di file con estensione url (anziché con estensione 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 impostato SHGNLI_NOLNK.

Valore restituito

Tipo: BOOL

Restituisce TRUE se l'operazione riesce; in caso contrario, FALSE.

Commenti

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 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

   
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 Windows
Intestazione shellapi.h
Libreria Shell32.lib
DLL Shell32.dll (versione 4.71 o successiva)