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.
typedef struct tagSOLE_AUTHENTICATION_SERVICE {DWORDdwAuthnSvc;DWORDdwAuthzSvc;OLECHAR* pPrincipalName;HRESULThr;} 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
OS Versions: Windows CE 2.0 and later.
Header: Objidl.h.
See Also
CoInitializeSecurity | CoQueryAuthenticationServices
Send Feedback on this topic to the authors