95 lines
1.6 KiB
C++
95 lines
1.6 KiB
C++
// Events.h
|
|
|
|
class CNCEvent
|
|
{
|
|
public:
|
|
CString m_strName,
|
|
m_strQuery;
|
|
|
|
virtual ~CNCEvent()
|
|
{
|
|
}
|
|
|
|
virtual BOOL Init() = 0;
|
|
virtual BOOL ReportEvent() = 0;
|
|
};
|
|
|
|
class CGenericEvent : public CNCEvent
|
|
{
|
|
public:
|
|
BOOL Init();
|
|
BOOL ReportEvent();
|
|
};
|
|
|
|
class CBlobEvent : public CNCEvent
|
|
{
|
|
public:
|
|
BOOL Init();
|
|
BOOL ReportEvent();
|
|
};
|
|
|
|
class CPropEvent : public CNCEvent
|
|
{
|
|
public:
|
|
HANDLE m_hEvent;
|
|
|
|
CPropEvent() :
|
|
m_hEvent(NULL)
|
|
{
|
|
}
|
|
|
|
BOOL Commit()
|
|
{
|
|
return WmiCommitObject(m_hEvent);
|
|
}
|
|
|
|
virtual ~CPropEvent()
|
|
{
|
|
if (m_hEvent)
|
|
WmiDestroyObject(m_hEvent);
|
|
}
|
|
|
|
virtual BOOL SetAndFire(DWORD dwFlags)
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
virtual BOOL SetPropsWithOneCall() = 0;
|
|
virtual BOOL SetPropsWithManyCalls() = 0;
|
|
virtual BOOL ReportEvent()
|
|
{
|
|
return FALSE;
|
|
}
|
|
};
|
|
|
|
class CDWORDEvent : public CPropEvent
|
|
{
|
|
public:
|
|
BOOL Init();
|
|
BOOL SetAndFire(DWORD dwFlags);
|
|
BOOL SetPropsWithOneCall();
|
|
BOOL SetPropsWithManyCalls();
|
|
BOOL ReportEvent();
|
|
};
|
|
|
|
class CSmallEvent : public CPropEvent
|
|
{
|
|
public:
|
|
BOOL Init();
|
|
BOOL SetAndFire(DWORD dwFlags);
|
|
BOOL SetPropsWithOneCall();
|
|
BOOL SetPropsWithManyCalls();
|
|
BOOL ReportEvent();
|
|
};
|
|
|
|
class CAllPropsTypeEvent : public CPropEvent
|
|
{
|
|
public:
|
|
BOOL Init();
|
|
BOOL SetAndFire(DWORD dwFlags);
|
|
BOOL SetPropsWithOneCall();
|
|
BOOL SetPropsWithManyCalls();
|
|
BOOL ReportEvent();
|
|
};
|
|
|