Leaked source code of windows server 2003
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.
 
 
 
 
 
 

95 lines
2.0 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
Abstract:
@doc
@module regwriter.hxx | Declaration of the Registry writer
@end
Author:
Stefan Steiner [SSteiner] 07/23/2001
TBD:
Follows the similar style as the sql writer.
Revision History:
Name Date Comments
ssteiner 07/23/2001 created
--*/
////////////////////////////////////////////////////////////////////////
// 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 "INCREGWH"
//
////////////////////////////////////////////////////////////////////////
#ifndef __REGWRITER_H_
#define __REGWRITER_H_
class CRegistryWriter :
public CVssWriter
// public CCheckPath
{
private:
STDMETHODCALLTYPE CRegistryWriter()
{
}
public:
virtual STDMETHODCALLTYPE ~CRegistryWriter()
{
}
virtual bool STDMETHODCALLTYPE OnIdentify(IN 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();
bool IsPathInSnapshot(const WCHAR *path) throw();
public:
static HRESULT CreateWriter();
static void DestroyWriter();
private:
HRESULT STDMETHODCALLTYPE Initialize();
HRESULT STDMETHODCALLTYPE Uninitialize();
void TranslateWriterError(HRESULT hr);
static DWORD InitializeThreadFunc( VOID *pv );
static CRegistryWriter *sm_pWriter; // singleton registry writer object
static HRESULT sm_hrInitialize;
CBsString m_cwsExpandedConfigDir;
CBsString m_cwsExpandedRegistryTargetDir;
BOOL m_bSnapshotSuccessful;
BOOL m_bPerformSnapshot;
};
#endif // _REGWRITER_H_