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.

50 lines
1.4 KiB

  1. //***************************************************************************
  2. //
  3. // EQDE.H
  4. //
  5. // Module: HEALTHMON SERVER AGENT
  6. //
  7. // Purpose: CEventQueryDataCollector class to do WMI instance collection.
  8. //
  9. // Copyright (c)1999 Microsoft Corporation, All Rights Reserved
  10. //
  11. //***************************************************************************
  12. #include "tmpcnsmr.h"
  13. #if !defined( __EQDE_H )
  14. #define __EQDE_H
  15. #include "datacltr.h"
  16. typedef struct _tag_HOLDINSTStruct
  17. {
  18. IWbemClassObject* pEvent;
  19. } HOLDINSTSTRUCT, *PHOLDINSTSTRUCT;
  20. typedef std::vector<HOLDINSTSTRUCT, std::allocator<HOLDINSTSTRUCT> > HOLDINSTLIST;
  21. class CEventQueryDataCollector : public CDataCollector
  22. {
  23. public:
  24. CEventQueryDataCollector();
  25. virtual ~CEventQueryDataCollector();
  26. LPTSTR m_szQuery;
  27. CTempConsumer* m_pTempSink;
  28. BOOL m_bInstCreationQuery;
  29. HOLDINSTLIST m_holdList;
  30. HRESULT m_hResLast;
  31. DWORD m_startTick;
  32. long m_lTryDelayTime;
  33. HRESULT LoadInstanceFromMOF(IWbemClassObject* pObj, CDataGroup *pParentDG, LPTSTR pszParentGUID, BOOL bModifyPass=FALSE);
  34. BOOL HandleTempEvent(IWbemClassObject* pObj);
  35. private:
  36. BOOL CollectInstance(void);
  37. BOOL CollectInstanceSemiSync(void);
  38. BOOL CleanupSemiSync(void);
  39. BOOL EnumDone(void);
  40. BOOL EvaluateThresholds(BOOL bIgnoreReset, BOOL bSkipStandard, BOOL bSkipOthers, BOOL bDoThresholdSkipClean);
  41. BOOL SetParentEnabledFlag(BOOL bEnabled);
  42. };
  43. #endif // __EQDE_H