ServerSupportFunction

The ServerSupportFunction callback function is used by ISAPI filters to process the information that was included with the event notification.

BOOL WINAPI * ServerSupportFunction(
  struct _HTTP_FILTER_CONTEXT * pfc,
  enum SF_REQ_TYPE sfReq,
  PVOID pData,
  DWORD ul1,
  DWORD ul2
);
 

Parameters

pfc
Points to a HTTP_FILTER_CONTEXT structure.
sfReq
Points to a function used to extend the ISAPI filter functions. Parameters are specific to the extensions. The possible values follow:
Value Meaning
SF_REQ_ADD_HEADERS_ON_DENIAL If the server denies the HTTP request, add the specified headers to the server error response. This allows an authentication filter to advertise its services without filtering every request. Generally, the headers will be WWW-Authenticate headers with custom authentication schemes. However, no restriction is placed on which headers can be specified. IIS will advertise both basic and NTLM, individually and collectively, if they are enabled.

This value should only be set by raw data filters the return SF_STATUS_READ_NEXT

SF_REQ_DISABLE_NOTIFICATIONS Stops the receipt of notifications of specific events.
SF_REQ_GET_CONNID Returns the connection ID contained in the connID field of an ISAPI extensions Extension_Control_Block. This value can be used to coordinate shared data between filters and extensions.
SF_REQ_GET_PROPERTY This value is used to get an IIS property as defined in SF_PROPERTY_IIS.
SF_REQ_NORMALIZE_URL This value is used to normalize a URL.
SF_REQ_SEND_RESPONSE_HEADER This sends a complete HTTP server response header including the status, server version, message time, and MIME version. Server extensions should append other information, such as content type and content length, followed by an extra \r\n.
SF_REQ_SET_CERTIFICATE_INFO
Sets an SSPI security context and impersonation token derived from a client certificate.
SF_REQ_SET_NEXT_READ_SIZE
This is used only by raw data filters that return SF_STATUS_REQ_READ_NEXT. It determines the amount of data to be read.
SF_REQ_SET_PROXY_INFO
Indicates that the request came from a proxy.

pData
A zero-terminated string pointing to optional status string (for example, 401 Access Denied) or NULL for the default response of 200 OK.
ul1
A DWORD containing information required by the function. The meaning of the parameter is dependent on SF_REQ_TYPE.
ul2
A DWORD containing information required by the function. The meaning of the parameter is dependent on SF_REQ_TYPE.