На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

FSCTL_SET_COMPRESSION



Действие FSCTL_SET_COMPRESSION DeviceIoControl устанавливает состояние сжатия файла или директория в объеме чья файловая система поддерживается за-файл и за-сжатие директория. Вы можете использовать это действие, чтобы сжимать или извлекать файл или директорий в таком объеме.

dwIoControlCode = FSCTL_SET_COMPRESSION; // действие кода lpInBuffer; // указатель, чтобы вводить буфер nInBufferSize; // размер входного буфера lpOutBuffer = НЕДЕЙСТВИТЕЛЬНЫЙ; // указатель в выходной буфер; не использованное; должно быть NULL nOutBufferSize = 0; // размер выходного буфера; не использованное; должно быть нулем lpBytesReturned; // указатель на DWORD использованное функцией DeviceIoControl


Параметры

lpInBuffer

Точки на буфер, которые содержат USHORT, что определяет новому состоянию сжатия для файла или директория.
Следующие величины определены:

Значение Величины
COMPRESSION_FORMAT_NONE Извлекает файл или директорий.
COMPRESSION_FORMAT_DEFAULT Сжимает файл или директорий, использовавшие по умолчанию формат сжатия.
COMPRESSION_FORMAT_LZNT1 Сжимает файл или директорий, использовавшие формат сжатия LZNT1.
все другие величины Зарезервированные для будущего используются.


nInBufferSize

Определяет размер, в байтах, буфера указанного, чтобы lpInBuffer. Буфер должен быть большой достаточно, чтобы содержать один величина USHORT.

lpOutBuffer

Точки на выходной буфер. Не использованное этой операцией. Установитесь на НЕДЕЙСТВИТЕЛЬНЫЙ.

nOutBufferSize

Определяет размер, в байтах, буфера указанного, чтобы lpOutBuffer. Не использованное этой операцией. Установитесь в нуль.

lpBytesReturned

Указатель на DWORD. Эта величина не может быть НЕДЕЙСТВИТЕЛЬНА. Хотя операция FSCTL_SET_COMPRESSION не производит никакие выходные данные и lpOutBuffer должен быть НЕДЕЙСТВИТЕЛЕН, функция DeviceIoControl использует переменную указанную, чтобы lpBytesReturned. После операции, величина этой переменной - не означая.



Обратные Величины

Если операция добивается успеха, ИСТИНА возврата DeviceIoControl.
Если операция терпит неудачу, ЛОЖЬ возврата DeviceIoControl. Для того, чтобы расширять информацию ошибки, назовите GetLastError.

Замечания

В этой версии, LZNT1 - осуществленный единственный алгоритм сжатия. В результате, LZNT1 будет использован как ПО УМОЛЧАНИЮ метод сжатия. Будущие версии могут иметь дополнительные методы сжатия, которые могут быть использованы как ПО УМОЛЧАНИЮ.
Если файловая система объема, содержащего определенный файл или директорий не поддерживается за-файл или за-сжатие директория, операция FSCTL_SET_COMPRESSION терпит неудачу.
Версия Windows NT 3.51 файловых сжатия опор в объемах отформатированных NTFS.

Государственное изменение сжатия файла или директория происходит синхронно с вызовом на DeviceIoControl.
Вы можете получить состояние сжатия файла или директория используя операцию FSCTL_GET_COMPRESSION DeviceIoControl.
Вы можете получить атрибут сжатия файла или директория вызывая функцию GetFileAttributes. Атрибут сжатия указывает независимо файл или директорий сжат. Состояние сжатия указывает независимо файл или директорий сжат и, если он -, формат сжатых данных.

Смотри Также

DeviceIoControl, FSCTL_GET_COMPRESSION, GetFileAttributes


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz