На главную

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_GET_COMPRESSION



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


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 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. 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


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

FSCTL_GET_COMPRESSION



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

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


Параметры

lpInBuffer

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

nInBufferSize

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

lpOutBuffer

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

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


nOutBufferSize

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

lpBytesReturned

Точки на величину DWORD, что получает фактический размер, в байтах, данных загруженных в буфер указанных, чтобы lpOutBuffer.

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

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

Замечания

В этой версии, LZNT1 - осуществленный единственный алгоритм сжатия. Будущие версии могут иметь дополнительные методы сжатия.
COMPRESSION_FORMAT_DEFAULT - не состояние сжатия, так что это не включено в таблицу под параметром lpOutBuffer. Эта величина только использована операцией FSCTL_SET_COMPRESSION Если файловая система объема, содержащего определенный файл или директорий не поддерживается за-файл или за-сжатие директория, операция FSCTL_GET_COMPRESSION терпит неудачу.

Версия Windows NT 3.51 поддерживает файловое сжатие в объемах отформатированных NTFS.
Вы можете установить состояние сжатия файла или директория используя операцию FSCTL_SET_COMPRESSION DeviceIoControl. Вы можете также сжать или извлекать файл с этой операцией.
Вы можете получить атрибут сжатия файла или директория вызывая функцию GetFileAttributes. Атрибут сжатия указывает независимо файл или директорий сжат. Состояние сжатия указывает независимо файл или директорий сжат, и, если он -, формат сжатых данных.

Смотри Также

DeviceIoControl, FSCTL_SET_COMPRESSION, GetFileAttributes


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