windows-nt/Source/XPSP1/NT/base/cluster/mgmt/cluscfg/middletier/servicemanager.h
2020-09-26 16:20:57 +08:00

58 lines
1.9 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1999-2000 Microsoft Corporation
//
// Module Name:
// ServiceMgr.h
//
// Description:
// Service Manager implementation.
//
// Maintained By:
// Geoffrey Pease (GPease) 22-NOV-1999
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
// CServiceManager
class
CServiceManager:
public IServiceProvider
{
private:
// IUnknown
LONG m_cRef; // Reference counter
// IServiceProvider
DWORD m_dwObjectManagerCookie; // Cookie for Object Manager
DWORD m_dwTaskManagerCookie; // Cookie for Task Manager
DWORD m_dwNotificationManagerCookie; // Cookie for Notification Manager
DWORD m_dwConnectionManagerCookie; // Cookie for Connection Manager
DWORD m_dwLogManagerCookie; // Cookie for Log Manager
IGlobalInterfaceTable * m_pgit; // Global Interface Table
static CRITICAL_SECTION * sm_pcs; // Access control critical section
static BOOL sm_fShutDown; // TRUE if process shutting down.
private: // Methods
CServiceManager( );
~CServiceManager();
STDMETHOD(Init)( );
public: // Methods
static HRESULT
S_HrCreateInstance( IUnknown ** ppunkOut );
static HRESULT
S_HrGetManagerPointer( IServiceProvider ** pspOut );
// IUnknown
STDMETHOD(QueryInterface)( REFIID riid, LPVOID *ppv );
STDMETHOD_(ULONG, AddRef)(void);
STDMETHOD_(ULONG, Release)(void);
// IServiceProvider
STDMETHOD(QueryService)( REFCLSID rclsidIn, REFIID riidIn, void ** ppvOut );
}; // class CServiceManager