Função Compress (compressapi.h)
Pega um bloco de informações e compacta-o.
Sintaxe
BOOL Compress(
[in] COMPRESSOR_HANDLE CompressorHandle,
[in] LPCVOID UncompressedData,
[in] SIZE_T UncompressedDataSize,
[out] PVOID CompressedBuffer,
[in] SIZE_T CompressedBufferSize,
[out] PSIZE_T CompressedDataSize
);
Parâmetros
[in] CompressorHandle
Identificador para um compressor retornado por CreateCompressor.
[in] UncompressedData
Contém o bloco de informações que deve ser compactado. O tamanho em bytes do bloco descompactado é dado por UncompressedDataSize.
[in] UncompressedDataSize
Tamanho em bytes das informações descompactadas.
[out] CompressedBuffer
O buffer que recebe as informações compactadas. O tamanho máximo em bytes do buffer é fornecido por CompressedBufferSize.
[in] CompressedBufferSize
Tamanho máximo em bytes do buffer que recebe as informações compactadas.
[out] CompressedDataSize
Tamanho real em bytes das informações compactadas recebidas.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero. Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se o algoritmo de compactação falhar por algum motivo interno, o erro de GetLastError poderá ser ERROR_FUNCTION_FAILED. Se o sistema não conseguir localizar o identificador do algoritmo de compactação, o erro poderá ser ERROR_INVALID_HANDLE. Se o buffer de saída for muito pequeno para conter os dados compactados, o erro poderá ser ERROR_INSUFFICIENT_BUFFER.
Se o buffer de saída CompressedBuffer for muito pequeno para conter os dados compactados, a função falhará e o erro de GetLastError poderá ser ERROR_INSUFFICIENT_BUFFER. Nesse caso, o parâmetro CompressedDataSize recebe com o tamanho que o CompressedBuffer precisa ser para garantir o sucesso desse buffer de entrada. Você pode definir CompressedBufferSize como zero para determinar o tamanho do buffer de saída a ser alocado.
Requisitos
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | compressapi.h |
Biblioteca | Cabinet.lib |
DLL | Cabinet.dll |