RpcBindingSetAuthInfoExA-Funktion (rpcdce.h)
Die RpcBindingSetAuthInfoEx--Funktion legt die Authentifizierungs-, Autorisierungs- und Sicherheitsqualitätsinformationen eines Bindungshandle fest.
Syntax
RPC_STATUS RpcBindingSetAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc,
RPC_SECURITY_QOS *SecurityQos
);
Parameter
Binding
Serverbindungshandle, mit dem Authentifizierungs- und Autorisierungsinformationen festgelegt werden.
ServerPrincName
Zeigen Sie auf den erwarteten Prinzipalnamen des Servers, auf den von Bindingverwiesen wird. Der Inhalt des Namens und seiner Syntax wird vom verwendeten Authentifizierungsdienst definiert.
AuthnLevel
Authentifizierungsebene für Remoteprozeduraufrufe, die mit Bindingausgeführt werden. Eine Liste der RPC-unterstützten Authentifizierungsstufen finden Sie unter Authentication-Level Konstanten.
AuthnSvc
Der zu verwendende Authentifizierungsdienst.
Geben Sie RPC_C_AUTHN_NONE an, um die Authentifizierung für Remoteprozeduraufrufe zu deaktivieren, die mit Bindingausgeführt werden.
Wenn RPC_C_AUTHN_DEFAULT angegeben ist, verwendet die RPC-Laufzeitbibliothek den RPC_C_AUTHN_WINNT-Authentifizierungsdienst für Remoteprozeduraufrufe, die mit Bindingausgeführt werden.
AuthIdentity
Behandeln Sie die Struktur, die die Authentifizierungs- und Autorisierungsanmeldeinformationen des Clients enthält, die für den ausgewählten Authentifizierungs- und Autorisierungsdienst geeignet sind.
Bei Verwendung des RPC_C_AUTHN_WINNT-Authentifizierungsdiensts sollte AuthIdentity- ein Zeiger auf eine SEC_WINNT_AUTH_IDENTITY-Struktur sein (definiert in Rpcdce.h). Kerberos- und Negotiate-Authentifizierungsdienste verwenden auch die SEC_WINNT_AUTH_IDENTITY Struktur.
Geben Sie einen NULL-Wert an, um den Sicherheitsanmeldungskontext für den aktuellen Adressraum zu verwenden. Übergeben Sie den Wert RPC_C_NO_CREDENTIALS, um einen anonymen Anmeldekontext zu verwenden. Beachten Sie, dass RPC_C_NO_CREDENTIALS nur gültig ist, wenn RPC_C_AUTHN_GSS_SCHANNEL als Authentifizierungsdienst ausgewählt ist.
AuthzSvc
Autorisierungsdienst, der vom Server für die Schnittstelle von Interesse implementiert wird. Die Gültigkeit und Vertrauenswürdigkeit von Autorisierungsdaten, wie alle Anwendungsdaten, hängt von dem ausgewählten Authentifizierungsdienst und der Authentifizierungsstufe ab. Dieser Parameter wird ignoriert, wenn der RPC_C_AUTHN_WINNT-Authentifizierungsdienst verwendet wird. Siehe Hinweis.
SecurityQos
Zeiger auf die RPC_SECURITY_QOS-Struktur, die die Dienstqualität der Sicherheit definiert.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Der Aufruf war erfolgreich. |
|
Das Bindungshandle war ungültig. |
|
Dies war die falsche Art von Bindung für den Vorgang. |
|
Unbekannter Authentifizierungsdienst. |
Bemerkungen
Eine Clientanwendung ruft die RpcBindingSetAuthInfoEx--Funktion auf, um ein Serverbindungshandle für authentifizierte Remoteprozeduraufrufe einzurichten. Diese Funktion bietet die Möglichkeit, Sicherheitsqualitätsinformationen für den Bindungshandle festzulegen. Es ist andernfalls identisch mit RpcBindingSetAuthInfo.
Außer wenn ein Client RpcBindingSetAuthInfoExaufruft, werden alle Remoteprozeduraufrufe für Binding nicht authentifiziert. Zum Aufrufen dieser Funktion ist kein Client erforderlich.
Die RpcBindingSetAuthInfoEx--Funktion nimmt eine Momentaufnahme der Anmeldeinformationen auf. Daher kann der speicher, der dem AuthIdentity Parameter zugeordnet ist, vor dem Bindungshandle freigegeben werden. Die Ausnahme ist, wenn Ihre Anwendung RpcBindingSetAuthInfoEx mit RPC_C_QOS_IDENTITY_DYNAMIC verwendet und außerdem einen wert ungleich-NULL für AuthIdentity-angibt.
Windows Server 2003 mit SP1 und Windows XP mit SP2: Für Windows XP SP2 und Windows Server 2003 SP1 muss der Zeiger auf den AuthIdentity Parameter nicht für die Lebensdauer des Bindungshandle beibehalten werden. Dieser Zeiger darf nur beibehalten werden, wenn nachfolgende Aufrufe von RpcBindingInqAuthInfo- oder RpcBindingInqAuthInfoEx- erfolgen.
Anmerkung
Der rpcdce.h-Header definiert RpcBindingSetAuthInfoEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
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] |
Zielplattform- | Fenster |
Header- | rpcdce.h (include Rpc.h) |
Library | Rpcrt4.lib |
DLL- | Rpcrt4.dll |