Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (C) 1998-2001 Microsoft Corporation
Module Name:
Abstract:
History:
--*/
//***************************************************************************
//
// EVCONS.H
//
// Test event consumer shell.
//
// raymcc 4-Jun-98
//
//***************************************************************************
#ifndef _EVCONS_H_
#define _EVCONS_H_
class CMySink;
class CMyEventConsumer : public IWbemEventConsumerProvider, public IWbemProviderInit { ULONG m_cRef; CMySink *m_pConsumer1; CMySink *m_pConsumer2;
public:
CMyEventConsumer(); ~CMyEventConsumer();
//
// IUnknown members
//
STDMETHODIMP QueryInterface(REFIID, LPVOID *); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void);
virtual HRESULT STDMETHODCALLTYPE FindConsumer( /* [in] */ IWbemClassObject __RPC_FAR *pLogicalConsumer, /* [out] */ IWbemUnboundObjectSink __RPC_FAR *__RPC_FAR *ppConsumer );
virtual HRESULT STDMETHODCALLTYPE CMyEventConsumer::Initialize( /* [in] */ LPWSTR pszUser, /* [in] */ LONG lFlags, /* [in] */ LPWSTR pszNamespace, /* [in] */ LPWSTR pszLocale, /* [in] */ IWbemServices __RPC_FAR *pNamespace, /* [in] */ IWbemContext __RPC_FAR *pCtx, /* [in] */ IWbemProviderInitSink __RPC_FAR *pInitSink );
};
class CMySink : public IWbemUnboundObjectSink { ULONG m_cRef; char *m_pszLogFile;
public: CMySink(char *pLogFile) { m_cRef = 0; m_pszLogFile = strcpy(new char[128], pLogFile); } ~CMySink() { delete [] m_pszLogFile; }
//
// IUnknown members
//
STDMETHODIMP QueryInterface(REFIID, LPVOID *); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void);
virtual HRESULT STDMETHODCALLTYPE IndicateToConsumer( /* [in] */ IWbemClassObject __RPC_FAR *pLogicalConsumer, /* [in] */ long lNumObjects, /* [size_is][in] */ IWbemClassObject __RPC_FAR *__RPC_FAR *apObjects ); };
#endif
|