windows-nt/Source/XPSP1/NT/admin/wmi/wbem/winmgmt/adap/wmibroker.h

61 lines
1.6 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (C) 1999-2001 Microsoft Corporation
Module Name:
WMIBROKER.H
Abstract:
interface for the CWMIBroker class.
History:
--*/
#ifndef _WMIBROKER_H_
#define _WMIBROKER_H_
#include <wbemcli.h>
#include "perfndb.h"
#define CLSID_NT5PerfProvider_V1 L"{FF37A93C-C28E-11d1-AEB6-00C04FB68820}"
#define CLSID_NT5PerfProvider_V1_Srv L"{76A94DE3-7C26-44f5-8E98-C5AEA48186CB}"
#define CLSID_HiPerfCooker_V1 L"{B0A2AB46-F612-4469-BEC4-7AB038BC476C}"
#define CLSID_HiPerfCooker_V1_Srv L"{B0A2AB46-F612-4469-BEC4-7AB038BC476C}"
class CWMIBroker
{
WString m_wstrNamespace;
DWORD m_dwWMIPID;
HRESULT Connect( IWbemServices** ppNamespace, CPerfNameDb* pDefaultNameDb = NULL );
HRESULT ConnectToNamespace( IWbemServices** ppNamespace );
virtual void HandleConnectServerFailure( HRESULT hr );
HRESULT VerifyNamespace( IWbemServices* pNS );
virtual HRESULT VerifyProviderClasses( IWbemServices* pNS,
LPCWSTR wszProvider,
LPCWSTR wszGUID_Client,
LPCWSTR wszGUID_Server = NULL);
virtual HRESULT VerifyBaseClasses( IWbemServices* pNS );
HRESULT VerifyByTemplate( IWbemServices* pNS, IWbemClassObject** ppTemplate, WCHAR* wcsClassName );
HRESULT SetBaseClassQualifiers( IWbemClassObject* pBaseClass, BOOL bDefault );
HRESULT SetProperties( IWbemClassObject* pPerfClass );
public:
CWMIBroker( WString wstrNamespace );
virtual ~CWMIBroker();
static HRESULT VerifyWMI();
static HRESULT GetNamespace( WString wstrNamespace, IWbemServices** ppNamespace );
};
#endif // _WMIBROKER_H_