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) 1999-2002 Microsoft Corporation
//
// Module Name:
// LogManager.h
//
// Description:
// Log Manager implementation.
//
// Maintained By:
// David Potter (DavidP) 07-DEC-2000
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
//////////////////////////////////////////////////////////////////////////////
// Forward Class Definitions
//////////////////////////////////////////////////////////////////////////////
class CLogManager;
//////////////////////////////////////////////////////////////////////////////
//++
//
// class CLogManager
//
// Description:
// Logs notifications to the log file.
//
//--
//////////////////////////////////////////////////////////////////////////////
class CLogManager : public ILogManager , public IClusCfgCallback { private: // IUnknown
LONG m_cRef; // Reference counter.
// ILogManager
ILogger * m_plLogger; // ILogger for doing logging.
// IClusCfgCallback
OBJECTCOOKIE m_cookieCompletion; // Completion cookie.
HRESULT m_hrResult; // Result of the analyze task.
BSTR m_bstrLogMsg; // Reusable logging buffer.
IConnectionPoint * m_pcpcb; // IClusCfgCallback Connection Point.
DWORD m_dwCookieCallback; // Notification registration cookie.
private: // Methods
CLogManager( void ); ~CLogManager( void ); STDMETHOD( HrInit )( void );
// Private copy constructor to prevent copying.
CLogManager( const CLogManager & );
// Private assignment operator to prevent copying.
CLogManager & operator=( const CLogManager & );
public: // Methods
//
// Public, non interface methods.
//
static HRESULT S_HrCreateInstance( IUnknown ** ppunkOut );
//
// IUnknown
//
STDMETHOD( QueryInterface )( REFIID riidIn, LPVOID * ppvOut ); STDMETHOD_( ULONG, AddRef )( void ); STDMETHOD_( ULONG, Release )( void );
//
// ILogManager
//
STDMETHOD( StartLogging )( void ); STDMETHOD( StopLogging )( void ); STDMETHOD( GetLogger )( ILogger ** ppLoggerOut );
//
// IClusCfgCallback
//
STDMETHOD( SendStatusReport )( LPCWSTR pcszNodeNameIn , CLSID clsidTaskMajorIn , CLSID clsidTaskMinorIn , ULONG ulMinIn , ULONG ulMaxIn , ULONG ulCurrentIn , HRESULT hrStatusIn , LPCWSTR pcszDescriptionIn , FILETIME * pftTimeIn , LPCWSTR pcszReferenceIn );
}; //*** class CLogManager
|