压缩状态

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

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

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

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

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

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

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