Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

100 lines
3.0 KiB

// 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_)