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|DELETE, y con el atributo de archivo FILE_FLAG_BACKUP_SEMANTICS .

[in] lpShortName

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

Si se especifica 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á é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 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. 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.

Comentarios

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

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
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 a errores (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 Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de administración de archivos

GetShortPathName