压缩状态

卷上支持对单个文件和目录进行压缩的每个文件和目录都具有 压缩状态

而文件或目录的压缩属性仅指示文件或目录是压缩还是未压缩,但压缩状态还指定了任何压缩数据的格式。

使用 FSCTL_GET_COMPRESSION 控制代码来确定文件或目录的压缩状态。

压缩状态编码为 16 位值。 COMPRESSION_FORMAT_NONE的压缩状态值指示文件未压缩。 COMPRESSION_FORMAT_DEFAULT值指示使用默认压缩格式压缩文件。 任何其他值都表示使用压缩状态值指定的压缩格式压缩文件。

使用 FSCTL_SET_COMPRESSION 控制代码设置文件或目录的压缩状态。 此操作还设置文件或目录的压缩属性。

使用压缩状态值编码的压缩格式将文件设置为非零值压缩文件。 将文件的压缩状态设置为零解压缩文件。 这些操作是同步操作。 设置其压缩状态时,文件会立即压缩或解压缩。

设置目录的压缩状态不会导致任何即时压缩或解压缩。 相反,设置目录的压缩状态会设置一个默认压缩状态,该状态将提供给所有新建的文件和子目录。