|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| No
| Win32s
| No
| Import Library
| -
| Header File
| winioctl.h
| Unicode
| No
| Platform Notes
| None
|
|
|
FSCTL_SET_COMPRESSION
The FSCTL_SET_COMPRESSION DeviceIoControl operation sets the compression state of a file or directory on a volume whose
file system supports per-file and per-directory compression. You can use this
operation to compress or uncompress a file or directory on such a volume.
dwIoControlCode = FSCTL_SET_COMPRESSION; // operation code
lpInBuffer ; // pointer to input buffer
nInBufferSize ; // size of input buffer
lpOutBuffer = NULL; // pointer to output buffer; not used; must be NULL
nOutBufferSize = 0; // size of output buffer; not used; must be zero
lpBytesReturned ; // pointer to DWORD used by DeviceIoControl function
Parameters
lpInBuffer
Points to a buffer that contains a USHORT that specifies a new compression state for the file or directory.
The following values are defined:
Value
| Meaning
| COMPRESSION_FORMAT_NONE
| Uncompress the file or directory.
| COMPRESSION_FORMAT_DEFAULT
| Compress the file or directory, using the default compression format.
| COMPRESSION_FORMAT_LZNT1
| Compress the file or directory, using the LZNT1 compression format.
| all other values
| Reserved for future use.
|
nInBufferSize
Specifies the size, in bytes, of the buffer pointed to by lpInBuffer. The buffer must be large enough to contain one USHORT value.
lpOutBuffer
Points to an output buffer. Not used with this operation. Set to NULL.
nOutBufferSize
Specifies the size, in bytes, of the buffer pointed to by lpOutBuffer. Not used with this operation. Set to zero.
lpBytesReturned
Pointer to a DWORD. This value cannot be NULL. Although the FSCTL_SET_COMPRESSION operation produces no output data and lpOutBuffer should be NULL, the DeviceIoControl function uses the variable pointed to by lpBytesReturned. After the operation, the value of this variable is without meaning.
Return Values
If the operation succeeds, DeviceIoControl returns TRUE.
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. As a
result, LZNT1 will be used as the DEFAULT compression method. Future releases may
have additional compression methods which may be used as the DEFAULT.
If the file system of the volume containing the specified file or directory
does not support per-file or per-directory compression, the FSCTL_SET_COMPRESSION operation fails.
Windows NT release 3.51 supports file compression on volumes formatted with
NTFS.
The compression state change of the file or directory occurs synchronously
with the call to DeviceIoControl.
You can obtain the compression state of a file or directory by using the FSCTL_GET_COMPRESSION DeviceIoControl 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_GET_COMPRESSION, GetFileAttributes
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|