Partager via


ObjectContext ::IsCallerInRole, méthode (comsvcs.h)

Indique si l’appelant direct de l’objet se trouve dans un rôle spécifié (directement ou dans le cadre d’un groupe).

Syntaxe

HRESULT IsCallerInRole(
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pbInRole
);

Paramètres

[in] bstrRole

Nom du rôle.

[out] pbInRole

TRUE si l’appelant est dans le rôle spécifié ; FALSE dans le cas contraire. Ce paramètre est également défini sur TRUE si la sécurité n’est pas activée.

Valeur retournée

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et E_FAIL, ainsi que les valeurs suivantes.

Code de retour Description
S_OK
Le rôle spécifié dans le paramètre bstrRole est un rôle reconnu, et le résultat booléen retourné dans le paramètre pbIsInRole indique si l’appelant est dans ce rôle.
CONTEXT_E_ROLENOTFOUND
Le rôle spécifié dans le paramètre bstrRole n’existe pas.
E_UNEXPECTED
Une erreur inattendue s’est produite. Cela peut se produire si un objet passe son pointeur ObjectContext à un autre objet et que l’autre objet appelle IsCallerInRole à l’aide de ce pointeur. Un pointeur ObjectContext n’est pas valide en dehors du contexte de l’objet qui l’a obtenu à l’origine.

Remarques

Utilisez cette méthode pour déterminer si l’appelant direct de la méthode en cours d’exécution est associé à un rôle spécifique. Un rôle est un nom symbolique qui représente un utilisateur ou un groupe d’utilisateurs qui disposent d’autorisations d’accès spécifiques à tous les composants d’une application COM+ donnée. Les développeurs définissent des rôles lorsqu’ils créent un composant, et les rôles sont mappés à des utilisateurs ou des groupes individuels au moment du déploiement.

IsCallerInRole s’applique uniquement à l’appelant direct de la méthode en cours d’exécution. (L’appelant direct est le processus appelant dans le processus serveur actuel. Il peut s’agir d’un processus client de base ou d’un processus serveur.) IsCallerInRole ne s’applique pas au processus qui a lancé la séquence d’appels à partir de laquelle la méthode actuelle a été appelée, ni aux autres appelants de cette séquence.

Étant donné que IsCallerInRole retourne TRUE lorsque l’objet qui l’appelle s’exécute dans le processus d’un client, il est judicieux d’appeler IsSecurityEnabled avant d’appeler IsCallerInRole. Si la sécurité n’est pas activée, IsCallerInRole ne retourne pas de résultat précis.

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 comsvcs.h

Voir aussi

Objectcontext