windows-nt/Source/XPSP1/NT/admin/hmonitor/hmagent/evtprov.h
2020-09-26 16:20:57 +08:00

101 lines
3 KiB
C++

// BaseEventProvider.h: interface for the CBaseEventProvider class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_BASEEVENTPROVIDER_H__1CCFABA4_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_)
#define AFX_BASEEVENTPROVIDER_H__1CCFABA4_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "datacltr.h"
class CBaseEventProvider : public IWbemEventProvider, public IWbemProviderInit
{
public:
CBaseEventProvider();
virtual ~CBaseEventProvider();
public:
// IUnknown
STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
// IWbemEventProvider
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
// IWbemEventProviderInit
HRESULT STDMETHODCALLTYPE Initialize( LPWSTR pszUser,
LONG lFlags,
LPWSTR pszNamespace,
LPWSTR pszLocale,
IWbemServices __RPC_FAR *pNamespace,
IWbemContext __RPC_FAR *pCtx,
IWbemProviderInitSink __RPC_FAR *pInitSink);
// CBaseEventProvider
protected:
ULONG m_cRef;
IWbemServices* m_pIWbemServices;
// CSystem* m_pSystem;
// IWbemObjectSink* m_pEvtSink;
};
class CSystemEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
class CDataGroupEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
class CDataCollectorEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
class CDataCollectorPerInstanceEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
//class CDataCollectorStatisticsEventProvider : public CBaseEventProvider
//{
// STDMETHODIMP_(ULONG) Release(void);
// HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
//};
class CThresholdEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
//class CThresholdInstanceEventProvider : public CBaseEventProvider
//{
// STDMETHODIMP_(ULONG) Release(void);
// HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
//};
class CActionEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
class CActionTriggerEventProvider : public CBaseEventProvider
{
STDMETHODIMP_(ULONG) Release(void);
HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
};
#endif // !defined(AFX_BASEEVENTPROVIDER_H__1CCFABA4_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_)