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.
54 lines
1.7 KiB
54 lines
1.7 KiB
//***************************************************************************
|
|
//
|
|
// Copyright © Microsoft Corporation. All rights reserved.
|
|
//
|
|
// EventProvider.H
|
|
//
|
|
// Purpose: Definition of EventProvider class
|
|
//
|
|
//***************************************************************************
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#ifndef _EVENT_PROVIDER_COMPILED_
|
|
#define _EVENT_PROVIDER_COMPILED_
|
|
|
|
#ifdef EVENT_PROVIDER_ENABLED
|
|
|
|
#include "Provider.h"
|
|
|
|
// class EventProvider
|
|
// Encapsulation of the IWbemEventProvider interfaces
|
|
class EventProvider : public Provider
|
|
{
|
|
public:
|
|
EventProvider( const CHString& setName, LPCWSTR pszNameSpace = NULL );
|
|
~EventProvider( void );
|
|
|
|
virtual HRESULT ProvideEvents(MethodContext *pContext, long lFlags = 0L ) =0;
|
|
// functions much like EnumerateInstances in Provider
|
|
// use CreateNewInstance to create event instance
|
|
// use Commit to send it on its merry way
|
|
|
|
// overrides of the base class' pure virtuals, return WBEM_E_PROVIDER_NOT_CAPABLE
|
|
// logic is that an event provider will not want to support them in the general case
|
|
virtual HRESULT GetObject(CInstance *pInstance, long lFlags = 0L);
|
|
virtual HRESULT EnumerateInstances(MethodContext *pMethodContext, long lFlags = 0L);
|
|
|
|
// entry point for the framework's use. Do not override.
|
|
HRESULT KickoffEvents( MethodContext *pContext, long lFlags =0L );
|
|
|
|
protected:
|
|
// flag validation
|
|
virtual HRESULT ValidateProvideEventsFlags(long lFlags);
|
|
virtual HRESULT ValidateQueryEventsFlags(long lFlags);
|
|
|
|
private:
|
|
|
|
};
|
|
|
|
#endif //EVENT_PROVIDER_ENABLED
|
|
|
|
#endif //_EVENT_PROVIDER_COMPILED_
|