/*++ Copyright (c) 2000 Microsoft Corporation. All rights reserved. --*/ // EBFilter.h : Declaration of the CEBFilter #ifndef __EBFILTER_H_ #define __EBFILTER_H_ #include "resource.h" // main symbols #define VENDOR_PARAMETER_SET_NAME L"{f1a68599-43ed-4f02-ab8c-83c833b7bc0a}" ///////////////////////////////////////////////////////////////////////////// // CEBFilter // // This class implements IFWXFilter interface. ///////////////////////////////////////////////////////////////////////////// class ATL_NO_VTABLE CEBFilter : public CComObjectRootEx, public CComCoClass, public IFWXFilter, public IFWXPerRuleData, public IFWXPolicyChangeNotification { private: CComPtr m_spCallBackInterface; public: CEBFilter() : m_spCallBackInterface(0) { } DECLARE_REGISTRY_RESOURCEID(IDR_EBFILTER) BEGIN_COM_MAP(CEBFilter) COM_INTERFACE_ENTRY(IFWXFilter) COM_INTERFACE_ENTRY(IFWXPerRuleData) COM_INTERFACE_ENTRY(IFWXPolicyChangeNotification) END_COM_MAP() // IFWXFilter public: HRESULT STDMETHODCALLTYPE FilterInit( /* [in] */ IFWXFirewall * CallBackInterface, /* [out] */ FwxFilterHookEvents * pFilterHookEvents ); HRESULT STDMETHODCALLTYPE FilterShutdown(void); HRESULT STDMETHODCALLTYPE AttachToSession( /* [in] */ IFWXSession * pIFWXSession, /* [out] */ IFWXSessionFilter ** pUnkMonitoring, /* [out] */ FwxFilterHookEvents * pFilterHookEvents ); // IFWXPerRuleData HRESULT STDMETHODCALLTYPE PrepareRulesData( /* [in] */ IFPCPolicyRule * pPolicyRule, /* [out] */ IFWXPerRuleDataplugin **ProcessedRulesData ); // IFWXPolicyChangeNotification HRESULT STDMETHODCALLTYPE ReloadConfiguration(void); }; #endif //__EBFILTER_H_