[This is preliminary documentation and subject to change]

# Installing ISAPI Filters

Like ISAPI extensions, ISAPI filters are programs that respond when the Web server receives an HTTP request. However, unlike ISAPI extensions, ISAPI filters are always run in the server process.ISAPI filters are different from applications because they are driven by Web server events rather than by a client request. You can associate an ISAPI filter with a particular Web server event; the filter is then notified every time its associated event occurs. For example, a filter could be notified when a Read or Write event occurs and then encrypt the raw data to be returned to the client.

You can install filters for all sites on a server (global filters), and you can install filters for individual Web sites. If you install both global filters and site filters, the two filter lists are merged for the site.

When several filters have registered for the same event, they are called sequentially. Filters with a higher priority are run before filters with a lower priority. If several filters have the same priority, global filters set in the master properties are run before filters set at the site level. Filters with the same priority at the same inheritance level are run according to the order in which they were loaded. You can change the filter load order on the property sheets for the Web server or Web site.

###### To add a filter to a Web server or Web site

1. In the IIS snap-in, select the Web server or Web site, and open its property sheets.
2. Click the ISAPI Filters tab.

   Note If you are adding filters to a Web site, you will not see any global filters inherited from the Web server's master properties. You will see only the filters installed for the Web site, even though both sets of filters are run.

3. Click the Add button.
4. Type the name of the filter in the Filter Name box and either type or browse for the DLL file in the Executable box.
5. Click OK.
6. To change the load order of a filter, use the arrows.

   Note You can only change the load order of filters with the same priority.

7. If you have added or changed a global filter, you must stop and restart the Web server to load the new filters into memory. A filter added at the Web site level is automatically loaded when you add it.

Note If an HTTP request triggers an event for which the filter is registered, the filter will receive the data contained in the request regardless of whether the request is for a file, a CGI application, or an ISAPI extension.

© 1997-2001 Microsoft Corporation. All rights reserved.