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 |
---|---|
|
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. |
|
Le rôle spécifié dans le paramètre bstrRole n’existe pas. |
|
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 |