Поделиться через


Функция CreateCompressor (compressapi.h)

Создает новый COMPRESSOR_HANDLE.

Синтаксис

BOOL CreateCompressor(
  [in]           DWORD                         Algorithm,
  [in, optional] PCOMPRESS_ALLOCATION_ROUTINES AllocationRoutines,
  [out]          PCOMPRESSOR_HANDLE            CompressorHandle
);

Параметры

[in] Algorithm

Тип алгоритма сжатия и режим, используемый этим компрессором.

Этот параметр может иметь одно из следующих значений при необходимости в сочетании с флагом COMPRESS_RAW . Используйте побитовый оператор OR, чтобы включить COMPRESS_RAW и создать блочный режим компрессора. Если COMPRESS_RAW не включен, API сжатия создает буферный режим компрессора. Дополнительные сведения о выборе алгоритма и режима сжатия см. в разделе Использование API сжатия.

Значение Значение
COMPRESS_ALGORITHM_MSZIP
2
Алгоритм сжатия MSZIP
COMPRESS_ALGORITHM_XPRESS
3
Алгоритм сжатия XPRESS
COMPRESS_ALGORITHM_XPRESS_HUFF
4
Алгоритм сжатия XPRESS с кодировкой Хаффмана
COMPRESS_ALGORITHM_LZMS
5
Алгоритм сжатия LZMS

[in, optional] AllocationRoutines

Необязательные процедуры выделения памяти и освобождения в структуре COMPRESS_ALLOCATION_ROUTINES .

[out] CompressorHandle

Если функция выполняется успешно, дескриптор указанного компрессора.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение. Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Если алгоритм сжатия по какой-либо внутренней причине завершается сбоем, можно ERROR_FUNCTION_FAILED ошибку getLastError. Если системе не удается найти алгоритм сжатия, соответствующий указанному имени и версии, ошибка может быть ERROR_NOT_SUPPORTED.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header compressapi.h
Библиотека Cab.lib
DLL Cabinet.dll

См. также раздел

COMPRESS_ALLOCATION_ROUTINES

Функции API сжатия