Udostępnij za pośrednictwem


Stan kompresji

Każdy plik i katalog na woluminie, który obsługuje kompresję poszczególnych plików i katalogów, ma stan kompresji.

Podczas gdy atrybut kompresji pliku lub katalogu wskazuje po prostu, czy plik lub katalog jest skompresowany, czy nie skompresowany, stan kompresji określa również format skompresowanych danych.

Użyj kodu sterującego FSCTL_GET_COMPRESSION, aby określić stan kompresji pliku lub katalogu.

Stan kompresji jest zakodowany jako wartość 16-bitowa. Wartość stanu kompresji COMPRESSION_FORMAT_NONE wskazuje, że plik nie jest skompresowany. Wartość COMPRESSION_FORMAT_DEFAULT wskazuje, że plik jest kompresowany przy użyciu domyślnego formatu kompresji. Każda inna wartość wskazuje, że plik jest kompresowany przy użyciu formatu kompresji określonego przez wartość stanu kompresji.

Użyj kodu sterującego FSCTL_SET_COMPRESSION, aby ustawić stan kompresji pliku lub katalogu. Ta operacja ustawia również atrybut kompresji pliku lub katalogu.

Ustawienie stanu kompresji pliku na wartość niezerową kompresuje plik przy użyciu formatu kompresji zakodowanego przez wartość stanu kompresji. Ustawienie stanu kompresji pliku na zero dekompresuje plik. Są to operacje synchroniczne. Plik jest kompresowany lub dekompresowany natychmiast po ustawieniu jego stanu kompresji.

Ustawienie stanu kompresji katalogu nie powoduje natychmiastowej kompresji ani dekompresji. Zamiast tego ustawienie stanu kompresji katalogu ustawia domyślny stan kompresji, który będzie przydzielany wszystkim nowo utworzonym plikom i podkatalogom.