SOLE_AUTHENTICATION_SERVICE (Compact 2013)

3/26/2014

This structure identifies an authentication service that a server is willing to use to communicate to a client.

This structure is passed by servers to CoInitializeSecurity as a member of the asAuthSvc parameter and can be retrieved through a call to CoQueryAuthenticationServices.

Syntax

typedef struct tagSOLE_AUTHENTICATION_SERVICE {
  DWORD dwAuthnSvc; 
  DWORD dwAuthzSvc; 
  OLECHAR* pPrincipalName; 
  HRESULT hr; 
} SOLE_AUTHENTICATION_SERVICE;

Members

  • dwAuthnSvc
    The authentication service.

    It can contain a single value taken from the list of RPC_C_AUTHN_XXX constants. RPC_C_AUTHN_NONE turns off authentication.

  • dwAuthzSvc
    The authorization service.

    It can contain a single value taken from the list of RPC_C_AUTHZ_XXX constants.

    This parameter is ignored when using the NTLMSSP (RPC_C_AUTHN_WINNT) authentication service and should be none when using SChannel (RPC_C_AUTHN_GSS_SCHANNEL), Kerberos (RPC_C_AUTHN_GSS_KERBEROS), or Snego (RPC_C_AUTHN_GSS_NEGOTIATE).

  • pPrincipalName
    Principal name to be used with the authentication service.

    If the principal name is NULL, the current user identifier is assumed. A NULL principal name is allowed for NTLMSSP, Kerberos, and Snego authentication services but may not work for other authentication services.

    For SChannel, this member must point to a CERT_CONTEXT that contains the server's certificate. It cannot be NULL.

  • hr
    When used in CoInitializeSecurity, set on return to indicate the status of the call to register the authentication services.

Requirements

Header

objidl.h

See Also

Reference

Storage Structures
CoInitializeSecurity
CoQueryAuthenticationServices