estrutura FILE_FS_ATTRIBUTE_INFORMATION (ntifs.h)
A estrutura FILE_FS_ATTRIBUTE_INFORMATION é usada para consultar informações de atributo para um sistema de arquivos.
Sintaxe
typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
ULONG FileSystemAttributes;
LONG MaximumComponentNameLength;
ULONG FileSystemNameLength;
WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
Membros
FileSystemAttributes
Máscara de bits de sinalizadores especificando atributos do sistema de arquivos especificado, como uma combinação compatível dos sinalizadores a seguir.
Valor | Significado |
---|---|
FILE_CASE_SENSITIVE_SEARCH (0x00000001) | O sistema de arquivos dá suporte a nomes de arquivo que diferenciam maiúsculas de minúsculas. |
FILE_CASE_PRESERVED_NAMES (0x00000002) | O sistema de arquivos preserva o caso de nomes de arquivo quando coloca um nome no disco. |
FILE_UNICODE_ON_DISK (0x00000004) | O sistema de arquivos dá suporte a Unicode em nomes de arquivo. |
FILE_PERSISTENT_ACLS (0x00000008) | O sistema de arquivos preserva e impõe listas de controle de acesso (ACLs). |
FILE_FILE_COMPRESSION (0x00000010) | O sistema de arquivos dá suporte à compactação baseada em arquivo. Esse sinalizador é incompatível com o sinalizador FILE_VOLUME_IS_COMPRESSED. Esse sinalizador não afeta a forma como os dados são transferidos pela rede. |
FILE_VOLUME_QUOTAS (0x00000020) | O sistema de arquivos dá suporte a cotas por usuário. |
FILE_SUPPORTS_SPARSE_FILES (0x00000040) | O sistema de arquivos dá suporte a arquivos esparsos. |
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) | O sistema de arquivos dá suporte pontos de nova análise. |
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) | O sistema de arquivos dá suporte ao armazenamento remoto. |
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) | Em uma operação de limpeza bem-sucedida, o sistema de arquivos retorna informações que descrevem ações adicionais executadas durante a limpeza, como a exclusão do arquivo. Os filtros do sistema de arquivos podem examinar essas informações em seu retorno de chamada pós-limpeza. |
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) | O sistema de arquivos dá suporte a operações de exclusão e renomeação no estilo POSIX. |
FILE_VOLUME_IS_COMPRESSED (0x00008000) | O volume especificado é um volume compactado. Esse sinalizador é incompatível com o sinalizador FILE_FILE_COMPRESSION. Isso não afeta a forma como os dados são transferidos pela rede. |
FILE_SUPPORTS_OBJECT_IDS (0x00010000) | O sistema de arquivos dá suporte a identificadores de objeto. |
FILE_SUPPORTS_ENCRYPTION (0x00020000) | O sistema de arquivos dá suporte à criptografia. |
FILE_NAMED_STREAMS (0x00040000) | O sistema de arquivos dá suporte a fluxos de dados nomeados para um arquivo. |
FILE_READ_ONLY_VOLUME (0x00080000) | O volume especificado é somente leitura. |
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) | O volume especificado pode ser gravado apenas uma vez. A gravação deve ser executada em ordem sequencial. |
FILE_SUPPORTS_TRANSACTIONS (0x00200000) | O sistema de arquivos dá suporte de processamento de transações. |
FILE_SUPPORTS_HARD_LINKS (0x00400000) | O sistema de arquivos dá suporte a links diretos para outros dispositivos e partições. |
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) | O sistema de arquivos dá suporte a EAs (atributos estendidos). |
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) | O sistema de arquivos é compatível com a ID do arquivo aberta. |
FILE_SUPPORTS_USN_JOURNAL (0x02000000) | O sistema de arquivos dá suporte a diários usn (número de sequência de atualização). |
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) | O sistema de arquivos dá suporte fluxos de integridade. |
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) | O sistema de arquivos dá suporte de clonagem de blocos, ou seja, compartilhando clusters lógicos entre arquivos no mesmo volume. O sistema de arquivos realoca em gravações em clusters compartilhados. |
FILE_SUPPORTS_SPARSE_VDL (0x10000000) | O sistema de arquivos rastreia se cada cluster de um arquivo contém dados válidos (de gravações de arquivo explícitas ou zeros automáticos) ou dados inválidos (ainda não foi gravado ou zerado). Os sistemas de arquivos que usam VDL (comprimento de dados válido) esparso não armazenam um comprimento de dados válido e não exigem que os dados válidos sejam contíguos em um arquivo. |
FILE_DAX_VOLUME (0x20000000) | O volume especificado é um volume DEX (acesso direto). |
FILE_SUPPORTS_GHOSTING (0x40000000) | O sistema de arquivos dá suporte a fantasmas. |
MaximumComponentNameLength
Comprimento máximo do componente de nome de arquivo compatível com o sistema de arquivos especificado, em caracteres. Um componente de nome de arquivo é aquela parte de um nome de arquivo entre caracteres separadores de caminho (como barras invertidas).
FileSystemNameLength
Comprimento, em bytes, do nome do sistema de arquivos. O valor desse campo deve ser maior que zero.
FileSystemName[1]
Campo Unicode de comprimento variável que contém o nome do sistema de arquivos. Esse campo não é encerrado em nulo e deve ser tratado como uma sequência de FileSystemNameLength bytes.
Observações
Essas informações podem ser consultadas de qualquer uma das seguintes maneiras:
Chame FltQueryVolumeInformation ou ZwQueryVolumeInformationFile, passando FileFsAttributeInformation como o valor de FileInformationClass e passando um buffer alocado por um chamador, FILE_FS_ATTRIBUTE_INFORMATIONestruturado como o valor de FileInformation.
- Observação: No CSVFS, FileFsAttributeInformation retorna FILE_FS_ATTRIBUTE_INFORMATION para o sistema de arquivos CSVFS. Se você quiser consultar FileFsAttributeInformation para o sistema de arquivos em que o CSVFS está em camadas, use FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS.
Criar um IRP com o código de função principal IRP_MJ_QUERY_VOLUME_INFORMATION.
Nenhum direito de acesso específico é necessário para consultar essas informações. Portanto, essas informações estão disponíveis desde que o volume seja acessado por meio de um identificador aberto para o próprio volume ou para um arquivo ou diretório no volume.
O tamanho do buffer passado no parâmetro
Essa estrutura deve ser alinhada em um limite de LONG (4 bytes).
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntifs.h (inclua Ntifs.h, Fltkernel.h) |