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