IIS includes a pointer to this structure when it is preprocessing a request's headers. If your filter should be notified for this event, it should register for the SF_NOTIFY_AUTH_COMPLETE event, which occurs after the client's identity has been authenticated.

   BOOL (WINAPI * GetHeader) ();
   BOOL (WINAPI * SetHeader) ();
   BOOL (WINAPI * AddHeader) ();
   BOOL (WINAPI * GetUserToken) ();
   DWORD HttpStatus;
   BOOL fResetAuth;
   DWORD dwReserved;


  • GetHeader
    Points to the GetHeader function, which retrieves the specified header value. Header names should include the trailing colon (:). The special values method, URL, and version can be used to retrieve the individual portions of the request line. The special values are case-sensitive and must not include the trailing colon.

  • SetHeader
    Points to the SetHeader function, which changes or deletes the value of a header. The function can be used to change the special values included in the request line.

  • AddHeader
    Points to the AddHeader function to add a header to the response.

  • GetUserToken
    Points to the GetUserToken function that retrieves a copy of the authentication token that IIS impersonates when processing the request.

  • HttpStatus
    The current HTTP status code.

  • fResetAuth
    A BOOL reserved for later use.

  • dwReserved
    A DWORD reserved for later use.


When the server is about to process the client headers, this structure is pointed to by the pvNotification parameter in the HttpFilterProc when the notificationType parameter is set to SF_NOTIFY_AUTH_COMPLETE.

The key difference between the SF_NOTIFY_AUTH_COMPLETE notification and the SF_NOTIFY_PREPROC_HEADERS notification is that the SF_NOTIFY_AUTH_COMPLETE notification occurs after the client's identity has been negotiated with the client. Because of the notification's timing, the AUTH_USER server variable can be used to reliably obtain the identity of the user. Also, functionality is provided to retrieve a copy of the token that IIS impersonates when processing the request.

Header names should include the trailing colon (:).


Client: Requires Windows XP Professional, or Windows 2000 Professional.

Server: Requires Windows Server 2003, or Windows 2000 Server.

Product: IIS

Header: Declared in httpfilt.h.

See Also


HttpFilterProc Function

GetHeader Function


AddHeader Function

GetUserToken Function