RpcBindingSetAuthInfoExA, fonction (rpcdce.h)
La fonction RpcBindingSetAuthInfoEx définit les informations d’authentification, d’autorisation et de qualité de service d’un handle de liaison.
Syntaxe
RPC_STATUS RpcBindingSetAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc,
RPC_SECURITY_QOS *SecurityQos
);
Paramètres
Binding
Handle de liaison de serveur dans lequel les informations d’authentification et d’autorisation sont définies.
ServerPrincName
Pointeur vers le nom principal attendu du serveur référencé par Binding. Le contenu du nom et sa syntaxe sont définis par le service d’authentification utilisé.
AuthnLevel
Niveau d’authentification à effectuer sur les appels de procédure distante effectués à l’aide de liaison. Pour obtenir la liste des niveaux d’authentification pris en charge par RPC, consultez Constantes de niveau d’authentification.
AuthnSvc
Service d’authentification à utiliser.
Spécifiez RPC_C_AUTHN_NONE pour désactiver l’authentification pour les appels de procédure distante effectués à l’aide de la liaison.
Si RPC_C_AUTHN_DEFAULT est spécifié, la bibliothèque d’exécution RPC utilise le service d’authentification RPC_C_AUTHN_WINNT pour les appels de procédure distante effectués à l’aide de binding.
AuthIdentity
Handle pour la structure qui contient les informations d’identification d’authentification et d’autorisation du client appropriées pour le service d’authentification et d’autorisation sélectionné.
Lors de l’utilisation du service d’authentification RPC_C_AUTHN_WINNT, AuthIdentity doit être un pointeur vers une structure de SEC_WINNT_AUTH_IDENTITY (définie dans Rpcdce.h). Les services d’authentification Kerberos et Negotiate utilisent également la structure SEC_WINNT_AUTH_IDENTITY .
Spécifiez une valeur Null pour utiliser le contexte de connexion de sécurité pour l’espace d’adressage actuel. Transmettez la valeur RPC_C_NO_CREDENTIALS pour utiliser un contexte de connexion anonyme. Notez que RPC_C_NO_CREDENTIALS est valide uniquement si RPC_C_AUTHN_GSS_SCHANNEL est sélectionné comme service d’authentification.
AuthzSvc
Service d’autorisation implémenté par le serveur pour l’interface d’intérêt. La validité et la fiabilité des données d’autorisation, comme toutes les données d’application, dépendent du service d’authentification et du niveau d’authentification sélectionnés. Ce paramètre est ignoré lors de l’utilisation du service d’authentification RPC_C_AUTHN_WINNT. Consultez Remarque.
SecurityQos
Pointeur vers la structure RPC_SECURITY_QOS , qui définit la qualité de service de sécurité.
Valeur retournée
Valeur | Signification |
---|---|
|
L’appel a réussi. |
|
Le handle de liaison n’était pas valide. |
|
Il s’agissait du mauvais type de liaison pour l’opération. |
|
Service d’authentification inconnu. |
Remarques
Une application cliente appelle la fonction RpcBindingSetAuthInfoEx pour configurer un handle de liaison de serveur pour effectuer des appels de procédure distante authentifiée. Cette fonction permet de définir des informations sur la qualité de service de sécurité sur le handle de liaison. Sinon, elle est identique à RpcBindingSetAuthInfo.
Sauf si un client appelle RpcBindingSetAuthInfoEx, tous les appels de procédure distante sur Binding ne sont pas authentifiés. Un client n’est pas obligé d’appeler cette fonction.
La fonction RpcBindingSetAuthInfoEx prend une instantané des informations d’identification. Par conséquent, la mémoire dédiée au paramètre AuthIdentity peut être libérée avant le handle de liaison. L’exception à cela est lorsque votre application utilise RpcBindingSetAuthInfoEx avec RPC_C_QOS_IDENTITY_DYNAMIC et spécifie également une valeur non NULL pour AuthIdentity.
Windows Server 2003 avec SP1 et Windows XP avec SP2 : Pour Windows XP SP2 et Windows Server 2003 SP1, le pointeur vers le paramètre AuthIdentity n’a pas besoin d’être conservé pendant toute la durée de vie du handle de liaison. Ce pointeur doit être conservé uniquement si des appels ultérieurs à RpcBindingInqAuthInfo ou RpcBindingInqAuthInfoEx sont effectués.
Notes
L’en-tête rpcdce.h définit RpcBindingSetAuthInfoEx 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. La combinaison 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 | Applications UWP] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | rpcdce.h (inclure Rpc.h) |
Bibliothèque | Rpcrt4.lib |
DLL | Rpcrt4.dll |