Sdílet prostřednictvím


Stav komprese

Každý soubor a adresář na svazku, který podporuje kompresi jednotlivých souborů a adresářů, má stav komprese.

Zatímco atribut komprese souboru nebo adresáře označuje jednoduše, zda je soubor nebo adresář komprimován nebo není komprimován, stav komprese také určuje formát komprimovaných dat.

Pomocí řídicího kódu FSCTL_GET_COMPRESSION určete stav komprese souboru nebo adresáře.

Stav komprese je kódován jako 16bitová hodnota. Hodnota stavu komprese COMPRESSION_FORMAT_NONE označuje, že soubor není komprimován. Hodnota COMPRESSION_FORMAT_DEFAULT označuje, že je soubor komprimovaný pomocí výchozího formátu komprese. Jakákoli jiná hodnota označuje, že soubor je komprimován pomocí formátu komprese určeného hodnotou stavu komprese.

Pomocí řídicího kódu FSCTL_SET_COMPRESSION nastavte stav komprese souboru nebo adresáře. Tato operace také nastaví atribut komprese souboru nebo adresáře.

Nastavení stavu komprese souboru na nenulovou hodnotu komprimuje soubor pomocí formátu komprese kódovaného hodnotou stavu komprese. Nastavení stavu komprese souboru na nulu dekomprimuje soubor. Jedná se o synchronní operace. Soubor se komprimuje nebo dekomprimuje okamžitě, když nastavíte jeho stav komprese.

Nastavení stavu komprese adresáře nezpůsobí žádnou okamžitou kompresi ani dekompresi. Nastavení stavu komprese adresáře nastaví výchozí stav komprese, který bude předán všem nově vytvořeným souborům a podadresářům.