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
使用 Huffman 编码的 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
标头 compressapi.h
Library Cabinet.lib
DLL Cabinet.dll

另请参阅

COMPRESS_ALLOCATION_ROUTINES

压缩 API 函数