CHttpFilter::HttpFilterProc

virtual DWORD HttpFilterProc( PHTTP_FILTER_CONTEXT pfc, DWORD NotificationType, LPVOID pvNotification );

Return Value

Indicates how the application handled the event. Indicated by a dwFlags value; see GetFilterVersion Remarks for a list of these values.

Parameters

pfc

A pointer to an HTTP_FILTER_CONTEXT structure. The HTTP_FILTER_CONTEXT structure pointed to by this parameter contains context information. The pfc structure member can be used by the filter to associate any context information with the HTTP request. The SF_NOTIFY_END_OF_NET_SESSION notification can be used to release any such context information.

NotificationType

Indicates the type of event being processed. Valid types are listed in GetFilterVersion.

pvNotification

A notification-specific structure.

Notification Type pvNotification points to MFC Calls
SF_NOTIFY_READ_RAW_DATA HTTP_FILTER_RAW_DATA OnReadRawData
SF_NOTIFY_SEND_RAW_DATA HTTP_FILTER_RAW_DATA OnSendRawData
SF_NOTIFY_PREPROC_HEADERS HTTP_FILTER_PREPROC_HEADERS OnPreprocHeaders
SF_NOTIFY_AUTHENTICATION HTTP_FILTER_AUTHENT OnAuthentication
SF_NOTIFY_URL_MAP HTTP_FILTER_URL_MAP OnUrlMap
SF_NOTIFY_LOG HTTP_FILTER_LOG OnLog

Remarks

This member function is called by the framework to process data every time it passes through the filter. HttpFilterProc will call the appropriate CHttpFilter member functions, depending on the notification types given. For example, HttpFilterProc will call OnPreprocHeaders if the notification type is SF_NOTIFY_PREPROC_HEADERS.

HttpFilterProc is where the core work of the ISAPI filter applications is done. The various structures pointed to by pvNotification (listed in the table above) contain data and function pointers specific to these operations. See the structure details for more information about how data is processed by HttpFilterProc.

You can override the individual handlers (listed in the third column, above) to change the way data in their associated structures is processed.

CHttpFilter OverviewClass MembersHierarchy Chart

See Also   HTTP_FILTER_CONTEXT, HTTP_FILTER_AUTHENT, HTTP_FILTER_PREPROC_HEADERS, HTTP_FILTER_RAW_DATA, HTTP_FILTER_URL_MAP, HTTP_FILTER_LOG