Compartir a través de


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

Parámetros

[in] pszLinkTo

Tipo: LPCTSTR de

Puntero a la ruta de acceso y el nombre de archivo del destino del acceso directo. Si uFlags no contiene el valor 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 de

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 de

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 que copió 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 por la cadena "Acceso directo a ".

SHGNLI_NOLNK (0x000000008)

0x000000008. versión 5.0 No agregar 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, consulte Shell y Versiones de 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 .lnk a menos que se establezca SHGNLI_NOLNK.

Valor devuelto

Tipo: BOOL de

Devuelve true si se ejecuta correctamente; De lo contrario, FALSE.

Observaciones

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 del acceso directo se devuelve en 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional, Windows XP, Windows 7 [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de shellapi.h
biblioteca de Shell32.lib
DLL de Shell32.dll (versión 4.71 o posterior)