Condividi tramite


Stato di compressione

Ogni file e directory in un volume che supporta la compressione per singoli file e directory ha uno stato di compressione.

Mentre l'attributo di compressione di un file o di una directory indica semplicemente se il file o la directory è compresso o meno, lo stato di compressione specifica anche il formato di tutti i dati compressi.

Usare il codice di controllo FSCTL_GET_COMPRESSION per determinare lo stato di compressione di un file o di una directory.

Lo stato di compressione viene codificato come valore a 16 bit. Un valore dello stato di compressione di COMPRESSION_FORMAT_NONE indica che un file non è compresso. Un valore di COMPRESSION_FORMAT_DEFAULT indica che un file viene compresso usando il formato di compressione predefinito. Qualsiasi altro valore indica che un file viene compresso usando il formato di compressione specificato dal valore dello stato di compressione.

Usare il codice di controllo FSCTL_SET_COMPRESSION per impostare lo stato di compressione di un file o di una directory. Questa operazione imposta anche l'attributo di compressione del file o della directory.

L'impostazione dello stato di compressione di un file su un valore diverso da zero comprime il file usando il formato di compressione codificato dal valore dello stato di compressione. L'impostazione dello stato di compressione di un file su zero decompresse il file. Queste sono operazioni sincrone. Il file viene compresso o decompresso immediatamente quando si imposta lo stato di compressione.

L'impostazione dello stato di compressione di una directory non causa alcuna compressione o decompressione immediata. L'impostazione dello stato di compressione di una directory imposta invece uno stato di compressione predefinito che verrà assegnato a tutti i file e le sottodirectory appena creati.