Поделиться через


Атрибут сжатия

В томе файловой системы NTFS каждый файл и каталог имеют атрибут сжатия . Другие файловые системы также могут реализовать атрибут сжатия для отдельных файлов и каталогов.

Вы можете определить, поддерживает ли файловая система атрибут сжатия для файлов и каталогов, вызвав функцию GetVolumeInformation и проверив флаг FILE_FILE_COMPRESSION бита.

Используйте функци ю GetFileAttributes или GetFileAttributesEx для определения атрибута сжатия файла или каталога.

Если задан атрибут сжатия файла (FILE_ATTRIBUTE_COMPRESSED), все данные в файле сжимаются. Если атрибут не определен, ни один из данных в файле не сжимается. Частично сжатое состояние с точки зрения программирования в пользовательском режиме отсутствует; Атрибут сжатия — это простой логический индикатор состояния сжатия.

Атрибут сжатия каталога предоставляет атрибут сжатия по умолчанию для только что созданных файлов и подкаталогов. При вызове CreateFile или CreateDirectory для создания нового файла или каталога новый файл или каталог наследует атрибут сжатия родительского каталога.

Чтобы изменить атрибут FILE_ATTRIBUTE_COMPRESSED для файла или каталога, необходимо использовать функцию DeviceIoControl с кодом элемента управления FSCTL_SET_COMPRESSION.

Константы атрибутов файлов