30 lines
669 B
C
30 lines
669 B
C
|
#pragma once
|
||
|
|
||
|
#include "fusionsha1.h"
|
||
|
|
||
|
class CTeeStreamWithHash : public CTeeStream
|
||
|
{
|
||
|
CFusionHash m_hCryptHash;
|
||
|
|
||
|
PRIVATIZE_COPY_CONSTRUCTORS(CTeeStreamWithHash);
|
||
|
|
||
|
public:
|
||
|
SMARTTYPEDEF(CTeeStreamWithHash);
|
||
|
|
||
|
CTeeStreamWithHash() { }
|
||
|
virtual ~CTeeStreamWithHash() { }
|
||
|
|
||
|
//
|
||
|
// Actual things that do work
|
||
|
//
|
||
|
CFusionHash &GetCryptHash() { return m_hCryptHash; }
|
||
|
BOOL InitCryptHash( ALG_ID aid ) { return m_hCryptHash.Win32Initialize(aid);}
|
||
|
|
||
|
STDMETHODIMP Read(void *pv, ULONG cb, ULONG *pcbRead);
|
||
|
STDMETHODIMP Seek( LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER * pulMove );
|
||
|
|
||
|
};
|
||
|
|
||
|
SMARTTYPE(CTeeStreamWithHash);
|
||
|
|