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