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