FSCTL_GET_COMPRESSION IOCTL (winioctl.h)

Recupera el estado de compresión actual de un archivo o directorio en un volumen cuyo sistema de archivos admite la compresión por secuencia.

Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.

BOOL DeviceIoControl(
  (HANDLE) hDevice,             // handle to file
  FSCTL_GET_COMPRESSION,        // dwIoControlCode
  NULL,                         // lpInBuffer 
  0,                            // nInBufferSize
  (LPVOID) lpOutBuffer,         // output buffer
  (DWORD) nOutBufferSize,       // size of output buffer
  (LPDWORD) lpBytesReturned,    // number of bytes returned
  (LPOVERLAPPED) lpOverlapped   // OVERLAPPED structure
);

Comentarios

El algoritmo de compresión LZNT1 es el único algoritmo de compresión implementado.

COMPRESSION_FORMAT_DEFAULT no es un estado de compresión, por lo que no se incluye en la tabla bajo el parámetro lpOutBuffer . Este valor solo se usa con el código de control FSCTL_SET_COMPRESSION .

Si el sistema de archivos del volumen que contiene el archivo o directorio especificado no admite la compresión por archivo o por directorio, se produce un error en la operación.

Puede establecer el estado de compresión de un archivo o directorio mediante el código de control FSCTL_SET_COMPRESSION . También puede comprimir o descomprimir un archivo mediante este código de control.

Puede recuperar el atributo de compresión de un archivo o directorio llamando a la función GetFileAttributes . El atributo de compresión indica si se comprime un archivo o directorio. El estado de compresión indica si un archivo o directorio está comprimido y, si es así, el formato de los datos comprimidos.

En Windows 8 y Windows Server 2012, este código es compatible con las siguientes tecnologías.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0 No
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) No
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS) No

La conmutación por error transparente de SMB 3.0 y Scale-Out no admiten archivos comprimidos NTFS. La llamada FSCTL no está bloqueada, pero no es compatible.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winioctl.h (incluye Windows.h)

Consulte también