Partager via


Fonction RpcServerRegisterAuthInfoA (rpcdce.h)

La fonction RpcServerRegisterAuthInfo enregistre les informations d’authentification auprès de la bibliothèque d’exécution RPC.

Syntaxe

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

Paramètres

ServerPrincName

Pointeur vers le nom principal à utiliser pour le serveur lors de l’authentification des appels de procédure distante à l’aide du service spécifié par le paramètre AuthnSvc . Le contenu du nom et sa syntaxe sont définis par le service d’authentification utilisé. Pour plus d’informations, consultez Noms principaux.

AuthnSvc

Service d’authentification à utiliser lorsque le serveur reçoit une demande d’appel de procédure distante.

GetKeyFn

Adresse d’une routine fournie par le serveur-application qui retourne des clés de chiffrement. Voir RPC_AUTH_KEY_RETRIEVAL_FN.

Spécifiez une valeur de paramètre NULL pour utiliser la méthode par défaut d’acquisition de clé de chiffrement. Dans ce cas, le service d’authentification spécifie le comportement par défaut. Définissez ce paramètre sur NULL lors de l’utilisation du service d’authentification RPC_C_AUTHN_WINNT.

Service d'authentification GetKeyFn Arg Comportement au moment de l’exécution
RPC_C_AUTHN_DPA Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_GSS_KERBEROS Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_GSS_NEGOTIATE Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_GSS_SCHANNEL Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_MQ Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_MSN Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_WINNT Ignoré Ignoré Ne prend pas en charge
RPC_C_AUTHN_DCE_PRIVATE NULL Non null Utilise la méthode par défaut d’acquisition de clé de chiffrement à partir de la table de clés spécifiée ; l’argument spécifié est passé à la fonction d’acquisition par défaut.
RPC_C_AUTHN_DCE_PRIVATE Non null NULL Utilise la fonction d’acquisition de clé de chiffrement spécifiée pour obtenir des clés à partir de la table de clés par défaut.
RPC_C_AUTHN_DCE_PRIVATE Non null Non null Utilise la fonction d’acquisition de clé de chiffrement spécifiée pour obtenir des clés à partir de la table de clés spécifiée ; l’argument spécifié est passé à la fonction d’acquisition.
RPC_C_AUTHN_DEC_PUBLIC Ignoré Ignoré Réservé pour un usage futur.
 
 

La bibliothèque d’exécution RPC transmet la valeur du paramètre ServerPrincName de RpcServerRegisterAuthInfo comme valeur de paramètre ServerPrincName à la fonction d’acquisition GetKeyFn . La bibliothèque d’exécution RPC fournit automatiquement une valeur pour le paramètre key version (KeyVer). Pour une valeur de paramètre KeyVer égale à zéro, la fonction d’acquisition doit retourner la clé la plus récente disponible. La fonction de récupération retourne la clé d’authentification dans le paramètre Key .

Si la fonction d’acquisition appelée à partir de RpcServerRegisterAuthInfo retourne un status autre que RPC_S_OK, cette fonction échoue et retourne un code d’erreur à l’application serveur. Si la fonction d’acquisition appelée par la bibliothèque d’exécution RPC lors de l’authentification de la demande d’appel de procédure distante d’un client retourne un status autre que RPC_S_OK, la demande échoue et la bibliothèque d’exécution RPC retourne un code d’erreur à l’application cliente.

Arg

Pointeur vers un paramètre à passer à la routine GetKeyFn , si spécifié. Ce paramètre peut également être utilisé pour passer un pointeur vers une structure de SCHANNEL_CRED afin de spécifier des informations d’identification explicites si le service d’authentification est défini sur SCHANNEL.

Si le paramètre Arg a la valeur NULL, cette fonction utilise le certificat ou les informations d’identification par défaut s’il a été configuré dans le service d’annuaire.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_UNKNOWN_AUTHN_SERVICE
Le service d’authentification est inconnu.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Remarques

Une application serveur appelle RpcServerRegisterAuthInfo pour inscrire un service d’authentification à utiliser pour l’authentification des appels de procédure distante. Un serveur appelle cette routine une fois pour chaque service d’authentification que le serveur souhaite inscrire. Si le serveur appelle cette fonction plusieurs fois pour un service d’authentification donné, les résultats ne sont pas définis.

Le service d’authentification spécifié par une application cliente (à l’aide de RpcBindingSetAuthInfo ou RpcServerRegisterAuthInfo) doit être l’un des services d’authentification spécifiés par l’application serveur. Sinon, l’appel de procédure distante du client échoue et un code RPC_S_UNKNOWN_AUTHN_SERVICE status est retourné.

Notes

L’en-tête rpcdce.h définit RpcServerRegisterAuthInfo comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête rpcdce.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RpcBindingSetAuthInfo