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.
|
|
/*++
Copyright (c) 2001 Microsoft Corporation
Abstract:
@doc @module evtlogwriter.hxx | Declaration of the Event Log writer @end
Author:
Stefan Steiner [SSteiner] 07/26/2001
TBD:
Follows the similar style as the sql writer. Revision History:
Name Date Comments ssteiner 07/26/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 "INCEVTWH"
//
////////////////////////////////////////////////////////////////////////
#ifndef __EVTWRITER_H_
#define __EVTWRITER_H_
class CEventLogWriter : public CVssWriter { private: STDMETHODCALLTYPE CEventLogWriter() { }
public: virtual STDMETHODCALLTYPE ~CEventLogWriter() { FreeLogs(); }
virtual bool STDMETHODCALLTYPE OnIdentify(IVssCreateWriterMetadata *pMetadata);
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); void ScanLogs(); void FreeLogs(); void AddExcludes(IVssCreateWriterMetadata* pMetadata); void AddLogs(IVssCreateWriterMetadata* pMetadata); void BackupLogs(); static DWORD InitializeThreadFunc( VOID *pv );
struct EventLog { EventLog() : m_pwszName(NULL), m_pwszFileName(NULL) {} EventLog(VSS_PWSZ name, VSS_PWSZ fileName) : m_pwszName(name), m_pwszFileName(fileName) {} VSS_PWSZ m_pwszName; VSS_PWSZ m_pwszFileName; }; CSimpleArray<EventLog> m_eventLogs; static CEventLogWriter *sm_pWriter; // singleton writer object
static HRESULT sm_hrInitialize; };
#endif // _EVTWRITER_H_
|