Partager via


RpcBindingInqAuthClient, 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 RpcBindingInqAuthClient(
  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 zéro. Consultez la section Notes.

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 les appels 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, il doit copier les données dans la mémoire allouée par le serveur.

Les données vers laquelle pointe le paramètre Privs proviennent 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 de services de sécurité, consultez Fournisseurs de support de sécurité (SSP).

ServerPrincName

Retourne un pointeur vers un pointeur vers le nom de 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 utilisé. Pour le SSP SCHANNEL, le nom du principal est au format standard Microsoft (msstd). Pour plus d’informations sur le format msstd, consultez Noms 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 jeu de pointeurs au 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 jeu de pointeurs vers 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 Constantes de niveau d’authentification.

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

AuthzSvc

Retourne un jeu de pointeurs vers 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 retournée

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.
 
Note 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 de 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête rpcdce.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

RpcBindingSetAuthInfo

RpcStringFree