CHttpFilter::HttpFilterProc

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

返回值:
指示此应用对事件的处理,由一个dwFlags值表示;请参阅GetFilterVersion的说明,以了解这些值的列表。

参数:
pfc一个指向HTTP_FILTER_CONTEXT结构的指针。此参数指向的该HTTP_FILTER_CONTEXT结构包含与上下文的信息。该pfc结构的成员可被过滤器使用,以把任意的上下文的信息与HTTP请求合并。SF_NOTIFY_END_OF_NET_SESSION 通知可被用于释放任何这样的上下文信息。
NotificationType标识正被处理的事件类型。有效类型列在GetFilterVersion中。
pvNotification一个通知指定的结构。
通知类型pvNotification指向MFC调用
SF_NOTIFY_READ_RAW_DATAHTTP_FILTER_RAW_DATAOnReadRawData
SF_NOTIFY_SEND_RAW_DATAHTTP_FILTER_RAW_DATAOnSendRawData
SF_NOTIFY_PREPROC_HEADERSHTTP_FILTER_PREPROC_HEADERSOnPreprocHeaders
SF_NOTIFY_AUTHENTICATIONHTTP_FILTER_AUTHENTOnAuthentication
SF_NOTIFY_URL_MAPHTTP_FILTER_URL_MAPOnUrlMap
SF_NOTIFY_LOGHTTP_FILTER_LOGOnLog

说明:
每次通过过滤器时,此成员函数被框架调用来处理数据。HttpFilterProc是否调用适当的CHttpFilter成员函数,取决于指定的通知类型。例如,HttpFilterProc将调用OnPreprocHeaders,如果通知类型为SF_NOTIFY_PREPROC_HEADERS。
HttpFilterProc是ISAPI过滤器进行核心工作的地方。pvNotification指向的各种结构 (列在上面表格中)包含指向这些操作的数据和函数指针。请参阅此结构的细节,以进一步了解数据是如何被HttpFilterProc结构处理的。
可覆盖单个处理(列在上面表格中),以改变数据在相关结构中被处理的方式。

请参阅:
HTTP_FILTER_CONTEXT, HTTP_FILTER_PREPROC_HEADERS, HTTP_FILTER_RAW_DATA, HTTP_FILTER_URL_MAP, HTTP_FILTER_LOG