Partilhar via


Constantes de atributo de arquivo

As constantes de atributo de arquivo definem 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 arquivos. Essas constantes permitem que os desenvolvedores verifiquem e definam as propriedades do arquivo, como atributos somente leitura, ocultos ou compactados. Para obter uma lista de APIs e tópicos relacionados, consulte a seção Consulte também .

Example

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 retirado de um exemplo clássico do Windows no GitHub.

Constante/valor Description
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. Este atributo não é honrado em diretórios.
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 que 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 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. Este atributo é válido apenas 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 cache suficiente disponível, porque, 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 são gravados depois que o identificador é 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 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 recém-criados.
FILE_ATTRIBUTE_OFFLINE
4096 (0x00001000)
Os dados de um ficheiro 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 Remote Storage, 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 ficheiro ou diretório encriptado. Para um ficheiro, todos os fluxos de dados no ficheiro são encriptados. Para um diretório, a criptografia é o padrão para arquivos e subdiretórios recém-criados.
FILE_ATTRIBUTE_INTEGRITY_STREAM
32768 (0x00008000)
O diretório ou fluxo de dados do usuário é configurado com integridade (suportado apenas em volumes ReFS). Ele não está incluído em uma listagem de diretório comum. A configuração de integridade persiste 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 tiverem a integridade definida.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este sinalizador não é suportado até o 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 não deve ser lido pelo scanner de integridade de dados em segundo plano (AKA scrubber). Quando definido em um diretório, ele fornece apenas herança. Esse sinalizador só é suportado em Espaços de Armazenamento e volumes 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: Este sinalizador não é suportado até o Windows 8 e Windows Server 2012.
FILE_ATTRIBUTE_EA
262144 (0x00040000)
Um arquivo ou diretório com atributos estendidos.

IMPORTANTE: Esta 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 está sendo acessado ativamente. Esse atributo é para uso com o 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 quando estiver sendo acessado ativamente. Esse atributo é para uso com o 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 em uma loja remota.
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, isso 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 parte do conteúdo do diretório está sendo virtualizado 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 do arquivo/diretório seja buscado em um armazenamento remoto. Somente chamadores de modo kernel podem definir esse bit.

Os minifiltros do sistema de arquivos abaixo da faixa de altitude 180000 – 189999 (FSFilter HSM Load Order Group) 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.

Requerimentos

Requisito Valor
Cliente mínimo suportado Windows XP [apenas aplicações de ambiente de trabalho]
Servidor mínimo suportado Windows Server 2003 [apenas aplicações de ambiente de trabalho]
Header WinNT.h (inclui Windows.h)

Consulte também

Atributo de compressão

Criando e abrindo arquivos

CreateFile

CreateFileTransacted

GetFileAttributes

GetFileAttributesEx

GetFileAttributesTransacted

GetFileInformationByHandle

GetFileInformationByHandleEx

SetFileAttributes

SetFileAttributesTransacted

SetFileInformationByHandle

Explorador de Ficheiros no Windows