bool CInBuffer::ReadBlock() { if (_wasFinished) return false; _processedSize += (_buffer - _bufferBase); UInt32 numProcessedBytes; HRESULT result = _stream->ReadPart(_bufferBase, _bufferSize, &numProcessedBytes); if (result != S_OK) throw CInBufferException(result); _buffer = _bufferBase; _bufferLimit = _buffer + numProcessedBytes; _wasFinished = (numProcessedBytes == 0); return (!_wasFinished); }
bool CInBuffer::ReadBlock() { #ifdef _NO_EXCEPTIONS if (ErrorCode != S_OK) return false; #endif if (_wasFinished) return false; _processedSize += (_buffer - _bufferBase); UInt32 numProcessedBytes; HRESULT result = _stream->Read(_bufferBase, _bufferSize, &numProcessedBytes); #ifdef _NO_EXCEPTIONS ErrorCode = result; #else if (result != S_OK) throw CInBufferException(result); #endif _buffer = _bufferBase; _bufferLimit = _buffer + numProcessedBytes; _wasFinished = (numProcessedBytes == 0); return (!_wasFinished); }