COAUTHINFO (Compact 2013)

3/26/2014

This structure is used to determine the authentication settings.

Syntax

typedef struct _COAUTHINFO {
  DWORD dwAuthnSvc;
  DWORD dwAuthzSvc;
  LPWSTR pwszServerPrincName;
  DWORD dwAuthnLevel;
  DWORDdwImpersonationLevel;
  COAUTHIDENTITY __RPC_FAR* pAuthIdentityData;
  DWORD dwCapabilities;
} COAUTHINFO;

Members

  • dwAuthnSvc
    Specifies a single DWORD value from the list of RPC_C_AUTHN_XXX constants indicating the authentication service to use.

    It can be RPC_C_AUTHN_NONE if no authentication is required.

    RPC_C_AUTHN_WINNT is the default and RPC_C_AUTHN_GSS_KERBEROS is also supported.

  • dwAuthzSvc
    Specifies a single DWORD value from the list of RPC_C_AUTHZ_XXX constants indicating the authorization service to use.

    If you are using the NT authentication service, use RPC_C_AUTHZ_NONE.

  • pwszServerPrincName
    Pointer to a character string that indicates the server principal name to use with the authentication service.

    If you are using RPC_C_AUTHN_WINNT, the principal name must be NULL.

  • dwAuthnLevel
    Specifies a single DWORD value from the list of RPC_C_AUTHN_LEVEL_XXX constants indicating the authentication level to use.
  • dwImpersonationLevel
    Specifies the impersonation level to be used.

    This value must be RPC_C_IMP_LEVEL_IMPERSONATE.

  • pAuthIdentityData
    Pointer to a COAUTHIDENTITY structure that establishes a nondefault client identity.

    If NULL, the identity of the client is used. Values of structure members are authentication-service specific.

    This value must be NULL if dwAuthnSvc is not NTLMSSP or Kerberos.

    The form of the COAUTHIDENTITY structure is identical to that of the Windows NT SEC_WINNT_AUTH_IDENTITY structure.

  • dwCapabilities
    Specifies a DWORD defining flags that indicate the further capabilities of this proxy.

    This value must be EOAC_NONE.

Remarks

A pointer to a COAUTHINFO structure is a member of the COSERVERINFO structure. The COAUTHINFO structure provides security information to object creation functions across the network.

The values of the COAUTHINFO structure determine the authentication settings used while making a remote activation request from the client machine to the server machine.

If pAuthInfo in COSERVERINFO is set to NULL, NTLMSSP with the identity of the actual client will be used. However, a non-NULL COAUTHINFO structure can be specified for pAuthInfo to meet any of the following special needs:

  • To specify a different client identity for machine remote activations. The specified identity will be used for the launch permission check on the server rather than the real client identity.
  • To specify that Kerberos, rather than NTLMSSP, is used for machine remote activation. A nondefault client identity might or might not be specified.
  • To request unsecure activation.
  • To specify a proprietary authentication service.

Specifying a COAUTHINFO structure allows DCOM activations to work correctly with security providers other than NTLMSSP. You can also specify additional security information used during remote activations for interoperability with alternate implementations of DCOM.

For more information on the uses of COAUTHINFO, see COSERVERINFO.

Requirements

Header

wtypes.h

See Also

Reference

COM Structures and Enumerations
COSERVERINFO

Other Resources

SEC_WINNT_AUTH_IDENTITY