windows-nt/Source/XPSP1/NT/ds/security/services/ca/certdb/backup.h

70 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//+--------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1996 - 1999
//
// File: backup.h
//
// Contents: Cert Server Database interface implementation
//
//---------------------------------------------------------------------------
#include "resource.h" // main symbols
class CCertDBBackup: public ICertDBBackup
{
public:
CCertDBBackup();
~CCertDBBackup();
public:
// IUnknown
STDMETHODIMP QueryInterface(const IID& iid, void **ppv);
ULONG STDMETHODCALLTYPE AddRef();
ULONG STDMETHODCALLTYPE Release();
// ICertDBBackup
STDMETHOD(GetDBFileList)(
IN OUT DWORD *pcwcList,
OUT WCHAR *pwszzList); // OPTIONAL
STDMETHOD(GetLogFileList)(
IN OUT DWORD *pcwcList,
OUT WCHAR *pwszzList); // OPTIONAL
STDMETHOD(OpenFile)(
IN WCHAR const *pwszFile,
OPTIONAL OUT ULARGE_INTEGER *pliSize);
STDMETHOD(ReadFile)(
IN OUT DWORD *pcb,
OUT BYTE *pb);
STDMETHOD(CloseFile)();
STDMETHOD(TruncateLog)();
// CCertDBBackup
HRESULT Open(
IN LONG grbitJet,
IN CERTSESSION *pcs,
IN ICertDB *pdb);
private:
VOID _Cleanup();
ICertDB *m_pdb;
CERTSESSION *m_pcs;
LONG m_grbitJet;
BOOL m_fBegin;
BOOL m_fFileOpen;
BOOL m_fTruncated;
JET_HANDLE m_hFileDB;
// Reference count
long m_cRef;
};