Funzione Compress (compressapi.h)
Accetta un blocco di informazioni e lo comprime.
Sintassi
BOOL Compress(
[in] COMPRESSOR_HANDLE CompressorHandle,
[in] LPCVOID UncompressedData,
[in] SIZE_T UncompressedDataSize,
[out] PVOID CompressedBuffer,
[in] SIZE_T CompressedBufferSize,
[out] PSIZE_T CompressedDataSize
);
Parametri
[in] CompressorHandle
Handle a un compressore restituito da CreateCompressor.
[in] UncompressedData
Contiene il blocco di informazioni da comprimere. Le dimensioni in byte del blocco non compresso vengono date da UncompressedDataSize.
[in] UncompressedDataSize
Dimensioni in byte delle informazioni non compresse.
[out] CompressedBuffer
Buffer che riceve le informazioni compresse. Le dimensioni massime in byte del buffer vengono date da CompressedBufferSize.
[in] CompressedBufferSize
Dimensione massima in byte del buffer che riceve le informazioni compresse.
[out] CompressedDataSize
Dimensioni effettive in byte delle informazioni compresse ricevute.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero. Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se l'algoritmo di compressione non riesce per qualche motivo interno, l'errore di GetLastError può essere ERROR_FUNCTION_FAILED. Se il sistema non riesce a individuare l'handle dell'algoritmo di compressione, l'errore può essere ERROR_INVALID_HANDLE. Se il buffer di output è troppo piccolo per contenere i dati compressi, l'errore può essere ERROR_INSUFFICIENT_BUFFER.
Se il buffer di output CompressedBuffer è troppo piccolo per contenere i dati compressi, la funzione ha esito negativo e l'errore da GetLastError può essere ERROR_INSUFFICIENT_BUFFER. In questo caso, il parametro CompressedDataSize riceve le dimensioni necessarie per garantire l'esito positivo del buffer di input. È possibile impostare CompressedBufferSize su zero per determinare le dimensioni del buffer di output da allocare.
Requisiti
Client minimo supportato | Windows 8 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | compressapi.h |
Libreria | Cabinet.lib |
DLL | Cabinet.dll |