Función CreateSymbolicLinkA (winbase.h)
Crea un vínculo simbólico.
Para realizar esta operación como una operación de transacción, use la función CreateSymbolicLinkTransacted .
Sintaxis
BOOLEAN CreateSymbolicLinkA(
[in] LPCSTR lpSymlinkFileName,
[in] LPCSTR lpTargetFileName,
[in] DWORD dwFlags
);
Parámetros
[in] lpSymlinkFileName
Vínculo simbólico que se va a crear.
Este parámetro puede incluir la ruta de acceso.
De forma predeterminada, el nombre está limitado a MAX_PATH caracteres. Para ampliar este límite a 32 767 caracteres anchos, anteponga "\\?\" a la ruta de acceso. Para obtener más información, vea Nomenclatura de archivos, rutas de acceso y espacios de nombres.
Sugerencia
A partir de Windows 10, versión 1607, puede optar por quitar la limitación de MAX_PATH sin prepending "\\?\". Consulte la sección "Limitación máxima de longitud de ruta de acceso" de Nombres de archivos, rutas de acceso y espacios de nombres para obtener más información.
[in] lpTargetFileName
Nombre del destino del vínculo simbólico que se va a crear.
Si lpTargetFileName tiene un nombre de dispositivo asociado, el vínculo se trata como un vínculo absoluto; de lo contrario, el vínculo se trata como un vínculo relativo.
Este parámetro puede incluir la ruta de acceso.
De forma predeterminada, el nombre está limitado a MAX_PATH caracteres. Para ampliar este límite a 32 767 caracteres anchos, anteponga "\\?\" a la ruta de acceso. Para obtener más información, vea Nomenclatura de archivos, rutas de acceso y espacios de nombres.
Sugerencia
A partir de Windows 10, versión 1607, puede optar por quitar la limitación de MAX_PATH sin prepending "\\?\". Consulte la sección "Limitación máxima de longitud de ruta de acceso" de Nombres de archivos, rutas de acceso y espacios de nombres para obtener más información.
[in] dwFlags
Indica si el destino del vínculo, lpTargetFileName, es un directorio.
Valor | Significado |
---|---|
|
El destino del vínculo es un archivo. |
|
El destino del vínculo es un directorio. |
|
Especifique esta marca para permitir la creación de vínculos simbólicos cuando no se eleva el proceso. En UWP, el modo de desarrollador debe estar habilitado primero en la máquina antes de que esta opción funcione. En MSIX, no es necesario habilitar el modo de desarrollador para esta marca. |
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es distinto de cero.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Los vínculos simbólicos pueden ser absolutos o relativos. Los vínculos absolutos especifican cada parte del nombre de la ruta de acceso; los vínculos relativos se determinan en función de dónde se encuentren los especificadores de vínculos relativos en una ruta de acceso especificada. Los vínculos relativos se especifican con las siguientes convenciones:
- Convenciones de puntos (. y ..): por ejemplo, ".. \" resuelve la ruta de acceso relativa al directorio primario.
- Nombres sin barras diagonales (\\):por ejemplo, "tmp" resuelve la ruta de acceso relativa al directorio actual.
- Relativo raíz: por ejemplo, "\Windows\System32" se resuelve en "unidad actual:\Windows\System32".
- Directorio de trabajo actual relativo, por ejemplo, si el directorio de trabajo actual es C:\Windows\System32, "C:File.txt" se resuelve en "C:\Windows\System32\File.txt".
Nota Si especifica un vínculo relativo al directorio de trabajo actual, se crea como un vínculo absoluto, debido a la forma en que se procesa el directorio de trabajo actual en función del usuario y del subproceso.
En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | No |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | No |
Sistema de archivos resistente a errores (ReFS) | Sí |
CsvFs no admite ningún vínculo flexible ni ningún otro punto de reanálisis.
Nota
El encabezado winbase.h define CreateSymbolicLink 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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 Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |