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

  1. // BaseEventProvider.h: interface for the CBaseEventProvider class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_BASEEVENTPROVIDER_H__1CCFABA4_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_)
  5. #define AFX_BASEEVENTPROVIDER_H__1CCFABA4_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. #include "datacltr.h"
  10. class CBaseEventProvider : public IWbemEventProvider, public IWbemProviderInit
  11. {
  12. public:
  13. CBaseEventProvider();
  14. virtual ~CBaseEventProvider();
  15. public:
  16. // IUnknown
  17. STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv);
  18. STDMETHODIMP_(ULONG) AddRef(void);
  19. STDMETHODIMP_(ULONG) Release(void);
  20. // IWbemEventProvider
  21. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  22. // IWbemEventProviderInit
  23. HRESULT STDMETHODCALLTYPE Initialize( LPWSTR pszUser,
  24. LONG lFlags,
  25. LPWSTR pszNamespace,
  26. LPWSTR pszLocale,
  27. IWbemServices __RPC_FAR *pNamespace,
  28. IWbemContext __RPC_FAR *pCtx,
  29. IWbemProviderInitSink __RPC_FAR *pInitSink);
  30. // CBaseEventProvider
  31. protected:
  32. ULONG m_cRef;
  33. IWbemServices* m_pIWbemServices;
  34. // CSystem* m_pSystem;
  35. // IWbemObjectSink* m_pEvtSink;
  36. };
  37. class CSystemEventProvider : public CBaseEventProvider
  38. {
  39. STDMETHODIMP_(ULONG) Release(void);
  40. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  41. };
  42. class CDataGroupEventProvider : public CBaseEventProvider
  43. {
  44. STDMETHODIMP_(ULONG) Release(void);
  45. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  46. };
  47. class CDataCollectorEventProvider : public CBaseEventProvider
  48. {
  49. STDMETHODIMP_(ULONG) Release(void);
  50. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  51. };
  52. class CDataCollectorPerInstanceEventProvider : public CBaseEventProvider
  53. {
  54. STDMETHODIMP_(ULONG) Release(void);
  55. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  56. };
  57. //class CDataCollectorStatisticsEventProvider : public CBaseEventProvider
  58. //{
  59. // STDMETHODIMP_(ULONG) Release(void);
  60. // HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  61. //};
  62. class CThresholdEventProvider : public CBaseEventProvider
  63. {
  64. STDMETHODIMP_(ULONG) Release(void);
  65. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  66. };
  67. //class CThresholdInstanceEventProvider : public CBaseEventProvider
  68. //{
  69. // STDMETHODIMP_(ULONG) Release(void);
  70. // HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  71. //};
  72. class CActionEventProvider : public CBaseEventProvider
  73. {
  74. STDMETHODIMP_(ULONG) Release(void);
  75. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  76. };
  77. class CActionTriggerEventProvider : public CBaseEventProvider
  78. {
  79. STDMETHODIMP_(ULONG) Release(void);
  80. HRESULT STDMETHODCALLTYPE ProvideEvents(IWbemObjectSink __RPC_FAR *pSink, long lFlags);
  81. };
  82. #endif // !defined(AFX_BASEEVENTPROVIDER_H__1CCFABA4_1A8C_11D2_BDD9_00C04FA35447__INCLUDED_)