FSCTL_GET_COMPRESSION
The FSCTL_GET_COMPRESSION
DeviceIoControl
dwIoControlCode = FSCTL_GET_COMPRESSION; // operation code
lpInBuffer = NULL; // pointer to input buffer; not
used; must be NULL
nInBufferSize = 0; // size of input buffer; not
used; must be zero
lpOutBuffer ;
// pointer to output buffer
nOutBufferSize ;
// size of output buffer
lpBytesReturned ;
// pointer to actual bytes of output
Parameters
lpInBuffer
Points to an
input buffer. Not used with this operation. Set to NULL.
nInBufferSize
Specifies the
size, in bytes, of the buffer pointed to by lpInBuffer. Not used with
this operation. Set to zero.
lpOutBuffer
Points to a
buffer that receives a USHORT indicating the current compression state
of the file or directory.
The following
values are defined:
Value |
Meaning |
COMPRESSION_FORMAT_NONE |
The file or
directory is not compressed. |
COMPRESSION_FORMAT_LZNT1 |
The file or
directory is compressed, using the LZNT1 compression format. |
all
other values |
Reserved
for future use. |
nOutBufferSize
Specifies the
size, in bytes, of the buffer pointed to by lpOutBuffer. The buffer must be large enough to contain one USHORT
value.
lpBytesReturned
Points to a DWORD
value that receives the actual size, in bytes, of the data stored into the
buffer pointed to by lpOutBuffer.
Return Values
If the
operation succeeds, DeviceIoControl
If the
operation fails, DeviceIoControl returns FALSE. To get extended error
information, call GetLastError
Remarks
On this
release, LZNT1 is the only compression algorithm implemented. Future releases
may have additional compression methods.
COMPRESSION_FORMAT_DEFAULT
is not a compression state so it is not included in the table under the lpOutBuffer
parameter. This value is only used with the FSCTL_SET_COMPRESSION operation
If the file
system of the volume containing the specified file or directory does not support
per-file or per-directory compression, the FSCTL_GET_COMPRESSION
operation fails.
Windows NT
version 3.51 supports file compression on volumes formatted with NTFS.
You can set
the compression state of a file or directory by using the FSCTL_SET_COMPRESSION
DeviceIoControl operation. You can also compress or uncompress a file
with that operation.
You can
obtain the compression attribute of a file or directory by calling the GetFileAttributes
function. The compression attribute indicates whether a file or directory is
compressed. The compression state indicates whether a file or directory is
compressed, and, if it is, the format of the compressed data.
See Also