60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
// Copyright (c) 1999-2001 Microsoft Corporation, All Rights Reserved
|
|
#ifndef _SNMP_EVT_PROV_EVTPROV_H
|
|
#define _SNMP_EVT_PROV_EVTPROV_H
|
|
|
|
|
|
class CTrapEventProvider : public IWbemEventProvider, public IWbemProviderInit
|
|
{
|
|
|
|
private:
|
|
|
|
IWbemServices* m_pNamespace;
|
|
IWbemObjectSink* m_pEventSink;
|
|
CEventProviderThread* m_thrd;
|
|
LONG m_ref;
|
|
|
|
//copy constuctor not defined so not allowed!
|
|
CTrapEventProvider(CTrapEventProvider&);
|
|
void operator=(const CTrapEventProvider&);
|
|
|
|
|
|
public:
|
|
|
|
DWORD m_MapType;
|
|
|
|
CTrapEventProvider(DWORD mapperType, CEventProviderThread* thrd);
|
|
|
|
IWbemServices* GetNamespace();
|
|
IWbemObjectSink* GetEventSink();
|
|
void AddRefAll();
|
|
void ReleaseAll();
|
|
|
|
~CTrapEventProvider();
|
|
|
|
//interface methods
|
|
//==================
|
|
STDMETHODIMP ProvideEvents(
|
|
IWbemObjectSink* pSink,
|
|
LONG lFlags
|
|
);
|
|
|
|
STDMETHODIMP QueryInterface(REFIID riid, PVOID* ppv);
|
|
STDMETHODIMP_(ULONG) AddRef();
|
|
STDMETHODIMP_(ULONG) Release();
|
|
|
|
|
|
/* IWbemProviderInit methods */
|
|
|
|
STDMETHODIMP Initialize (
|
|
LPWSTR pszUser,
|
|
LONG lFlags,
|
|
LPWSTR pszNamespace,
|
|
LPWSTR pszLocale,
|
|
IWbemServices *pCIMOM, // For anybody
|
|
IWbemContext *pCtx,
|
|
IWbemProviderInitSink *pInitSink // For init signals
|
|
);
|
|
|
|
};
|
|
|
|
#endif //_SNMP_EVT_PROV_EVTPROV_H
|