Каждый файл и каталог в томе, который поддерживает сжатие для отдельных файлов и каталогов, имеет режим сжатия (compression state).
Принимая во внимание то, что атрибут сжатия файла или каталога просто указывает, сжимается или не сжимается файл или каталог, режим сжатия также устанавливает и формат любых сжатых данных.
Используйте управляющий код FSCTL_GET_COMPRESSION, чтобы выяснить режим сжатия файла или каталога.
Режим сжатия кодируется как 16-разрядное значение. Значение режима сжатия COMPRESSION_FORMAT_NONE указывает на то, что файл не сжат. Значение COMPRESSION_FORMAT_DEFAULT указывает на то, что файл сжимается, используя заданный по умолчанию формат сжатия. Любое другое значение указывает на то, что файл сжимается, используя формат сжатия, заданный значением режима сжатия.
Используйте управляющий код FSCTL_SET_COMPRESSION, чтобы установить режим сжатия файла или каталога. Эта операция также устанавливает и атрибут сжатия файла или каталога.
Установка режима сжатия файла в ненулевое значение сжимает файл, используя формат сжатия, кодируемый значением режима сжатия. Установка режима сжатия файла в нуль разворачивает файл. Это - синхронные операции. Файл сжимается или развертывается немедленно, когда Вы устанавливаете его режим сжатия.
Установка режима сжатия каталога не порождает какого-либо немедленного сжатия или восстановления сжатых данных. Вместо этого, установка режим сжатия каталога определяет заданный по умолчанию режим сжатия, который должен быть придан всем недавно созданным файлам и подкаталогам.