1baa3858d3f5d128a5c8466b700098109edcad5f2repo sync// 7zSpecStream.cpp 2baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 3baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "StdAfx.h" 4baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 5baa3858d3f5d128a5c8466b700098109edcad5f2repo sync#include "7zSpecStream.h" 6baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 7baa3858d3f5d128a5c8466b700098109edcad5f2repo syncSTDMETHODIMP CSequentialInStreamSizeCount2::Read(void *data, UInt32 size, UInt32 *processedSize) 8baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{ 9baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt32 realProcessedSize; 10baa3858d3f5d128a5c8466b700098109edcad5f2repo sync HRESULT result = _stream->Read(data, size, &realProcessedSize); 11baa3858d3f5d128a5c8466b700098109edcad5f2repo sync _size += realProcessedSize; 12baa3858d3f5d128a5c8466b700098109edcad5f2repo sync if (processedSize != 0) 13baa3858d3f5d128a5c8466b700098109edcad5f2repo sync *processedSize = realProcessedSize; 14baa3858d3f5d128a5c8466b700098109edcad5f2repo sync return result; 15baa3858d3f5d128a5c8466b700098109edcad5f2repo sync} 16baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 17baa3858d3f5d128a5c8466b700098109edcad5f2repo syncSTDMETHODIMP CSequentialInStreamSizeCount2::GetSubStreamSize( 18baa3858d3f5d128a5c8466b700098109edcad5f2repo sync UInt64 subStream, UInt64 *value) 19baa3858d3f5d128a5c8466b700098109edcad5f2repo sync{ 20baa3858d3f5d128a5c8466b700098109edcad5f2repo sync if (_getSubStreamSize == NULL) 21baa3858d3f5d128a5c8466b700098109edcad5f2repo sync return E_NOTIMPL; 22baa3858d3f5d128a5c8466b700098109edcad5f2repo sync return _getSubStreamSize->GetSubStreamSize(subStream, value); 23baa3858d3f5d128a5c8466b700098109edcad5f2repo sync} 24baa3858d3f5d128a5c8466b700098109edcad5f2repo sync 25