在给定压缩上下文、输入缓冲区、输出缓冲区、压缩级别和压缩操作的情况下压缩数据。
语法
HRESULT WINAPI Compress2(
IN OUT PVOID context,
IN CONST BYTE* input_buffer,
IN LONG input_buffer_size,
IN PBYTE output_buffer,
IN LONG output_buffer_size,
OUT PLONG input_used,
OUT PLONG output_used,
IN INT compression_level,
IN INT operation
);
parameters
context [IN][OUT]指向新压缩上下文的指针。
input_buffer [IN]指向输入缓冲区的指针。
input_buffer_size [IN]输入缓冲区的大小。
output_buffer [IN]指向输出缓冲区的指针。
output_buffer_size [IN]输出缓冲区的大小。
input_used [IN]使用的输入缓冲区量。
output_used [OUT]使用的输出缓冲区量。
compression_level [IN]压缩级别。
operation [IN]压缩操作。 可以为下列值之一:
| 标识符 | 值 | 说明 |
|---|---|---|
| IIS_COMPRESSION_OPERATION_PROCESS | 0 | 处理输入数据。 编码器可以选择缓冲数据并推迟刷新输出。 |
| IIS_COMPRESSION_OPERATION_FLUSH | 1 | 刷新编码器中缓冲的所有挂起的输出数据。 当可用输入数据耗尽时,将执行刷新。 |
| IIS_COMPRESSION_OPERATION_FINISH | 2 | 完成流。 当输入流到达末尾时,将进行最终处理 |
返回值
HRESULT。 可能的值包括(但并不限于)下表中的项。
| 值 | 说明 |
|---|---|
| S_OK | 指示操作成功。 |
| S_FALSE | 指示已处理所有可用的输入数据,并且已生成所有输出数据。 |
备注
与 IIS 一起使用时,将重复调用此方法,直到压缩完成请求所需的所有数据。
要求
| 类型 | 说明 |
|---|---|
| 客户端 | - |
| 服务器 | - |
| 产品 | - |
| Header | Httpcompression.h |