Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |
|---|---|
|
Der Aufruf war erfolgreich. |
|
Der Authentifizierungsdienst ist unbekannt. |
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 |