Mercurial > vba-linux
comparison src/win32/7zip/7z/CPP/7zip/Common/LockedStream.cpp @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:8ced16adf2e1 | 1:f9f4f1b99eed |
---|---|
1 // LockedStream.cpp | |
2 | |
3 #include "StdAfx.h" | |
4 | |
5 #include "LockedStream.h" | |
6 | |
7 HRESULT CLockedInStream::Read(UInt64 startPos, void *data, UInt32 size, | |
8 UInt32 *processedSize) | |
9 { | |
10 NWindows::NSynchronization::CCriticalSectionLock lock(_criticalSection); | |
11 RINOK(_stream->Seek(startPos, STREAM_SEEK_SET, NULL)); | |
12 return _stream->Read(data, size, processedSize); | |
13 } | |
14 | |
15 STDMETHODIMP CLockedSequentialInStreamImp::Read(void *data, UInt32 size, UInt32 *processedSize) | |
16 { | |
17 UInt32 realProcessedSize = 0; | |
18 HRESULT result = _lockedInStream->Read(_pos, data, size, &realProcessedSize); | |
19 _pos += realProcessedSize; | |
20 if (processedSize != NULL) | |
21 *processedSize = realProcessedSize; | |
22 return result; | |
23 } |