1 // OffsetStream.h 2 3 #ifndef __OFFSETSTREAM_H 4 #define __OFFSETSTREAM_H 5 6 #include "Common/MyCom.h" 7 #include "../IStream.h" 8 9 class COffsetOutStream: 10 public IOutStream, 11 public CMyUnknownImp 12 { 13 UInt64 _offset; 14 CMyComPtr<IOutStream> _stream; 15 public: 16 HRESULT Init(IOutStream *stream, UInt64 offset); 17 18 MY_UNKNOWN_IMP 19 20 STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize); 21 STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition); 22 STDMETHOD(SetSize)(UInt64 newSize); 23 }; 24 25 #endif 26