Constantes de atributo de archivo

Los atributos de archivo son valores de metadatos almacenados por el sistema de archivos en el disco y son utilizados por el sistema y están disponibles para los desarrolladores a través de varias API de E/S de archivos. Para obtener una lista de las API y los temas relacionados, consulte la sección Vea también .

Ejemplo

FILE_BASIC_INFO basicInfo;
    BOOL result;

    result = GetFileInformationByHandleEx( hFile,
                                               FileBasicInfo,
                                               &basicInfo,
                                               sizeof(basicInfo));

\\...

printf("  File Attributes: ");
    PrintFileAttributes(basicInfo.FileAttributes);

\\...
VOID
PrintFileAttributes(
    ULONG FileAttributes
    )
{
    
    if (FileAttributes & FILE_ATTRIBUTE_ARCHIVE) {
        printf("Archive ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
        printf("Directory ");
    }
    if (FileAttributes & FILE_ATTRIBUTE_READONLY) {
        printf("Read-Only ");
    }
}

Ejemplo tomado de un ejemplo clásico de Windows en GitHub.

Constante o valor Descripción
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Un archivo que es de solo lectura. Las aplicaciones pueden leer el archivo, pero no pueden escribir en él ni eliminarlo. Este atributo no se respeta en directorios. Para obtener más información, vea No se pueden ver ni cambiar los atributos de solo lectura o System de carpetas en Windows Server 2003, en Windows XP, en Windows Vista o en Windows 7.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
El archivo o directorio está oculto. No se incluye en una lista de directorios normal.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Un archivo o directorio del que el sistema operativo usa una parte o utiliza exclusivamente.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
Identificador que identifica un directorio.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Un archivo o directorio que es un archivo o directorio de archivo. Las aplicaciones suelen usar este atributo para marcar los archivos de copia de seguridad o eliminación.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Este valor está reservado para uso del sistema.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Archivo que no tiene otros atributos establecidos. Este atributo solo es válido cuando se usa solo.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Un archivo que se usa para el almacenamiento temporal. Los sistemas de archivos evitan volver a escribir datos en almacenamiento masivo si hay suficiente memoria caché disponible, ya que normalmente una aplicación elimina un archivo temporal después de cerrar el identificador. En ese escenario, el sistema puede evitar por completo la escritura de los datos. De lo contrario, los datos se escriben después de cerrar el identificador.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Un archivo que es un archivo disperso.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Un archivo o directorio que tiene un punto de reanálisis asociado o un archivo que es un vínculo simbólico.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Un archivo o directorio comprimido. Para un archivo, todos los datos del archivo se comprimen. Para un directorio, la compresión es el valor predeterminado para los archivos y subdirectorios recién creados.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Los datos de un archivo no están disponibles inmediatamente. Este atributo indica que los datos del archivo se mueven físicamente al almacenamiento sin conexión. El almacenamiento remoto usa este atributo, que es el software de administración de almacenamiento jerárquico. Las aplicaciones no deben cambiar arbitrariamente este atributo.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
El servicio de indexación de contenido no indexa el archivo o directorio.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Un archivo o directorio que está cifrado. Para un archivo, todos los flujos de datos del archivo se cifran. Para un directorio, el cifrado es el valor predeterminado para los archivos y subdirectorios recién creados.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
El flujo de datos de usuario o directorio está configurado con integridad (solo se admite en volúmenes ReFS). No se incluye en una lista de directorios normal. La configuración de integridad persiste con el archivo si se cambia su nombre. Si se copia un archivo, el archivo de destino tendrá la integridad establecida si el archivo de origen o el directorio de destino tienen la integridad establecida.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite hasta Windows Server 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Este valor está reservado para uso del sistema.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
El flujo de datos de usuario no debe ser leído por el analizador de integridad de datos en segundo plano (limpieza de AKA). Cuando se establece en un directorio, solo proporciona herencia. Esta marca solo se admite en volúmenes Espacios de almacenamiento y ReFS. No se incluye en una lista de directorios normal.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca no se admite hasta Windows 8 y Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Un archivo o directorio con atributos extendidos.

IMPORTANTE: Esta constante es solo para uso interno.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Este atributo indica la intención del usuario de que el archivo o directorio debe mantenerse completamente presente localmente incluso cuando no se accede activamente. Este atributo se usa con software de administración de almacenamiento jerárquico.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Este atributo indica que el archivo o directorio no debe mantenerse completamente presente localmente, excepto cuando se accede activamente. Este atributo se usa con software de administración de almacenamiento jerárquico.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Este atributo solo aparece en las clases de enumeración de directorios (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION, etc.). Cuando se establece este atributo, significa que el archivo o directorio no tiene ninguna representación física en el sistema local; el elemento es virtual. Abrir el elemento será más caro de lo normal, por ejemplo, hará que al menos algunos de él se capturen desde un almacén remoto.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Cuando se establece este atributo, significa que el archivo o directorio no está totalmente presente localmente. Para un archivo que significa que no todos sus datos están en el almacenamiento local (por ejemplo, puede estar disperso con algunos datos todavía en el almacenamiento remoto). En el caso de un directorio, significa que parte del contenido del directorio se virtualiza desde otra ubicación. Leer el archivo o enumerar el directorio será más caro de lo normal, por ejemplo, hará que al menos parte del contenido del archivo o directorio se capture desde un almacén remoto. Solo los autores de llamadas en modo kernel pueden establecer este bit.

Los mini filtros del sistema de archivos por debajo de 180000: 189999 intervalo de altitud (FSFilter HSM Load Order Group) no deben emitir lecturas o escrituras almacenadas en caché de destino en los archivos que tienen este conjunto de atributos. Esto podría provocar la contaminación de la memoria caché y posibles daños en los archivos. Para obtener más información, consulte Control de marcadores de posició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]
Encabezado WinNT.h (incluye Windows.h)

Consulte también

Atributo de compresión

Crear y abrir archivos

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle