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.
102 lines
2.9 KiB
102 lines
2.9 KiB
//////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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
|