Partager via


Attribut compression

Sur un volume de système de fichiers NTFS, chaque fichier et répertoire a un attribut de compression. D’autres systèmes de fichiers peuvent également implémenter un attribut de compression pour des fichiers et des répertoires individuels.

Vous pouvez déterminer si un système de fichiers prend en charge un attribut de compression pour les fichiers et les répertoires en appelant la fonction GetVolumeInformation et en examinant l’indicateur de bits FILE_FILE_COMPRESSION .

Utilisez la fonction GetFileAttributes ou GetFileAttributesEx pour déterminer l’attribut de compression d’un fichier ou d’un répertoire.

Si l’attribut de compression d’un fichier est défini (FILE_ATTRIBUTE_COMPRESSED), toutes les données du fichier sont compressées. Si l’attribut est clair, aucune des données du fichier n’est compressée. Il n’existe pas d’état partiellement compressé du point de vue de la programmation en mode utilisateur ; l’attribut de compression est un indicateur booléen simple de l’état de compression.

L’attribut de compression d’un répertoire fournit un attribut de compression par défaut pour les fichiers et sous-répertoires nouvellement créés. Lorsque vous appelez CreateFile ou CreateDirectory pour créer un fichier ou un répertoire, le nouveau fichier ou répertoire hérite de l’attribut de compression de son répertoire parent.

Pour modifier l’attribut FILE_ATTRIBUTE_COMPRESSED d’un fichier ou d’un répertoire, vous devez utiliser la fonction DeviceIoControl avec le code de contrôle FSCTL_SET_COMPRESSION .

Constantes d’attribut de fichier