/*++ Copyright (c) 1998-2002 Microsoft Corporation. All rights reserved. --*/ #ifndef WEB_EXE_BLOCK_FILTER_H_ #define WEB_EXE_BLOCK_FILTER_H_ class CWebExeBlockFilterImpl; class CWebExeBlockFilter { public: CWebExeBlockFilter(); virtual ~CWebExeBlockFilter(); DWORD Init(); DWORD Reload(); DWORD Shutdown(); // // Register/Unregister the filter with ISA storage // HRESULT Register(); HRESULT Unregister(); // // Register for notifications // BOOL RegisterISAPINotifications (PHTTP_FILTER_VERSION pVer); BOOL RegisterWpxNotifications (PHTTP_FILTER_VERSION pVer); // // Notifications Entry Point // DWORD HttpFilterProc ( PHTTP_FILTER_CONTEXT pfc, DWORD notificationType, LPVOID pvNotification); DWORD HttpWpxFilterProc ( PHTTP_FILTER_CONTEXT pfc, DWORD notificationType, LPVOID pvNotification); private: // // Helper functions // HRESULT GetWebFilters(IFPCWebFilters** ppWebFilters); HRESULT AddWebFilter(IFPCWebFilters* pWebFilters); HRESULT RemoveWebFilter(IFPCWebFilters* pWebFilters); private: BOOL m_fCalledInit; CWebExeBlockFilterImpl m_FilterImpl; }; #endif //WEB_EXE_BLOCK_FILTER_H_