Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 |
|---|---|
|
L’appel a réussi. |
|
Le service d’authentification est inconnu. |
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 |