2025-04-27 07:49:33 -04:00

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();
};