The GetFilterVersion function is the first entry-point function called by IIS on your ISAPI filter, and must be present for the filter to work properly. IIS passes a pointer to a HTTP_FILTER_VERSION data structure, which can be used to supply important filter configuration information to IIS. The most important information passed to IIS is the bitmask that contains flags that specify which notification events your filter can process, and a flag that indicates the overall processing priority for your filter.
BOOL WINAPI GetFilterVersion(
PHTTP_FILTER_VERSION pVer
);
This function must return TRUE for your filter to remain loaded and working properly. If this function returns FALSE, IIS will not send the filter any notifications. If your filter returns FALSE, and you do not want IIS to log an error event for failure to load the filter, you must use the Win32 API function SetLastError(), passing NO_ERROR as the parameter. If you do want IIS to log an error, you should use SetLastError() to select an appropriate error code. This error will be logged by IIS.
Due to performance considerations, it is important to register only for those notifications that are necessary for your filter's purposes.