Partager via


Fonction RpcBindingInqAuthClientEx (rpcdce.h)

Une application serveur appelle la fonction RpcBindingInqAuthClientEx pour obtenir des informations étendues sur le programme client qui a effectué l’appel de la procédure distante.

Syntaxe

RPC_STATUS RpcBindingInqAuthClientEx(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_CSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc,
  unsigned long      Flags
);

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.

L’application serveur doit caster le paramètre Privs au type de données spécifié par le paramètre AuthnSvc . Les données référencées par cet argument 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.

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 fournisseur SSP SCHANNEL, le nom principal est au format msstd. Pour plus d’informations sur le format msstd, consultez Noms principaux.

Spécifiez une valeur null pour empêcher RpcBindingInqAuthClientEx de renvoyer 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 la 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 RpcBindingInqAuthClientEx de renvoyer 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 la procédure distante sur le handle de liaison ClientBinding . Pour obtenir la liste des services d’authentification pris en charge par RPC, consultez Constantes de service d’authentification.

Spécifiez une valeur null pour empêcher RpcBindingInqAuthClientEx de renvoyer le paramètre AuthnSvc .

RemarqueAuthnSvc correspond à la SECURITY_STATUS retournée par QueryContextAttributes sur chaque fournisseur de services partagé basé sur un certificat pour SECPKG_ATTR_DCE_INFO ou SECPKG_ATTR_REMOTE_CERT_CONTEXT.
 

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 de liaison . Pour obtenir la liste des services d’autorisation pris en charge par RPC, consultez Constantes de service d’autorisation .

Spécifiez une valeur null pour empêcher RpcBindingInqAuthClientEx de renvoyer 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_S_AUTHZ_NONE.

Flags

Contrôle le format du nom principal. Ce paramètre peut être défini sur la valeur suivante.

Valeur Signification
RPC_C_FULL_CERT_CHAIN
Retourne le nom principal au format complet .

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 RpcBindingInqAuthClientEx pour obtenir le nom principal ou les attributs de privilège du client authentifié qui a effectué l’appel de la procédure distante. En outre, RpcBindingInqAuthClientEx 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 responsable de l’appel de 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

RpcBindingInqAuthClient

RpcBindingSetAuthInfo

RpcStringFree