You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.3 KiB
92 lines
2.3 KiB
/*++
|
|
|
|
Copyright (c) 2002 Microsoft Corporation
|
|
|
|
Abstract:
|
|
|
|
@doc
|
|
@module comregdbwriter.hxx | Declaration of the COM+ RegDB writer
|
|
@end
|
|
|
|
Author:
|
|
|
|
Ran kalach [rankala] 05/17/2002
|
|
|
|
Revision History:
|
|
|
|
Name Date Comments
|
|
rankala 05/17/2001 created (based on EventLog writer as a model)
|
|
|
|
--*/
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
// Standard foo for file name aliasing. This code block must be after
|
|
// all includes of VSS header files.
|
|
//
|
|
#ifdef VSS_FILE_ALIAS
|
|
#undef VSS_FILE_ALIAS
|
|
#endif
|
|
#define VSS_FILE_ALIAS "INCCDBWH"
|
|
//
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __CDBWRITER_H_
|
|
#define __CDBWRITER_H_
|
|
|
|
class CComRegDBWriter :
|
|
public CVssWriter
|
|
{
|
|
private:
|
|
STDMETHODCALLTYPE CComRegDBWriter() : m_bPerformSnapshot(FALSE)
|
|
{
|
|
}
|
|
|
|
public:
|
|
virtual STDMETHODCALLTYPE ~CComRegDBWriter()
|
|
{ }
|
|
|
|
virtual bool STDMETHODCALLTYPE OnIdentify(IVssCreateWriterMetadata *pMetadata);
|
|
|
|
virtual bool STDMETHODCALLTYPE OnPrepareBackup(IN IVssWriterComponents *pWriterComponents);
|
|
|
|
virtual bool STDMETHODCALLTYPE OnPrepareSnapshot();
|
|
|
|
virtual bool STDMETHODCALLTYPE OnFreeze();
|
|
|
|
virtual bool STDMETHODCALLTYPE OnThaw();
|
|
|
|
virtual bool STDMETHODCALLTYPE OnAbort();
|
|
|
|
// Converted to CUSTOM restore method (see bug# 688278)
|
|
#if 0
|
|
virtual bool STDMETHODCALLTYPE OnPreRestore(IVssWriterComponents *pComponent);
|
|
|
|
virtual bool STDMETHODCALLTYPE OnPostRestore(IVssWriterComponents *pComponent);
|
|
#endif
|
|
|
|
|
|
public:
|
|
|
|
static HRESULT CreateWriter();
|
|
|
|
static void DestroyWriter();
|
|
|
|
private:
|
|
|
|
HRESULT STDMETHODCALLTYPE Initialize();
|
|
|
|
HRESULT STDMETHODCALLTYPE Uninitialize();
|
|
|
|
HRESULT STDMETHODCALLTYPE StopCOMSysAppService();
|
|
|
|
void TranslateWriterError(HRESULT hr);
|
|
|
|
static CComRegDBWriter *sm_pWriter; // singleton writer object
|
|
|
|
BOOL m_bPerformSnapshot; // whether this writer needs to spit or not
|
|
// It needs to spit only if the component is selected or
|
|
// this is a BootableSystemState backup
|
|
};
|
|
|
|
#endif // _CDBWRITER_H_
|
|
|