RpcBindingInqAuthClient-Funktion (rpcdce.h)
Eine Serveranwendung ruft die RpcBindingInqAuthClient-Funktion auf, um den Prinzipalnamen oder die Berechtigungsattribute des authentifizierten Clients abzurufen, der den Remoteprozeduraufruf durchgeführt hat.
Syntax
RPC_STATUS RpcBindingInqAuthClient(
RPC_BINDING_HANDLE ClientBinding,
RPC_AUTHZ_HANDLE *Privs,
RPC_WSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
unsigned long *AuthzSvc
);
Parameter
ClientBinding
Clientbindungshandle des Clients, der den Remoteprozeduraufruf ausgeführt hat. Dieser Wert kann auch 0 sein. Siehe Hinweise.
Privs
Gibt einen Zeiger auf ein Handle auf die privilegierten Informationen für die Clientanwendung zurück, die den Remoteprozeduraufruf für das ClientBinding-Bindungshandle durchgeführt hat. Für ncalrpc-Aufrufe enthält Privs eine Zeichenfolge mit dem Prinzipalnamen des Clients.
Die Daten, auf die mit diesem Parameter verwiesen wird, sind schreibgeschützt und sollten von der Serveranwendung nicht geändert werden. Wenn der Server die zurückgegebenen Daten beibehalten möchte, muss der Server die Daten in den vom Server zugewiesenen Arbeitsspeicher kopieren.
Die Daten, auf die der Privs-Parameter verweist, stammen direkt aus dem SSP. Daher ist das Format der Daten spezifisch für den SSP. Weitere Informationen zu SSPs finden Sie unter Security Support Providers (SSPs).
ServerPrincName
Gibt einen Zeiger auf einen Zeiger auf den Serverprinzipalnamen zurück, der von der Serveranwendung angegeben wurde, die die RpcServerRegisterAuthInfo-Funktion aufgerufen hat. Der Inhalt des zurückgegebenen Namens und seine Syntax werden vom verwendeten Authentifizierungsdienst definiert. Für den SCHANNEL-SSP hat der Prinzipalname das Microsoft-Standardformat (msstd). Weitere Informationen zum msstd-Format finden Sie unter Prinzipalnamen.
Geben Sie einen NULL-Wert an, um zu verhindern , dass RpcBindingInqAuthClient den ServerPrincName-Parameter zurückgibt. In diesem Fall ruft die Anwendung die RpcStringFree-Funktion nicht auf.
AuthnLevel
Gibt einen Zeiger zurück, der auf die Authentifizierungsebene festgelegt ist, die von der Clientanwendung angefordert wurde, die den Remoteprozeduraufruf für das ClientBinding-Bindungshandle durchgeführt hat.
Geben Sie einen NULL-Wert an, um zu verhindern , dass RpcBindingInqAuthClient den AuthnLevel-Parameter zurückgibt .
AuthnSvc
Gibt einen Zeiger auf den Authentifizierungsdienst zurück, der von der Clientanwendung angefordert wurde, die den Remoteprozeduraufruf für das ClientBinding-Bindungshandle durchgeführt hat. Eine Liste der RPC-unterstützten Authentifizierungsstufen finden Sie unter Konstanten auf Authentifizierungsebene.
Geben Sie einen NULL-Wert an, um zu verhindern , dass RpcBindingInqAuthClient den AuthnSvc-Parameter zurückgibt.
AuthzSvc
Gibt einen Zeiger auf den Autorisierungsdienst zurück, der von der Clientanwendung angefordert wurde, die den Remoteprozeduraufruf für das ClientBinding-Bindungshandle durchgeführt hat.
Geben Sie einen NULL-Wert an, um zu verhindern , dass RpcBindingInqAuthClient den AuthzSvc-Parameter zurückgibt. Dieser Parameter wird nicht vom RPC_C_AUTHN_WINNT-Authentifizierungsdienst verwendet. Der zurückgegebene Wert wird immer RPC_C_AUTHZ_NONE.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Der Aufruf war erfolgreich. |
|
Das Bindungshandle war ungültig. |
|
Dies war die falsche Art der Bindung für den Vorgang. |
|
Die Bindung enthält keine Authentifizierungsinformationen. |
Hinweise
Eine Serveranwendung ruft die RpcBindingInqAuthClient-Funktion auf, um den Prinzipalnamen oder die Berechtigungsattribute des authentifizierten Clients abzurufen, der den Remoteprozeduraufruf durchgeführt hat. Darüber hinaus gibt RpcBindingInqAuthClient den vom Client angegebenen Authentifizierungsdienst, die Authentifizierungsebene und den Serverprinzipalnamen zurück. Der Server kann die zurückgegebenen Daten zu Autorisierungszwecken verwenden.
Die RPC-Laufzeitbibliothek weist Arbeitsspeicher für den zurückgegebenen ServerPrincName-Parameter zu. Die Anwendung ist für den Aufruf der RpcStringFree-Funktion für die zurückgegebene Argumentzeichenfolge verantwortlich.
Bei synchronen RPC-Aufrufen kann die Serveranwendung null als Wert für den ClientBinding-Parameter verwenden. Die Verwendung von null ruft die Authentifizierungs- und Autorisierungsinformationen aus dem derzeit ausgeführten Remoteprozeduraufruf ab.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | rpcdce.h (include Rpc.h) |
Bibliothek | Rpcrt4.lib |
DLL | Rpcrt4.dll |