Compressing entirely in memory (VC++ example)
In This Topic
VC++ |
Copy Code |
// This code uses the #import directive. // Put the following line at the beginning of your module
#import "XCEEDSCO.DLL" no_namespace named_guids
CoInitialize( NULL );
try { IXceedStreamingCompressionPtr piComp;
piComp.CreateInstance( CLSID_XceedStreamingCompression ); piComp->License( _bstr_t( L"your license key ) );
IXceedStandardCompressionFormatPtr piFormat;
piFormat.CreateInstance( CLSID_XceedStandardCompressionFormat );
piComp->CompressionFormat = IXceedCompressDataPtr( piFormat );
const char* pszSource = "This is the data to compress compress compress";
// Let's say we want to compress the null-char too DWORD dwSourceSize = lstrlen( pszSource ) + 1;
BYTE* pcCompressed = NULL; DWORD dwCompressedSize = 0;
piComp->Compress( ( BYTE* )pszSource, dwSourceSize, TRUE, &pcCompressed, &dwCompressedSize );
MessageBox( NULL, "Data compressed successfully", "Compression result", MB_OK );
CoTaskMemFree( pcCompressed ); } catch( const _com_error& xErr ) { char szMsg[50]; wsprintf( szMsg, "Error %08x: %s\n", xErr.Error(), ( const char* )xErr.Description() ); MessageBox( NULL, szMsg, "Error", MB_OK ); } catch( ... ) { MessageBox( NULL, "Unknown error", "Error", MB_OK ); }
CoUninitialize(); |