Share via


Estado de compresión

Cada archivo y directorio de un volumen que admite la compresión para archivos y directorios individuales tiene un estado de compresión.

Mientras que el atributo de compresión de un archivo o directorio indica simplemente si el archivo o directorio está comprimido o no, el estado de compresión también especifica el formato de los datos comprimidos.

Use el código de control FSCTL_GET_COMPRESSION para determinar el estado de compresión de un archivo o directorio.

El estado de compresión se codifica como un valor de 16 bits. Un valor de estado de compresión de COMPRESSION_FORMAT_NONE indica que un archivo no está comprimido. Un valor de COMPRESSION_FORMAT_DEFAULT indica que un archivo está comprimido, utilizando el formato de compresión predeterminado. Cualquier otro valor indica que un archivo está comprimido, utilizando el formato de compresión especificado por el valor de estado de compresión.

Use el código de control FSCTL_SET_COMPRESSION para establecer el estado de compresión de un archivo o directorio. Esta operación también establece el atributo de compresión del archivo o directorio.

Si se establece el estado de compresión de un archivo en un valor distinto de cero, se comprime el archivo mediante el formato de compresión codificado por el valor de estado de compresión. Establecer el estado de compresión de un archivo en cero descomprime el archivo. Se trata de operaciones sincrónicas. El archivo se comprime o se descomprime inmediatamente cuando se establece su estado de compresión.

Establecer el estado de compresión de un directorio no provoca ninguna compresión ni descompresión inmediata. En su lugar, establecer el estado de compresión de un directorio establece un estado de compresión predeterminado que se proporcionará a todos los archivos y subdirectorios recién creados.