|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
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
|
|
|
|
| |