# COAUTHINFO

Determines the authentication settings used while making a remote activation request from the client scm to the server.

    typedef struct _COAUTHINFO
    {
        DWORD               dwAuthnSvc;
        DWORD               dwAuthzSvc;
        [string] WCHAR *    pwszServerPrincName;
        DWORD               dwAuthnLevel;
        DWORD               dwImpersonationLevel;
        AUTH_IDENTITY  *    pAuthIdentityData;
        DWORD               dwCapabilities;
    } COAUTHINFO;

Members

dwAuthnSvc
  [in] A single DWORD value from the list of RPC_C_AUTHN_xxx constants indicating the authentication service to use. It may be RPC_C_AUTHN_NONE if no authentication is required.
dwAuthzSvc
  [in] 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 WCHAR 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
  [in] A single DWORD value from the list of RPC_C_AUTHN_LEVEL_xxx constants indicating the authentication level to use.
dwImpersonationLevel
  [in] A single DWORD value from the list of RPC_C_IMP_LEVEL_xxx constants indicating the impersonation level to use. Currently, only RPC_C_IMP_LEVEL_IMPERSONATE and RPC_C_IMP_LEVEL_IDENTIFY are supported.
pAuthIdentityData
  Pointer to an AUTH_IDENTITY structure that establishes the identity of the client. It is authentication-service specific. It is in the form of Windows NT's SEC_WINNT_AUTH_IDENTITY, as follows:

    typedef struct _AUTH_IDENTITY
    {
      [size_is(UserLength+1)] USHORT *        User;
      ULONG                    UserLength;
      [size_is(DomainLength+1)] USHORT *      Domain;
      ULONG                    DomainLength;
      [size_is(PasswordLength+1)] USHORT *    Password;
      ULONG                    PasswordLength;
      ULONG                    Flags;
    } AUTH_IDENTITY;

dwCapabilities
  [in] A DWORD defining flags to establish indicating the further capabilities of this proxy. Currently, no capability flags are defined.

Remarks

The values of the COAUTHINFO structure determine the authentication settings used while making a remote activation request from the client's scm to the server's scm. This structure is defined by default for NTLMSSP, and is described only for cases that need it to allow DCOM activations to work correctly with security providers other than NTLMSSP, or to specify additional security information used during remote activations for interoperability with alternate implementations of distributed COM. Currently, the impersonation level must be set to RPC_C_IMP_LEVEL_IMPERSONATE, or the result will be a failed activation when the server is running WindowsNT.

See Also

COSERVERINFO