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

53 lines
1.2 KiB
C++

#ifndef _MODULE_H_
#define _MODULE_H_
#include "cimmodule.h"
class CModule : public ICimModule
{
public:
CModule();
~CModule();
//IUnknown methods
//================
STDMETHODIMP QueryInterface(REFIID, LPVOID *);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//IDispatch methods not supported
//===============================
STDMETHODIMP GetTypeInfoCount(UINT *)
{return E_NOTIMPL;}
STDMETHODIMP GetTypeInfo(UINT, LCID, ITypeInfo **)
{return E_NOTIMPL;}
STDMETHODIMP GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*)
{return E_NOTIMPL;}
STDMETHODIMP Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT *, EXCEPINFO*, UINT*)
{return E_NOTIMPL;}
//ICimModule methods
//==================
STDMETHODIMP Start(VARIANT* pvarInitOp, IUnknown* pIUnknown);
STDMETHODIMP Pause(void);
STDMETHODIMP Terminate(void);
STDMETHODIMP BonusMethod(void);
bool m_bShouldExit;
bool m_bShouldPause;
ICimNotify *m_pCimNotify;
BSTR m_bstrParams;
protected:
void ParseParams(VARIANT *);
static DWORD WINAPI ModuleMain(void *pVoid);
HANDLE m_hThread;
LONG m_cRef;
};
#endif /*_MODULE_H_*/