mirror of https://github.com/tongzx/nt5src
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
50 lines
1.4 KiB
//***************************************************************************
|
|
//
|
|
// 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<HOLDINSTSTRUCT, std::allocator<HOLDINSTSTRUCT> > 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
|