Partager via


RpcBindingInqAuthClientExW, fonction (rpcdce.h)

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

Syntaxe

RPC_STATUS RpcBindingInqAuthClientExW(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_WSTR           *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 é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.

L’application serveur doit caster le paramètre Privs sur le 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, le serveur doit copier les données dans la mémoire allouée au serveur.

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 msstd. Pour plus d’informations sur le format msstd, consultez noms de principaux.

Spécifiez une valeur Null pour empêcher RpcBindingInqAuthClientEx 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. 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 RpcBindingInqAuthClientEx 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 services d’authentification pris en charge par RPC, consultez Authentication-Service constantes.

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

Remarque AuthnSvc correspond au SECURITY_STATUS retourné par QueryContextAttributes sur chaque fournisseur de services partagés basé sur un certificat pour SECPKG_ATTR_DCE_INFO ou SECPKG_ATTR_REMOTE_CERT_CONTEXT.
 

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

Spécifiez une valeur null pour empêcher RpcBindingInqAuthClientEx 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 est toujours RPC_S_AUTHZ_NONE.

Flags

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

Valeur Signification
RPC_C_FULL_CERT_CHAIN
Renvoie le nom du principal au format complet.

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 RpcBindingInqAuthClientEx 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, 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 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 RpcBindingInqAuthClientEx 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

RpcBindingInqAuthClient

rpcBindingSetAuthInfo

rpcStringFree