RtlCompressBufferProgress
NTSTATUS __stdcall RtlCompressBufferProgress(
UINT16 FormatEngine,
UINT8 *UncompressedBuffer,
UINT64 UncompressedBufferSize,
UINT8 *CompressedBuffer,
UINT64 CompressedBufferSize,
UINT64 *FinalCompressedSize,
VOID *WorkSpace,
VOID *Callback,
VOID *a9,
VOID *CallbackContext,
UINT64 ProgressBytes){
__int16 v11;
__int16 v12;
VOID *v14;
UINT64 v15;
v11 = (unsigned __int8)FormatEngine;
v12 = FormatEngine & 0xFF00;
if( v11 == 3 )
{
if( !v12 )
{
LODWORD(v14) = 4096;
return RtlCompressBufferXpressLzStandard(
UncompressedBuffer,
(unsigned int)UncompressedBufferSize,
CompressedBuffer,
0x10000ui64,
FinalCompressedSize,
(_XPRESS_LZ_WORKSPACE *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
Callback,
a9,
v14,
v15);
}
if( v12 == 256 )
{
LODWORD(v14) = 4096;
return RtlCompressBufferXpressLzMax(
UncompressedBuffer,
(unsigned int)UncompressedBufferSize,
CompressedBuffer,
0x10000ui64,
FinalCompressedSize,
(_XPRESS_LZ_WORKSPACE_MAX *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
Callback,
a9,
v14,
v15);
}
}
else if( v11 == 4 )
{
if( !v12 )
{
LODWORD(v14) = 4096;
return RtlCompressBufferXpressHuffStandard(
UncompressedBuffer,
(unsigned int)UncompressedBufferSize,
CompressedBuffer,
0x10000ui64,
FinalCompressedSize,
(_XPRESS_HUFF_WORKSPACE *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
Callback,
a9,
v14,
v15);
}
if( v12 == 256 )
{
LODWORD(v14) = 4096;
return RtlCompressBufferXpressHuffMax(
UncompressedBuffer,
(unsigned int)UncompressedBufferSize,
CompressedBuffer,
0x10000ui64,
FinalCompressedSize,
(_XPRESS_HUFF_WORKSPACE_MAX *)(((unsigned __int64)WorkSpace + 7) & 0xFFFFFFFFFFFFFFF8ui64),
Callback,
a9,
v14,
v15);
}
}
return -1073741217;
}Referenced by:
PopAddPagesToCompressedPageSet