/*++ Copyright (c) 1998-2002 Microsoft Corporation. All rights reserved. --*/ #ifndef MY_AUTH_FILTER_H_ #define MY_AUTH_FILTER_H_ class CMyAuthFilterImpl; extern const char* x_szMyAuthFilter_AuthScheme; class CMyAuthFilter { public: CMyAuthFilter(); virtual ~CMyAuthFilter(); 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); HRESULT GetAuthenticationSchemes(IFPCAuthenticationSchemes** ppAuthSchemes); HRESULT RegisterAuthentication(IFPCAuthenticationSchemes *pAuthSchemes); HRESULT UnregisterAuthentication(IFPCAuthenticationSchemes *pAuthSchemes); private: BOOL m_fCalledInit; CMyAuthFilterImpl m_FilterImpl; }; #endif //MY_AUTH_FILTER_H_