Función SHGetNewLinkInfoW (shellapi.h)

Crea un nombre para un nuevo acceso directo basado en el destino propuesto del acceso directo. Esta función no crea el acceso directo, solo el nombre.

Sintaxis

BOOL SHGetNewLinkInfoW(
  [in]  LPCWSTR pszLinkTo,
  [in]  LPCWSTR pszDir,
  [out] LPWSTR  pszName,
  [out] BOOL    *pfMustCopy,
  [in]  UINT    uFlags
);

Parámetros

[in] pszLinkTo

Tipo: LPCTSTR

Puntero a la ruta de acceso y al nombre de archivo del destino del acceso directo. Si uFlags no contiene el valor de SHGNLI_PIDL , este parámetro es la dirección de una cadena terminada en null que contiene el destino. Si uFlags contiene el valor de SHGNLI_PIDL , este parámetro es un PIDL que representa el destino.

[in] pszDir

Tipo: LPCTSTR

Puntero a una cadena terminada en null que contiene la ruta de acceso de la carpeta en la que se crearía el acceso directo.

[out] pszName

Tipo: LPTSTR

Puntero a una cadena que recibe la ruta de acceso terminada en NULL y el nombre de archivo del acceso directo. Se supone que este búfer tiene al menos MAX_PATH caracteres de tamaño.

[out] pfMustCopy

Tipo: BOOL*

Dirección de un valor BOOL que recibe una marca que indica si se copiaría el acceso directo. Cuando se crea un acceso directo a otro acceso directo, shell simplemente copia el acceso directo de destino y modifica el acceso directo copiado correctamente. Este parámetro recibe un valor distinto de cero si el destino especificado en pszLinkTo especifica un acceso directo que hará que se copie el acceso directo de destino. Este parámetro recibe cero si el destino no especifica un acceso directo que se copiaría.

[in] uFlags

Tipo: UINT

Las opciones de la función. Puede ser cero o una combinación de los valores siguientes.

SHGNLI_PIDL (0x000000001)

0x000000001. El destino al que apunta pszLinkTo es un PIDL que representa el destino. Si no se incluye esta marca, pszLinkTo se considera la dirección de una cadena que contiene la ruta de acceso y el nombre de archivo del destino.

SHGNLI_NOUNIQUE (0x000000002)

0x000000002. Omita las comprobaciones normales que garantizan que el nombre del acceso directo sea único dentro de la carpeta de destino. Si no se incluye esta marca, la función crea el nombre del acceso directo y, a continuación, determina si el nombre es único en la carpeta de destino. Si ya existe un archivo con el mismo nombre en la carpeta de destino, se modificará el nombre del acceso directo. Este proceso se repite hasta que se encuentra un nombre único.

SHGNLI_PREFIXNAME (0x000000004)

0x000000004. El nombre creado estará precedido de la cadena "Acceso directo a ".

SHGNLI_NOLNK (0x000000008)

0x000000008. Versión 5.0 No agregue la extensión de nombre de archivo .lnk. Debe establecer la macro _WIN32_IE en 5.01 o superior para usar esta marca. Para obtener más información sobre el control de versiones, vea Versiones de shell y controles comunes.

SHGNLI_NOLOCNAME (0x000000010)

0x000000010. Windows Vista y versiones posteriores. Use el nombre de análisis no localizado del destino al que apunta pszLinkTo como nombre del archivo de acceso directo. Si no se establece esta marca, se usa el nombre localizado.

SHGNLI_USEURLEXT (0x000000020)

0x000000020. Windows 7 y versiones posteriores. Anexe una extensión de nombre de archivo .url (en lugar de .lnk) al nombre al que apunta pszName. Si no se establece esta marca, el nombre del acceso directo usa una extensión de .lnk a menos que se establezca SHGNLI_NOLNK.

Valor devuelto

Tipo: BOOL

Devuelve TRUE si se ejecuta correctamente; de lo contrario, FALSE.

Comentarios

SHGetNewLinkInfo determina si el sistema de archivos de destino admite nombres de archivo largos. Si es así, se usa un nombre de archivo largo para el nombre del acceso directo. Si el sistema de archivos de destino no admite nombres de archivo largos, el nombre de acceso directo se devuelve en un formato 8.3.

Nota

El encabezado shellapi.h define SHGetNewLinkInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional, Windows XP, Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shellapi.h
Library Shell32.lib
Archivo DLL Shell32.dll (versión 4.71 o posterior)