RpcBindingSetAuthInfoW, fonction (rpcdce.h)
La fonction RpcBindingSetAuthInfo définit les informations d’authentification et d’autorisation d’un handle de liaison.
Syntaxe
RPC_STATUS RpcBindingSetAuthInfoW(
RPC_BINDING_HANDLE Binding,
RPC_WSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc
);
Paramètres
Binding
Handle de liaison de serveur auquel les informations d’authentification et d’autorisation doivent être appliquées.
ServerPrincName
Pointeur vers le nom principal attendu du serveur référencé par liaison. Le contenu du nom et de sa syntaxe sont définis par le service d’authentification en cours d’utilisation.
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 la liste des constantes Authentication-Level.
AuthnSvc
Service d’authentification à utiliser. Voir remarque.
Spécifiez RPC_C_AUTHN_NONE pour désactiver l’authentification pour les appels de procédure distante effectués à l’aide de de 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 liaison.
AuthIdentity
Gérez la structure contenant les informations d’identification d’authentification et d’autorisation du client appropriées pour le service d’authentification et d’autorisation sélectionné. Lorsque vous utilisez le service d’authentification RPC_C_AUTHN_WINNT AuthIdentity doit être un pointeur vers une structure SEC_WINNT_AUTH_IDENTITY (définie dans Rpcdce.h). Les services d’authentification Kerberos et Negotiate utilisent également la structure SEC_WINNT_AUTH_IDENTITY.
Lorsque vous sélectionnez le service d’authentification RPC_C_AUTHN_GSS_SCHANNEL, le paramètre AuthIdentity doit être un pointeur vers une structure SCHANNEL_CRED (définie dans Schannel.h). 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.
AuthzSvc
Service d’autorisation implémenté par le serveur pour l’interface d’intérêt. Voir remarque.
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é. Ce paramètre est ignoré lors de l’utilisation du service d’authentification RPC_C_AUTHN_WINNT.
Valeur de retour
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 RpcBindingSetAuthInfo pour configurer un handle de liaison de serveur pour effectuer des appels de procédure distante authentifiés. Un client n’est pas requis pour appeler cette fonction.
À moins qu’un client n’appelle RpcBindingSetAuthInfo, aucune procédure distante n’appelle le handle de liaison liaison sont authentifiées. Un serveur peut appeler RpcBindingInqAuthClient à partir d’un appel de procédure distante pour déterminer si cet appel a été authentifié.
La fonction RpcBindingSetAuthInfo prend un instantané des informations d’identification. Par conséquent, la mémoire dédiée au paramètre AuthIdentity
En raison de différentes exigences de différentes versions de Microsoft RPC, Microsoft recommande que votre application conserve un pointeur vers le paramètre AuthIdentity tant que le handle de liaison existe. Cela augmente la portabilité de l’application.
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é pour la durée de vie du handle de liaison. Ce pointeur ne doit être conservé que si des appels ultérieurs à RpcBindingInqAuthInfo ou RpcBindingInqAuthInfoEx sont effectués.
Note
L’en-tête rpcdce.h définit RpcBindingSetAuthInfo 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 | Applications UWP] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | rpcdce.h (inclure Rpc.h) |
bibliothèque | Rpcrt4.lib |
DLL | Rpcrt4.dll |