COAUTHINFO-Struktur (wtypesbase.h)

Enthält die Authentifizierungseinstellungen, die beim Ausführen 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;

Member

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. Um den NT-Authentifizierungsdienst zu verwenden, geben Sie RPC_C_AUTHZ_NONE an.

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 Authentifizierungsebene. Eine Liste der Werte finden Sie unter Authentifizierungsgradkonstanten.

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

dwImpersonationLevel

Die zu verwendende Identitätswechselebene. Eine Liste der Werte finden Sie unter Identitätswechsel-Level-Konstanten. 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 erstellt. Wenn dieser Parameter NULL ist, wird die tatsächliche Identität des Clients verwendet. Die Werte der Strukturmember sind authentifizierungsdienstspezifisch. Dieser Wert muss NULL sein, wenn dwAuthnSvc weder das NTLMSSP- noch das Kerberos-Netzwerkauthentifizierungsprotokoll als Autorisierungsdienst angibt.

dwCapabilities

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

Hinweise

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

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

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Kopfzeile wtypesbase.h (einschließen von WTypes.h)

Weitere Informationen

COSERVERINFO