//*************************************************************************** // // EQDE.H // // Module: HEALTHMON SERVER AGENT // // Purpose: CEventQueryDataCollector class to do WMI instance collection. // // Copyright (c)1999 Microsoft Corporation, All Rights Reserved // //*************************************************************************** #include "tmpcnsmr.h" #if !defined( __EQDE_H ) #define __EQDE_H #include "datacltr.h" typedef struct _tag_HOLDINSTStruct { IWbemClassObject* pEvent; } HOLDINSTSTRUCT, *PHOLDINSTSTRUCT; typedef std::vector > HOLDINSTLIST; class CEventQueryDataCollector : public CDataCollector { public: CEventQueryDataCollector(); virtual ~CEventQueryDataCollector(); LPTSTR m_szQuery; CTempConsumer* m_pTempSink; BOOL m_bInstCreationQuery; HOLDINSTLIST m_holdList; HRESULT m_hResLast; DWORD m_startTick; long m_lTryDelayTime; HRESULT LoadInstanceFromMOF(IWbemClassObject* pObj, CDataGroup *pParentDG, LPTSTR pszParentGUID, BOOL bModifyPass=FALSE); BOOL HandleTempEvent(IWbemClassObject* pObj); private: BOOL CollectInstance(void); BOOL CollectInstanceSemiSync(void); BOOL CleanupSemiSync(void); BOOL EnumDone(void); BOOL EvaluateThresholds(BOOL bIgnoreReset, BOOL bSkipStandard, BOOL bSkipOthers, BOOL bDoThresholdSkipClean); BOOL SetParentEnabledFlag(BOOL bEnabled); }; #endif // __EQDE_H