Internet Information Services (IIS) ISAPI (Internet Server Application Programming Interface) extensions and filters can extend and modify the request-processing capabilities of IIS. ISAPI filters require a long time to be written, offer no native support for session handling, and can be cumbersome to maintain. IIS 6.0 and IIS 7 run ISAPI applications in isolation to enhance server stability. While ISAPI filters can still be used in IIS 7, it is easier for developers to add managed or native modules that integrate into IIS 7’s new modular architecture..
Correct an ISAPI load failure
If an ISAPI Filter fails to load, possible resolutions include the following:
Contact the ISAPI vendor regarding the error. The vendor should have more specific knowledge about the filter's features and behavior.
If the ISAPI failed to load because of a processor mismatch, see Knowledge Base article 894435.
Check the event log message for a specific error number included in the message. This error number will be different from the Event ID. To do this, see the steps below.
Check for a specific error number
To check for a specific error number:
In the Event Viewer, select the event that you received.
Click the Details tab, then Friendly View.
If a specific error number is available, the words Binary data: should appear.
Below In Words, note the number after the colon.
Find out more about a specific error number
To learn more about a specific error number:
Download the Err.exe utility from the Microsoft Exchange Server Error Code Look-up page.
Click Start, All Programs, Accessories, and then Command Prompt.
At the command prompt, navigate to the directory where you downloaded Err.exe. For example, if you downloaded Err.exe to C:\Err, type cd C:\Err.
Type err errornumber to obtain more information about the error. For example, if the specific error number is 80070005, type err 80070005.
In the example described in the previous section, the error resolves to ERROR_ACCESS_DENIED, so your next step would be to check permissions on the ISAPI DLL.
Target | Microsoft.Windows.InternetInformationServices.2008.WebServer | ||
Category | Alert | ||
Enabled | True | ||
Event Source | Microsoft-Windows-IIS-WMSVC | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.2008.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.2008.ISAPI.application.error.detected" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.InternetInformationServices.2008.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-WMSVC</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(2274|2268|2220|2219|2214)$</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.2008.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.2008.ISAPI.application.error.detected.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>