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


Состояние сжатия

Каждый файл и каталог тома, поддерживающий сжатие для отдельных файлов и каталогов, имеет состояние сжатия.

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

Используйте управляющий код FSCTL_GET_COMPRESSION для определения состояния сжатия файла или каталога.

Состояние сжатия закодировано как 16-битовое значение. Значение состояния сжатия COMPRESSION_FORMAT_NONE указывает, что файл не сжат. Значение COMPRESSION_FORMAT_DEFAULT указывает, что файл сжат с использованием формата сжатия по умолчанию. Любое другое значение указывает, что файл сжимается с использованием формата сжатия, заданного значением состояния сжатия.

Используйте управляющий код FSCTL_SET_COMPRESSION , чтобы задать состояние сжатия файла или каталога. Эта операция также задает атрибут сжатия файла или каталога.

Установка ненулевого значения для состояния сжатия файла сжимает файл с помощью формата сжатия, закодированного значением состояния сжатия. Установка нулевого состояния сжатия файла распаковывает файл. Это синхронные операции. При установке состояния сжатия файл сжимается или распаковка.

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