Compartir a través de


Función SetFileShortNameA (winbase.h)

Establece el nombre corto del archivo especificado. El archivo debe estar en un volumen del sistema de archivos NTFS.

Sintaxis

BOOL SetFileShortNameA(
  [in] HANDLE hFile,
  [in] LPCSTR lpShortName
);

Parámetros

[in] hFile

Identificador del archivo. El archivo debe abrirse con el derecho de acceso GENERIC_ALL o GENERIC_WRITE|DELETEy con el atributo de archivo FILE_FLAG_BACKUP_SEMANTICS.

[in] lpShortName

Puntero a una cadena que especifica el nombre corto del archivo.

Al especificar una cadena vacía (longitud cero), se quitará el nombre de archivo corto, si existe para el archivo especificado por el parámetro hFile. Si no existe un nombre de archivo corto, la función no hará nada y devolverá el éxito.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este comportamiento no se admite. El parámetro debe contener una cadena válida de uno o varios caracteres.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.

Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. GetLastError puede devolver uno de los siguientes códigos de error específicos de esta función.

Código devuelto Descripción
ERROR_ALREADY_EXISTS
El nombre corto especificado no es único.
ERROR_INVALID_PARAMETER
El archivo especificado se ha abierto en modo que distingue mayúsculas de minúsculas o el nombre corto especificado no es válido.

Observaciones

El autor de la llamada de esta función debe tener el privilegio SE_RESTORE_NAME. Para obtener más información, vea En ejecución con privilegios especiales.

En Windows 8 y Windows Server 2012, esta función es compatible con las siguientes tecnologías.

Tecnología Soportado
Protocolo bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0 No
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) No
Sistema de archivos de volumen compartido de clúster (CsvFS)
Sistema de archivos resistente (ReFS) No
 

SMB 3.0 no admite nombres cortos en recursos compartidos con capacidad de disponibilidad continua. Los nombres cortos no se recomiendan en csvFs.

Nota

El encabezado winbase.h define SetFileShortName 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 XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winbase.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

funciones de administración de archivos

GetShortPathName