Enabling ISAPI Filters Using ADSI
To enable ISAPI filters, they must be installed on the IIS server and registered with IIS. ISAPI filters are registered at the Web service level or the Web site level. The IIS ADSI and WMI providers contain a set of methods that allow applications to register ISAPI filters by creating an IIsFilters object, and then populating it with IIsFilter objects for each filter.
A Filters object is automatically created for the Web service when IIS is installed. For an individual Web site, however, you may need to create this object yourself before you can proceed.
The following example shows you how to use the VBScript scripting language to add an ISAPI filter to the IIsFilters object at the Web service level.
First, the filter name is added to the filter load order using the IIsFilters object. Once you gain access to the parent IIsFilters container object, you can create a new IIsFilter object and set its properties to register the new filter.
Dim FiltersObj Dim FilterObj Dim LoadOrder Dim FilterName Dim FilterPath Dim FilterDesc FilterName = "myFilter" FilterPath = "C:\iisfilts\myfilter.dll" FilterDesc = "This is my filter" Set FiltersObj = GetObject("IIS://LocalHost/W3SVC/Filters") LoadOrder = FiltersObj.FilterLoadOrder If LoadOrder <> "" Then LoadOrder = LoadOrder & "," End If LoadOrder = LoadOrder & FilterName FiltersObj.FilterLoadOrder = LoadOrder FiltersObj.SetInfo Set FilterObj = FiltersObj.Create("IIsFilter", FilterName) FilterObj.FilterPath = FilterPath FilterObj.FilterDescription = FilterDesc FilterObj.SetInfo