Compression 属性
NTFS ファイル システム ボリュームでは、各ファイルとディレクトリに 圧縮属性があります。 他のファイル システムでは、個々のファイルとディレクトリの圧縮属性を実装することもできます。
GetVolumeInformation 関数を呼び出し、FILE_FILE_COMPRESSION ビット フラグを調べることで、ファイル システムがファイルとディレクトリの圧縮属性をサポートしているかどうかを判断できます。
GetFileAttributes または GetFileAttributesEx関数使用して、ファイルまたはディレクトリの圧縮属性を決定します。
ファイルの圧縮属性が設定されている場合 (FILE_ATTRIBUTE_COMPRESSED)、ファイル内のすべてのデータが圧縮されます。 属性がクリアされている場合、ファイル内のデータは圧縮されません。 ユーザー モード プログラミングの観点からは、部分的に圧縮された状態はありません。圧縮属性は、圧縮状態の単純なブール値インジケーターです。
ディレクトリの圧縮属性は、新しく作成されたファイルとサブディレクトリの既定の圧縮属性を提供します。 CreateFile呼び出すか、CreateDirectoryをして新しいファイルまたはディレクトリを作成すると、新しいファイルまたはディレクトリは親ディレクトリの圧縮属性を継承します。
ファイルまたはディレクトリの FILE_ATTRIBUTE_COMPRESSED 属性を変更するには、FSCTL_SET_COMPRESSION コントロール コードで DeviceIoControl 関数を使用する必要があります。
関連トピック