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.
111 lines
2.1 KiB
111 lines
2.1 KiB
/*++
|
|
|
|
Copyright (c) 1999 Microsoft Corporation
|
|
|
|
Abstract:
|
|
|
|
@doc
|
|
@module sqlwriter.h | Declaration of the sql wrier
|
|
@end
|
|
|
|
Author:
|
|
|
|
Brian Berkowitz [brianb] 04/17/2000
|
|
|
|
TBD:
|
|
|
|
Add comments.
|
|
|
|
Revision History:
|
|
|
|
Name Date Comments
|
|
brianb 04/17/2000 created
|
|
brianb 05/05/2000 added OnIdentify support
|
|
mikejohn 09/18/2000 176860: Added calling convention methods where missing
|
|
|
|
--*/
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
// 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 "INCSQLWH"
|
|
//
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef __SQLWRITER_H_
|
|
#define __SQLWRITER_H_
|
|
|
|
class CSqlWriter :
|
|
public CVssWriter,
|
|
public CCheckPath
|
|
{
|
|
public:
|
|
STDMETHODCALLTYPE CSqlWriter() :
|
|
m_pSqlSnapshot(NULL),
|
|
m_fFrozen(false)
|
|
{
|
|
}
|
|
|
|
STDMETHODCALLTYPE ~CSqlWriter()
|
|
{
|
|
delete m_pSqlSnapshot;
|
|
}
|
|
|
|
bool STDMETHODCALLTYPE OnIdentify(IVssCreateWriterMetadata *pMetadata);
|
|
|
|
bool STDMETHODCALLTYPE OnPrepareSnapshot();
|
|
|
|
bool STDMETHODCALLTYPE OnFreeze();
|
|
|
|
bool STDMETHODCALLTYPE OnThaw();
|
|
|
|
bool STDMETHODCALLTYPE OnAbort();
|
|
|
|
bool IsPathInSnapshot(const WCHAR *path) throw();
|
|
|
|
HRESULT STDMETHODCALLTYPE Initialize();
|
|
|
|
HRESULT STDMETHODCALLTYPE Uninitialize();
|
|
private:
|
|
CSqlSnapshot *m_pSqlSnapshot;
|
|
|
|
void TranslateWriterError(HRESULT hr);
|
|
|
|
bool m_fFrozen;
|
|
};
|
|
|
|
// wrapper class used to create and destroy the writer
|
|
// used by coordinator
|
|
class CVssSqlWriterWrapper
|
|
{
|
|
public:
|
|
__declspec(dllexport)
|
|
CVssSqlWriterWrapper();
|
|
|
|
__declspec(dllexport)
|
|
~CVssSqlWriterWrapper();
|
|
|
|
__declspec(dllexport)
|
|
HRESULT CreateSqlWriter();
|
|
|
|
__declspec(dllexport)
|
|
void DestroySqlWriter();
|
|
private:
|
|
// initialization function
|
|
static DWORD InitializeThreadFunc(VOID *pv);
|
|
|
|
CSqlWriter *m_pSqlWriter;
|
|
|
|
// result of initialization
|
|
HRESULT m_hrInitialize;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // _SQLWRITER_H_
|
|
|