Partager via


RpcBindingInqAuthClientW, fonction (rpcdce.h)

Une application serveur appelle la fonction RpcBindingInqAuthClient pour obtenir le nom principal ou les attributs de privilège du client authentifié qui a effectué l’appel de procédure distante.

Syntaxe

RPC_STATUS RpcBindingInqAuthClientW(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_WSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc
);

Paramètres

ClientBinding

Handle de liaison client du client qui a effectué l’appel de procédure distante. Cette valeur peut être égale à zéro. Voir les remarques.

Privs

Retourne un pointeur vers un handle vers les informations privilégiées de l’application cliente qui a effectué l’appel de procédure distante sur le handle de liaison ClientBinding. Pour appels de ncalrpc, Privs contient une chaîne avec le nom principal du client.

Les données référencées par ce paramètre sont en lecture seule et ne doivent pas être modifiées par l’application serveur. Si le serveur souhaite conserver l’une des données retournées, le serveur doit copier les données dans la mémoire allouée au serveur.

Les données que les Privs points de paramètre doivent provenir directement du fournisseur de services partagés. Par conséquent, le format des données est spécifique au fournisseur de services partagés. Pour plus d’informations sur les fournisseurs SSP, consultez fournisseurs de support de sécurité (SSP).

ServerPrincName

Retourne un pointeur vers un pointeur vers le nom du principal du serveur spécifié par l’application serveur qui a appelé la fonction RpcServerRegisterAuthInfo. Le contenu du nom retourné et sa syntaxe sont définis par le service d’authentification en cours d’utilisation. Pour le SSP SCHANNEL, le nom du principal est au format Microsoft standard (msstd). Pour plus d’informations sur le format msstd, consultez noms de principaux.

Spécifiez une valeur null pour empêcher RpcBindingInqAuthClient de retourner le paramètre ServerPrincName . Dans ce cas, l’application n’appelle pas la fonction RpcStringFree.

AuthnLevel

Retourne un pointeur défini sur le niveau d’authentification demandé par l’application cliente qui a effectué l’appel de procédure distante sur le handle de liaison ClientBinding.

Spécifiez une valeur null pour empêcher rpcBindingInqAuthClient de retourner le paramètre AuthnLevel.

AuthnSvc

Retourne un pointeur défini sur le service d’authentification demandé par l’application cliente qui a effectué l’appel de procédure distante sur le handle de liaison ClientBinding. Pour obtenir la liste des niveaux d’authentification pris en charge par RPC, consultez Authentication-Level Constantes.

Spécifiez une valeur Null pour empêcher RpcBindingInqAuthClient de retourner le paramètre AuthnSvc.

AuthzSvc

Retourne un pointeur défini sur le service d’autorisation demandé par l’application cliente qui a effectué l’appel de procédure distante sur le handle de liaison ClientBinding.

Spécifiez une valeur null pour empêcher rpcBindingInqAuthClient de retourner le paramètre AuthzSvc. Ce paramètre n’est pas utilisé par le service d’authentification RPC_C_AUTHN_WINNT. La valeur retournée sera toujours RPC_C_AUTHZ_NONE.

Valeur de retour

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_INVALID_BINDING
Le handle de liaison n’était pas valide.
RPC_S_WRONG_KIND_OF_BINDING
Il s’agissait du mauvais type de liaison pour l’opération.
RPC_S_BINDING_HAS_NO_AUTH
La liaison n’a aucune information d’authentification.
 
Remarque Pour obtenir la liste des codes d’erreur valides, consultez valeurs de retour RPC.
 

Remarques

Une application serveur appelle la fonction RpcBindingInqAuthClient pour obtenir le nom principal ou les attributs de privilège du client authentifié qui a effectué l’appel de procédure distante. En outre, RpcBindingInqAuthClient retourne le service d’authentification, le niveau d’authentification et le nom du principal du serveur spécifiés par le client. Le serveur peut utiliser les données retournées à des fins d’autorisation.

La bibliothèque d’exécution RPC alloue de la mémoire pour le paramètre ServerPrincName retourné. L’application est chargée d’appeler la fonction RpcStringFree pour la chaîne d’argument retournée.

Pour les appels RPC synchrones, l’application serveur peut utiliser zéro comme valeur pour le paramètre ClientBinding. L’utilisation de zéro récupère les informations d’authentification et d’autorisation de l’appel de procédure distante en cours d’exécution.

Note

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

rpcStringFree