please dont rip this site Prev Next

FSCTL_GET_COMPRESSION info  Overview  Group

The FSCTL_GET_COMPRESSION DeviceIoControl operation obtains the current compression state of a file or directory on a volume whose file system supports per-stream compression.

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 



Points to an input buffer. Not used with this operation. Set to NULL.
Specifies the size, in bytes, of the buffer pointed to by lpInBuffer. Not used with this operation. Set to zero.
Points to a buffer that receives a USHORT indicating the current compression state of the file or directory.

The following values are defined:




The file or directory is not compressed.


The file or directory is compressed, using the LZNT1 compression format.

all other values

Reserved for future use.

Specifies the size, in bytes, of the buffer pointed to by lpOutBuffer. The buffer must be large enough to contain one USHORT value.
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 returns a nonzero value.

If the operation fails, DeviceIoControl returns zero. To get extended error information, call GetLastError.


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

DeviceIoControl, FSCTL_SET_COMPRESSION, GetFileAttributes 

See also:

file: /Techref/os/win/api/win32/func/src/f26_8.htm, 4KB, , updated: 2000/4/7 12:19, local time: 2022/5/17 08:05,

 ©2022 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!


After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

  PICList 2022 contributors:
o List host: MIT, Site host, Top posters @20220517
* Page Editors: James Newton, David Cary, and YOU!
* Roman Black of Black Robotics donates from sales of Linistep stepper controller kits.
* Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters.
* Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated!
* Contributors: Richard Seriani, Sr.

Welcome to!