Freigeben über


RpcServerRegisterAuthInfoA-Funktion (rpcdce.h)

Die RpcServerRegisterAuthInfo Funktion registriert Authentifizierungsinformationen bei der RPC-Laufzeitbibliothek.

Syntax

RPC_STATUS RpcServerRegisterAuthInfoA(
  RPC_CSTR                  ServerPrincName,
  unsigned long             AuthnSvc,
  RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
  void                      *Arg
);

Parameter

ServerPrincName

Zeigen Sie auf den Prinzipalnamen, der für den Server verwendet werden soll, wenn Remoteprozeduraufrufe mithilfe des vom AuthnSvc Parameter angegebenen Diensts authentifiziert werden. Der Inhalt des Namens und seiner Syntax wird vom verwendeten Authentifizierungsdienst definiert. Weitere Informationen finden Sie unter Prinzipalnamen.

AuthnSvc

Authentifizierungsdienst, der verwendet werden soll, wenn der Server eine Anforderung für einen Remoteprozeduraufruf empfängt.

GetKeyFn

Adresse einer vom Server bereitgestellten Routine, die Verschlüsselungsschlüssel zurückgibt. Siehe RPC_AUTH_KEY_RETRIEVAL_FN.

Geben Sie einen NULL- Parameterwert an, um die Standardmethode für die Verschlüsselungsschlüsselerfassung zu verwenden. In diesem Fall gibt der Authentifizierungsdienst das Standardverhalten an. Legen Sie diesen Parameter auf NULL- fest, wenn Sie den RPC_C_AUTHN_WINNT Authentifizierungsdienst verwenden.

Authentifizierungsdienst GetKeyFn Arg Laufzeitverhalten
RPC_C_AUTHN_DPA Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_GSS_KERBEROS Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_GSS_NEGOTIATE Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_GSS_SCHANNEL Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_MQ Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_MSN Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_WINNT Ignoriert Ignoriert Unterstützt nicht
RPC_C_AUTHN_DCE_PRIVATE NULL- Nicht-NULL- Verwendet die Standardmethode des Verschlüsselungsschlüsselerwerbs aus der angegebenen Schlüsseltabelle; angegebenes Argument wird an die Standardakquisitionsfunktion übergeben.
RPC_C_AUTHN_DCE_PRIVATE Nicht-NULL- NULL- Verwendet die angegebene Verschlüsselungsschlüsselerfassungsfunktion, um Schlüssel aus der Standardschlüsseltabelle abzurufen.
RPC_C_AUTHN_DCE_PRIVATE Nicht-NULL- Nicht-NULL- Verwendet die angegebene Verschlüsselungsschlüsselakquisitionsfunktion, um Schlüssel aus der angegebenen Schlüsseltabelle abzurufen; angegebenes Argument wird an die Kauffunktion übergeben.
RPC_C_AUTHN_DEC_PUBLIC Ignoriert Ignoriert Reserviert für die zukünftige Verwendung.
 
 

Die RPC-Laufzeitbibliothek übergibt den ServerPrincName Parameterwert von RpcServerRegisterAuthInfo als ServerPrincName Parameterwert an die GetKeyFn Kauffunktion. Die RPC-Laufzeitbibliothek stellt automatisch einen Wert für den Schlüsselversionsparameter (KeyVer) bereit. Bei einem KeyVer Parameterwert null muss die Kauffunktion den neuesten verfügbaren Schlüssel zurückgeben. Die Abruffunktion gibt den Authentifizierungsschlüssel im parameter Key zurück.

Wenn die von RpcServerRegisterAuthInfo aufgerufene Kauffunktion einen anderen Status als RPC_S_OK zurückgibt, schlägt diese Funktion fehl und gibt einen Fehlercode an die Serveranwendung zurück. Wenn die Von der RPC-Laufzeitbibliothek aufgerufene Kauffunktion beim Authentifizieren der Remoteprozeduraufrufanforderung eines Clients einen anderen Status als RPC_S_OK zurückgibt, schlägt die Anforderung fehl, und die RPC-Laufzeitbibliothek gibt einen Fehlercode an die Clientanwendung zurück.

Arg

Zeigen Sie auf einen Parameter, der an die GetKeyFn Routine übergeben werden soll, sofern angegeben. Dieser Parameter kann auch verwendet werden, um einen Zeiger an eine SCHANNEL_CRED Struktur zu übergeben, um explizite Anmeldeinformationen anzugeben, wenn der Authentifizierungsdienst auf SCHANNEL festgelegt ist.

Wenn der Parameter Arg auf NULL-festgelegt ist, verwendet diese Funktion das Standardzertifikat oder die Anmeldeinformationen, wenn sie im Verzeichnisdienst eingerichtet wurde.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_UNKNOWN_AUTHN_SERVICE
Der Authentifizierungsdienst ist unbekannt.
 
Hinweis Eine Liste gültiger Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Bemerkungen

Eine Serveranwendung ruft RpcServerRegisterAuthInfo auf, um einen Authentifizierungsdienst für die Authentifizierung von Remoteprozeduraufrufen zu registrieren. Ein Server ruft diese Routine einmal für jeden Authentifizierungsdienst auf, den der Server registrieren möchte. Wenn der Server diese Funktion mehrmals für einen bestimmten Authentifizierungsdienst aufruft, sind die Ergebnisse nicht definiert.

Der Authentifizierungsdienst, den eine Clientanwendung angibt (mit RpcBindingSetAuthInfo oder RpcServerRegisterAuthInfo) muss einer der Authentifizierungsdienste sein, die von der Serveranwendung angegeben werden. Andernfalls schlägt der Remoteprozeduraufruf des Clients fehl, und ein RPC_S_UNKNOWN_AUTHN_SERVICE Statuscode wird zurückgegeben.

Anmerkung

Der rpcdce.h-Header definiert RpcServerRegisterAuthInfo 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 [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- rpcdce.h (include Rpc.h)
Library Rpcrt4.lib
DLL- Rpcrt4.dll

Siehe auch

RpcBindingSetAuthInfo-