ISAPI Filters

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

ISAPI filters are DLLs that are loaded into the process of the Web Server when it is started, and they stay in memory until the Web Server shuts down. After they are loaded, ISAPI filters can be configured to receive a number of special filter-event notifications that occur with each HTTP request that the Web Server receives and with each response that the Web Server generates in return.

When an ISAPI filter is loaded, the filter passes a structure to the Web Server that contains, in addition to other information, a bit field that specifies the types of filter-event notifications for which the filter should be notified. Each time that the event occurs, an event notification is started and every ISAPI filter that is set to monitor that event is notified.

Note

Registering ISAPI filters for raw data notifications (SF_NOTIFY_READ_RAW_DATA and SF_NOTIFY_SEND_RAW_DATA notification types) is deprecated. Applications should write ISAPI extensions to process and generate data that is sent to and from the Web Server.

For Windows Embedded CE, having raw read filters return SF_STATUS_REQ_READ_NEXT to retrieve more data is discouraged. In almost all cases, post data should be handled by ISAPI Extensions, instead of directly by a filter. Raw send and receive filters should only be used for processing binary data, such as compressed data that the Web Server otherwise could not parse. If multiple filters are registered to receive SF_NOTIFY_READ_RAW_DATA event, none of them should be SF_STATUS_REQ_READ_NEXT. Otherwise, the results are undefined and may be different than would occur on IIS.

See Also

Concepts

ISAPI Extensions
ISAPI Extensions, Filters, and Script Mapping