1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// OutStreamWithCRC.cpp 2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "StdAfx.h" 4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "OutStreamWithCRC.h" 6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 7baa3858d3f5d128a5c8466b700098109edcad5f2repo syncSTDMETHODIMP COutStreamWithCRC::Write(const void *data, UInt32 size, UInt32 *processedSize) 8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{ 9baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT result = S_OK; 10baa3858d3f5d128a5c8466b700098109edcad5f2repo sync if (_stream) 11baa3858d3f5d128a5c8466b700098109edcad5f2repo sync result = _stream->Write(data, size, &size); 12baa3858d3f5d128a5c8466b700098109edcad5f2repo sync if (_calculate) 13baa3858d3f5d128a5c8466b700098109edcad5f2repo sync _crc = CrcUpdate(_crc, data, size); 14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync _size += size; 15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync if (processedSize != NULL) 16baa3858d3f5d128a5c8466b700098109edcad5f2repo sync *processedSize = size; 17baa3858d3f5d128a5c8466b700098109edcad5f2repo sync return result; 18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync} 19