GetFilterVersion

The GetFilterVersion function is the first entry point called by the Internet Server.

BOOL WINAPI GetFilterVersion(

    PHTTP_FILTER_VERSION pVer

 

   );

 

 

Parameters

pVer

The HTTP_FILTER_VERSION structure pointed to by this parameter contains both the version information for the server and the fields for the client to indicate version number, notifications, and priority desired. There is also a space for the filter application to register a description of itself.

Return Values

The return code indicates whether the filter was properly loaded. If the filter returns FALSE, the filter application will be unloaded and will not receive any notifications.

Remarks

The GetFilterVersion function, implemented in the ISAPI filter application, is the first entry point called by the Internet Server. It is important to specify only the necessary notifications in the pVer->dwFlags member. Some notifications can have a strong impact on performance and scalability.

In addition to the notification flags described under the HttpFilterProc function, there are also priority flags to specify the order in which to call the filter:

Value

Meaning

SF_NOTIFY_ORDER_DEFAULT

Load the filter at the default priority (recommended).

SF_NOTIFY_ORDER_LOW

Load the filter at a low priority.

SF_NOTIFY_ORDER_MEDIUM

Load the filter at a medium priority.

SF_NOTIFY_ORDER_HIGH

Load the filter at a high priority.

 

Note  Every filter is contained in a separate DLL with two common entry points: GetFilterVersion7D04FX and HttpFilterProcZ5JCLU. When the DLL is loaded, GetFilterVersion is called. This lets the filter know the server version and also lets the filter tell the server the filter version and the events that the filter is interested in.

After this, the server calls the filter's HttpFilterProc entry point with appropriate notifications. Note that filters should only register for notifications the filter needs to see   some filter notifications are very expensive in terms of CPU resources and I/O throughput, and can have a significant effect on the speed and scalability of the Microsoft Internet Server.

BOOL WINAPI GetFilterVersion(
    HTTP_FILTER_VERSION *pVer
   );

DWORD WINAPI HttpFilterProc(
    HTTP_FILTER_CONTEXT *pfc,
    DWORD notificationType,
    VOID *pvNotification
   );

See Also

HttpFilterProc, HTTP_FILTER_VERSION