HTTP_CHANNEL_BIND_INFO structure (http.h)

The HTTP_CHANNEL_BIND_INFO structure is used to set or query channel bind authentication.


typedef struct _HTTP_CHANNEL_BIND_INFO {
  ULONG                                Flags;
  PHTTP_SERVICE_BINDING_BASE           *ServiceNames;
  ULONG                                NumberOfServiceNames;



An HTTP_AUTHENTICATION_HARDENING_LEVELS value indicating the hardening level levels to be set or queried per server session or URL group.


A bitwise OR combination of flags that determine the behavior of authentication.

The following values are supported.

Name Value Meaning
HTTP_CHANNEL_BIND_PROXY 0x1 The exact Channel Bind Token (CBT) match is bypassed. CBT is checked not to be equal to ‘unbound’. Service Principle Name (SPN) check is enabled.
HTTP_CHANNEL_BIND_PROXY_COHOSTING Ox20 This flag is valid only if HTTP_CHANNEL_BIND_PROXY is also set. With the flag set, the CBT check (comparing with ‘unbound’) is skipped. The flag should be set if both secure channel traffic passed through proxy and traffic originally sent through insecure channel have to be authenticated.
HTTP_CHANNEL_BIND_DOTLESS_SERVICE 0x4 Enables dotless service names. Otherwise configuring CBT properties with dotless service names will fail.
HTTP_CHANNEL_BIND_SECURE_CHANNEL_TOKEN 0x8 Server session, URL group, or response is configured to retrieve secure channel endpoint binding for each request and pass it to user the mode application. When set, a pointer to a buffer with the secure channel endpoint binding is stored in an HTTP_REQUEST_CHANNEL_BIND_STATUS structure.
HTTP_CHANNEL_BIND_CLIENT_SERVICE 0x10 Server session, URL group, or response is configured to retrieve SPN for each request and pass it to the user mode application. The SPN is stored in the ServiceName field of the HTTP_REQUEST_CHANNEL_BIND_STATUS structure. The type is always HttpServiceBindingTypeW (Unicode).


Pointer to a buffer holding an array of 1 or more service names. Each service name is represented by either an HTTP_SERVICE_BINDING_A structure or an HTTP_SERVICE_BINDING_W structure, dependent upon whether the name is ASCII or Unicode. Regardless of which structure type is used, the array is cast into a pointer to an HTTP_SERVICE_BINDING_BASE structure.


The number of names in ServiceNames.



This structure is used to set server session or URL group properties by passing it to HttpSetServerSessionProperty or HttpSetUrlGroupProperty.

The HTTP_CHANNEL_BIND_INFO structure is also returned when server session or URL group properties are queried



Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header http.h