windows-nt/Source/XPSP1/NT/admin/hmonitor/hmagent/factory.h

126 lines
3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
// Factory.h: interface for the CFactory class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(__MYFACTORY_H)
#define __MYFACTORY_H
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
//////////////////////////////////////////////////////////////////////
// Base Class Factory for HealthMon consumer and providers
//////////////////////////////////////////////////////////////////////
class CBaseFactory : public IClassFactory
{
public:
CBaseFactory();
virtual ~CBaseFactory();
public:
// IUnknown
STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppv);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//IClassFactory members
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
STDMETHODIMP LockServer(BOOL);
protected:
ULONG m_cRef;
};
//////////////////////////////////////////////////////////////////////
// Class Factory for Consumer (original agent)
//////////////////////////////////////////////////////////////////////
class CConsFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
//////////////////////////////////////////////////////////////////////
// Class Factories for Event Providers
//////////////////////////////////////////////////////////////////////
class CSystemEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
class CDataGroupEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
class CDataCollectorEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
class CDataCollectorPerInstanceEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
class CDataCollectorStatisticsEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
class CThresholdEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
//class CThresholdInstanceEvtProvFactory : public CBaseFactory
//{
//public:
// STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
//};
class CActionEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
class CActionTriggerEvtProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
//////////////////////////////////////////////////////////////////////
// Class Factories for Instance Provider
//////////////////////////////////////////////////////////////////////
class CInstProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
//////////////////////////////////////////////////////////////////////
// Class Factories for Method Provider
//////////////////////////////////////////////////////////////////////
class CMethProvFactory : public CBaseFactory
{
public:
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, LPVOID*);
};
#endif // !defined(__MYFACTORY_H)