33 lines
579 B
C++
33 lines
579 B
C++
#include "stdinc.h"
|
|
#include "cstreamtap.h"
|
|
|
|
STDMETHODIMP
|
|
CTeeStreamWithHash::Read(
|
|
void* pv,
|
|
ULONG cb,
|
|
ULONG *pcbRead
|
|
)
|
|
{
|
|
HRESULT hr = E_FAIL;
|
|
FN_TRACE_HR(hr);
|
|
|
|
IFCOMFAILED_EXIT( CTeeStream::Read( pv, cb, pcbRead ) );
|
|
IFW32FALSE_EXIT(this->m_hCryptHash.Win32HashData((PBYTE)pv, *pcbRead));
|
|
|
|
hr = S_OK;
|
|
Exit:
|
|
return hr;
|
|
}
|
|
|
|
STDMETHODIMP
|
|
CTeeStreamWithHash::Seek(
|
|
LARGE_INTEGER,
|
|
DWORD,
|
|
ULARGE_INTEGER*
|
|
)
|
|
{
|
|
FN_PROLOG_WIN32
|
|
INTERNAL_ERROR_CHECK2(FALSE, "Don't call Seek on a crypto hash input stream");
|
|
FN_EPILOG
|
|
}
|