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

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