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 | Sí |
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) | Sí |
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) |