Freigeben über


COAUTHINFO-Struktur (wtypesbase.h)

Enthält die Authentifizierungseinstellungen, die beim Erstellen einer Remoteaktivierungsanforderung vom Clientcomputer an den Servercomputer verwendet werden.

Syntax

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

Angehörige

dwAuthnSvc

Der zu verwendende Authentifizierungsdienst. Eine Liste der Werte finden Sie unter Authentifizierungsdienstkonstanten. Verwenden Sie RPC_C_AUTHN_NONE, wenn keine Authentifizierung erforderlich ist. RPC_C_AUTHN_WINNT ist die Standardeinstellung und RPC_C_AUTHN_GSS_KERBEROS wird ebenfalls unterstützt.

dwAuthzSvc

Der zu verwendende Autorisierungsdienst. Eine Liste der Werte finden Sie unter Autorisierungskonstanten. Geben Sie RPC_C_AUTHZ_NONE an, um den NT-Authentifizierungsdienst zu verwenden.

pwszServerPrincName

Der Serverprinzipalname, der mit dem Authentifizierungsdienst verwendet werden soll. Wenn Sie RPC_C_AUTHN_WINNT verwenden, muss der Prinzipalname NULL-sein.

dwAuthnLevel

Die zu verwendende Authentifizierungsstufe. Eine Liste der Werte finden Sie unter Authentifizierungsebenenkonstanten.

Ab Windows Server 2003 verwenden Remoteaktivierungen die standardauthentifizierungsebene, die im CoInitializeSecuritydwAuthnLevel Parameter angegeben ist. In früheren Versionen von Windows wurde RPC_C_AUTHN_LEVEL_CONNECT immer für die Sicherheitsstufe verwendet, es sei denn, eine andere Ebene wurde explizit angegeben.

dwImpersonationLevel

Die zu verwendende Identitätswechselebene. Eine Liste der Werte finden Sie unter Imitation Level Constants. Dieser Wert muss RPC_C_IMP_LEVEL_IMPERSONATE oder höher sein.

pAuthIdentityData

Ein Zeiger auf eine COAUTHIDENTITY- Struktur, die eine nicht standardmäßige Clientidentität festlegt. Wenn dieser Parameter NULL-ist, wird die tatsächliche Identität des Clients verwendet. Die Werte von Strukturmitgliedern sind Authentifizierungsdienstspezifisch. Dieser Wert muss NULL- sein, wenn dwAuthnSvc- weder das NTLMSSP- noch das Kerberos-Netzwerkauthentifizierungsprotokoll als Autorisierungsdienst verwendet.

dwCapabilities

Gibt zusätzliche Funktionen dieses Proxys an. Derzeit muss dieses Mitglied EOAC_NONE (0x0) oder RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH (0x1) sein. Verwenden Sie RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH, wenn Kerberos erforderlich ist.

Bemerkungen

Wenn pAuthInfo- in COSERVERINFO- auf NULL-festgelegt ist, wird Snego verwendet, um einen Authentifizierungsdienst auszuhandeln, der zwischen Client und Server funktioniert. Eine nichtNULL-COAUTHINFO--Struktur kann jedoch für pAuthInfo- angegeben werden, um eine der folgenden Anforderungen zu erfüllen:

  • So geben Sie eine andere Clientidentität für Computer-Remoteaktivierungen an. Die angegebene Identität wird für die Überprüfung der Startberechtigung auf dem Server anstelle der echten Clientidentität verwendet.
  • Um anzugeben, dass Kerberos anstelle von NTLMSSP für die Remoteaktivierung des Computers verwendet wird. Eine nicht standardmäßige Clientidentität kann oder nicht angegeben werden.
  • So fordern Sie die unsichere Aktivierung an.
  • So geben Sie einen proprietären Authentifizierungsdienst an.
Wenn Sie eine COAUTHINFO- Struktur angeben, können DCOM-Aktivierungen mit anderen Sicherheitsanbietern als NTLMSSP ordnungsgemäß funktionieren. Sie können auch zusätzliche Sicherheitsinformationen angeben, die während der Remoteaktivierung für die Interoperabilität mit alternativen Implementierungen von DCOM verwendet werden.

Wenn Sie dwAuthzSvc, pwszServerPrincName, dwImpersonationLeveloder dwCapabilities auf falsche Werte festlegen und entweder CoGetClassObject oder CoCreateInstanceExaufrufen, geben diese Funktionen keine E_INVALIDARG oder einen ähnlichen Fehler zurück. Standardwerte werden anstelle der falschen Werte verwendet.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows 2000 Server [Desktop-Apps | UWP-Apps]
Header- wtypesbase.h (include WTypes.h)

Siehe auch

COSERVERINFO-