mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
24 lines
704 B
C++
24 lines
704 B
C++
|
// LockedStream.cpp
|
||
|
|
||
|
#include "StdAfx.h"
|
||
|
|
||
|
#include "LockedStream.h"
|
||
|
|
||
|
HRESULT CLockedInStream::Read(UInt64 startPos, void *data, UInt32 size,
|
||
|
UInt32 *processedSize)
|
||
|
{
|
||
|
NWindows::NSynchronization::CCriticalSectionLock lock(_criticalSection);
|
||
|
RINOK(_stream->Seek(startPos, STREAM_SEEK_SET, NULL));
|
||
|
return _stream->Read(data, size, processedSize);
|
||
|
}
|
||
|
|
||
|
STDMETHODIMP CLockedSequentialInStreamImp::Read(void *data, UInt32 size, UInt32 *processedSize)
|
||
|
{
|
||
|
UInt32 realProcessedSize = 0;
|
||
|
HRESULT result = _lockedInStream->Read(_pos, data, size, &realProcessedSize);
|
||
|
_pos += realProcessedSize;
|
||
|
if (processedSize != NULL)
|
||
|
*processedSize = realProcessedSize;
|
||
|
return result;
|
||
|
}
|