Constantes de atributo do arquivo

Os atributos de arquivo são valores de metadados armazenados pelo sistema de arquivos no disco e são usados pelo sistema e estão disponíveis para desenvolvedores por meio de várias APIs de E/S de arquivo. Para obter uma lista de APIs e tópicos relacionados, consulte a seção Consulte também .

Exemplo

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 ");
    }
}

Exemplo obtido de um exemplo clássico do Windows no GitHub.

Constante/valor Descrição
FILE_ATTRIBUTE_READONLY
1 (0x00000001)
Um arquivo que é somente leitura. Os aplicativos podem ler o arquivo, mas não podem gravá-lo ou excluí-lo. Esse atributo não é respeitado em diretórios. Para obter mais informações, consulte Não é possível exibir ou alterar os atributos somente leitura ou Sistema de pastas no Windows Server 2003, no Windows XP, no Windows Vista ou no Windows 7.
FILE_ATTRIBUTE_HIDDEN
2 (0x00000002)
O arquivo ou diretório está oculto. Ele não está incluído em uma listagem de diretório comum.
FILE_ATTRIBUTE_SYSTEM
4 (0x00000004)
Um arquivo ou diretório do qual o sistema operacional usa uma parte ou usa exclusivamente.
FILE_ATTRIBUTE_DIRECTORY
16 (0x00000010)
O identificador que identifica um diretório.
FILE_ATTRIBUTE_ARCHIVE
32 (0x00000020)
Um arquivo ou diretório que é um arquivo morto ou diretório. Os aplicativos normalmente usam esse atributo para marcar arquivos para backup ou remoção.
FILE_ATTRIBUTE_DEVICE
64 (0x00000040)
Esse valor é reservado para uso do sistema.
FILE_ATTRIBUTE_NORMAL
128 (0x00000080)
Um arquivo que não tem outros atributos definidos. Esse atributo só é válido quando usado sozinho.
FILE_ATTRIBUTE_TEMPORARY
256 (0x00000100)
Um arquivo que está sendo usado para armazenamento temporário. Os sistemas de arquivos evitam gravar dados de volta no armazenamento em massa se houver memória de cache suficiente disponível, pois, normalmente, um aplicativo exclui um arquivo temporário depois que o identificador é fechado. Nesse cenário, o sistema pode evitar totalmente a gravação dos dados. Caso contrário, os dados serão gravados depois que o identificador for fechado.
FILE_ATTRIBUTE_SPARSE_FILE
512 (0x00000200)
Um arquivo que é um arquivo esparso.
FILE_ATTRIBUTE_REPARSE_POINT
1024 (0x00000400)
Um arquivo ou diretório que tem um ponto de nova análise associado ou um arquivo que é um link simbólico.
FILE_ATTRIBUTE_COMPRESSED
2048 (0x00000800)
Um arquivo ou diretório compactado. Para um arquivo, todos os dados no arquivo são compactados. Para um diretório, a compactação é o padrão para arquivos e subdiretórios que acabam de ser criados.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Os dados de um arquivo não estão disponíveis imediatamente. Esse atributo indica que os dados do arquivo são movidos fisicamente para o armazenamento offline. Esse atributo é usado pelo Armazenamento Remoto, que é o software de gerenciamento de armazenamento hierárquico. Os aplicativos não devem alterar arbitrariamente esse atributo.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
8192 (0x00002000)
O arquivo ou diretório não deve ser indexado pelo serviço de indexação de conteúdo.
FILE_ATTRIBUTE_ENCRYPTED
16384 (0x00004000)
Um arquivo ou diretório criptografado. Para um arquivo, todos os fluxos de dados no arquivo são criptografados. Para um diretório, a criptografia é o padrão para arquivos e subdiretórios recém-criados.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
O fluxo de dados do diretório ou do usuário é configurado com integridade (com suporte apenas em volumes ReFS). Ele não está incluído em uma listagem de diretório comum. A configuração de integridade persistirá com o arquivo se ele for renomeado. Se um arquivo for copiado, o arquivo de destino terá a integridade definida se o arquivo de origem ou o diretório de destino tiver a integridade definida.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse sinalizador não tem suporte até Windows Server 2012.
FILE_ATTRIBUTE_VIRTUAL
65536 (0x00010000)
Esse valor é reservado para uso do sistema.
FILE_ATTRIBUTE_NO_SCRUB_DATA
131072 (0x00020000)
O fluxo de dados do usuário para não ser lido pelo verificador de integridade de dados em segundo plano (também conhecido como scrubber). Quando definido em um diretório, ele fornece apenas herança. Esse sinalizador só tem suporte em volumes Espaços de Armazenamento e ReFS. Ele não está incluído em uma listagem de diretório comum.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse sinalizador não tem suporte até Windows 8 e Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Um arquivo ou diretório com atributos estendidos.

IMPORTANTE: Essa constante é apenas para uso interno.
FILE_ATTRIBUTE_PINNED
524288 (0x00080000)
Esse atributo indica a intenção do usuário de que o arquivo ou diretório deve ser mantido totalmente presente localmente, mesmo quando não estiver sendo acessado ativamente. Esse atributo é para uso com software de gerenciamento de armazenamento hierárquico.
FILE_ATTRIBUTE_UNPINNED
1048576 (0x00100000)
Esse atributo indica que o arquivo ou diretório não deve ser mantido totalmente presente localmente, exceto ao ser acessado ativamente. Esse atributo é para uso com software de gerenciamento de armazenamento hierárquico.
FILE_ATTRIBUTE_RECALL_ON_OPEN
262144 (0x00040000)
Esse atributo só aparece em classes de enumeração de diretório (FILE_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION etc.). Quando esse atributo é definido, significa que o arquivo ou diretório não tem representação física no sistema local; o item é virtual. Abrir o item será mais caro do que o normal, por exemplo, fará com que pelo menos parte dele seja buscado de um repositório remoto.
FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS
4194304 (0x00400000)
Quando esse atributo é definido, significa que o arquivo ou diretório não está totalmente presente localmente. Para um arquivo que significa que nem todos os seus dados estão no armazenamento local (por exemplo, ele pode ser esparso com alguns dados ainda no armazenamento remoto). Para um diretório, isso significa que alguns dos conteúdos do diretório estão sendo virtualizados de outro local. Ler o arquivo/enumerar o diretório será mais caro do que o normal, por exemplo, fará com que pelo menos parte do conteúdo de arquivo/diretório seja buscado de um repositório remoto. Somente os chamadores do modo kernel podem definir esse bit.

Minifiltros do sistema de arquivos abaixo de 180000 – 189999 intervalo de altitude (grupo de pedidos de carga HSM do FSFilter) não devem emitir leituras ou gravações em cache direcionadas em arquivos que tenham esse atributo definido. Isso pode levar à poluição do cache e à possível corrupção de arquivos. Para obter mais informações, consulte Manipulando espaços reservados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
parâmetro WinNT.h (inclua Windows.h)

Confira também

Atributo de compactação

Criando e abrindo arquivos

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle