Attributo di compressione

In un volume del file system NTFS ogni file e directory ha un attributo di compressione. Altri file system possono anche implementare un attributo di compressione per singoli file e directory.

È possibile determinare se un file system supporta un attributo di compressione per file e directory chiamando la funzione GetVolumeInformation ed esaminando il flag di bit FILE_FILE_COMPRESSION .

Usare la funzione GetFileAttributes o GetFileAttributesEx per determinare l'attributo di compressione di un file o di una directory.

Se l'attributo di compressione di un file è impostato (FILE_ATTRIBUTE_COMPRESSED), tutti i dati del file vengono compressi. Se l'attributo è chiaro, nessuno dei dati nel file viene compresso. Non esiste uno stato parzialmente compresso dal punto di vista della programmazione in modalità utente; l'attributo di compressione è un semplice indicatore booleano dello stato di compressione.

L'attributo di compressione di una directory fornisce un attributo di compressione predefinito per i file appena creati e le sottodirectory. Quando si chiama CreateFile o CreateDirectory per creare un nuovo file o una nuova directory, il nuovo file o directory eredita l'attributo di compressione della directory padre.

Per modificare l'attributo FILE_ATTRIBUTE_COMPRESSED per un file o una directory, è necessario usare la funzione DeviceIoControl con il codice di controllo FSCTL_SET_COMPRESSION .

Costanti dell'attributo file