|
1 // OutStreamWithCRC.cpp |
|
2 |
|
3 #include "StdAfx.h" |
|
4 |
|
5 #include "OutStreamWithCRC.h" |
|
6 |
|
7 STDMETHODIMP COutStreamWithCRC::Write(const void *data, |
|
8 UInt32 size, UInt32 *processedSize) |
|
9 { |
|
10 UInt32 realProcessedSize; |
|
11 HRESULT result; |
|
12 if(!_stream) |
|
13 { |
|
14 realProcessedSize = size; |
|
15 result = S_OK; |
|
16 } |
|
17 else |
|
18 result = _stream->Write(data, size, &realProcessedSize); |
|
19 _crc.Update(data, realProcessedSize); |
|
20 if(processedSize != NULL) |
|
21 *processedSize = realProcessedSize; |
|
22 return result; |
|
23 } |