Compress, fonction (compressapi.h)
Prend un bloc d’informations et les compresse.
Syntaxe
BOOL Compress(
[in] COMPRESSOR_HANDLE CompressorHandle,
[in] LPCVOID UncompressedData,
[in] SIZE_T UncompressedDataSize,
[out] PVOID CompressedBuffer,
[in] SIZE_T CompressedBufferSize,
[out] PSIZE_T CompressedDataSize
);
Paramètres
[in] CompressorHandle
Poignée à un compresseur retourné par CreateCompressor.
[in] UncompressedData
Contient le bloc d’informations à compresser. La taille en octets du bloc non compressé est donnée par UncompressedDataSize.
[in] UncompressedDataSize
Taille en octets des informations non compressées.
[out] CompressedBuffer
Mémoire tampon qui reçoit les informations compressées. La taille maximale en octets de la mémoire tampon est donnée par CompressedBufferSize.
[in] CompressedBufferSize
Taille maximale en octets de la mémoire tampon qui reçoit les informations compressées.
[out] CompressedDataSize
Taille réelle, en octets, des informations compressées reçues.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro. Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Si l’algorithme de compression échoue pour une raison interne, l’erreur de GetLastError peut être ERROR_FUNCTION_FAILED. Si le système ne peut pas localiser le handle de l’algorithme de compression, l’erreur peut être ERROR_INVALID_HANDLE. Si la mémoire tampon de sortie est trop petite pour contenir les données compressées, l’erreur peut être ERROR_INSUFFICIENT_BUFFER.
Si la mémoire tampon de sortie CompressedBuffer est trop petite pour contenir les données compressées, la fonction échoue et l’erreur de GetLastError peut être ERROR_INSUFFICIENT_BUFFER. Dans ce cas, le paramètre CompressedDataSize reçoit avec la taille dont le CompressedBuffer a besoin pour garantir la réussite de cette mémoire tampon d’entrée. Vous pouvez définir CompressedBufferSize sur zéro pour déterminer la taille de la mémoire tampon de sortie à allouer.
Configuration requise
Client minimal pris en charge | Windows 8 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | compressapi.h |
Bibliothèque | Cabinet.lib |
DLL | Cabinet.dll |