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 Overview | Class Members | Hierarchy Chart
See Also HTTP_FILTER_CONTEXT, HTTP_FILTER_AUTHENT, HTTP_FILTER_PREPROC_HEADERS, HTTP_FILTER_RAW_DATA, HTTP_FILTER_URL_MAP, HTTP_FILTER_LOG