Atributo de compactação

Em um volume do sistema de arquivos NTFS, cada arquivo e diretório tem um atributo de compactação. Outros sistemas de arquivos também podem implementar um atributo de compactação para arquivos e diretórios individuais.

Você pode determinar se um sistema de arquivos dá suporte a um atributo de compactação para arquivos e diretórios chamando a função GetVolumeInformation e examinando o sinalizador de bits FILE_FILE_COMPRESSION .

Use a função GetFileAttributes ou GetFileAttributesEx para determinar o atributo de compactação de um arquivo ou diretório.

Se o atributo de compactação de um arquivo estiver definido (FILE_ATTRIBUTE_COMPRESSED), todos os dados no arquivo serão compactados. Se o atributo estiver claro, nenhum dos dados no arquivo será compactado. Não há estado parcialmente compactado de uma perspectiva de programação no modo de usuário; o atributo de compactação é um indicador booliano simples do estado de compactação.

O atributo de compactação de um diretório fornece um atributo de compactação padrão para arquivos e subdiretórios recém-criados. Quando você chama CreateFile ou CreateDirectory para criar um novo arquivo ou diretório, o novo arquivo ou diretório herda o atributo de compactação de seu diretório pai.

Para modificar o atributo FILE_ATTRIBUTE_COMPRESSED para um arquivo ou diretório, você deve usar a função DeviceIoControl com o código de controle FSCTL_SET_COMPRESSION .

Constantes de atributo de arquivo