Partager via


RpcServerRegisterAuthInfoA, fonction (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 du 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 de sa syntaxe sont définis par le service d’authentification en cours d’utilisation. Pour plus d’informations, consultez noms de principal.

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 l’application serveur 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 d’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 null non- 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 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 par défaut.
RPC_C_AUTHN_DCE_PRIVATE null non- null non- 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 une utilisation ultérieure.
 
 

La bibliothèque d’exécution RPC transmet la valeur de paramètre ServerPrincName de RpcServerRegisterAuthInfo en tant que 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 de version de clé (KeyVer). Pour une valeur de paramètre KeyVer 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 Clé.

Si la fonction d’acquisition appelée à partir de RpcServerRegisterAuthInfo retourne un état 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 état autre que RPC_S_OK, la requête é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, le cas échéant. Ce paramètre peut également être utilisé pour passer un pointeur à une structure de SCHANNEL_CRED pour spécifier des informations d’identification explicites si le service d’authentification est défini sur SCHANNEL.

Si le paramètre Arg est défini sur 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 de retour

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_UNKNOWN_AUTHN_SERVICE
Le service d’authentification est inconnu.
 
Remarque 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 authentifier les 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 d’état RPC_S_UNKNOWN_AUTHN_SERVICE est retourné.

Note

L’en-tête rpcdce.h définit RpcServerRegisterAuthInfo comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête rpcdce.h (inclure Rpc.h)
bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

rpcBindingSetAuthInfo