NTSTATUS RtlDecompressChunks( OUT PUCHAR UncompressedBuffer, IN ULONG UncompressedBufferSize, IN PUCHAR CompressedBuffer, IN ULONG CompressedBufferSize, IN PUCHAR CompressedTail, IN ULONG CompressedTailSize, IN PCOMPRESSED_DATA_INFO CompressedDataInfo ); Routine Description: This routine takes as input a compressed buffer which is a stream of chunks and decompresses it into the specified destination buffer. The compressed data may be in two pieces, such that the "tail" of the buffer is top aligned in the buffer at CompressedTail, and the rest of the data is top aligned in the CompressedBuffer. The CompressedBuffer can overlap and be top-aligned in the UncompressedBuffer, to allow something close to in-place decompression. The CompressedTail must be large enough to completely contain the final chunk and it chunk header. Arguments: UncompressedBuffer - Supplies a pointer to where the uncompressed data is to be stored. UncompressedBufferSize - Supplies the size, in bytes, of the uncompressed buffer. CompressedBuffer - Supplies a pointer to the compressed data, part 1. CompressedBufferSize - Supplies the size, in bytes, of the compressed buffer. CompressedTail - Supplies a pointer to the compressed data, part 2, which must be the bytes immediately following the CompressedBuffer. CompressedTailSize - Supplies the size of the CompressedTail. CompressedDataInfo - Supplies a complete description of the compressed data with all the chunk sizes and compression parameters. Return Value: STATUS_SUCCESS - the decompression worked without a hitch. STATUS_INVALID_PARAMETER - The specified format is illegal STATUS_BAD_COMPRESSION_BUFFER - the input compressed buffer is ill-formed. STATUS_UNSUPPORTED_COMPRESSION - the specified compression format and/or engine is not support.