Méthode ISecurityCallContext ::IsCallerInRole (comsvcs.h)

Détermine si l’appelant direct se trouve dans le rôle spécifié.

Syntaxe

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

Paramètres

[in] bstrRole

Nom du rôle.

[out] pfInRole

TRUE si l’appelant est dans le rôle spécifié ; FALSE si ce n’est pas le cas. Si le rôle spécifié n’est pas défini pour l’application, FALSE est retourné. Ce paramètre a la valeur TRUE si la sécurité basée sur les rôles n’est pas activée.

Valeur retournée

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED 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 pfIsInRole 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.

Remarques

Utilisez cette méthode pour limiter l’accès aux sections de code qui ne doivent pas être exécutées, sauf si l’appelant est membre du rôle spécifié. Les groupes et les utilisateurs Windows sont affectés aux rôles d’une application à l’aide de l’outil d’administration Services de composants. Pour plus d’informations sur les rôles, consultez Sécurité basée sur les rôles.

IsCallerInRole s’applique uniquement à l’appelant direct de la méthode en cours d’exécution. IsCallerInRole ne s’applique à aucun autre appelant dans la séquence d’appels à partir de laquelle la méthode actuelle a été appelée. Toutefois, vous pouvez obtenir des informations sur d’autres appelants dans la séquence à l’aide de la méthode de propriété get_Item pour obtenir la propriété Callers de l’objet de contexte d’appel de sécurité.

Étant donné que IsCallerInRole a la valeur TRUE lorsque la sécurité basée sur les rôles n’est pas activée, il est judicieux d’appeler IsSecurityEnabled avant d’appeler IsCallerInRole pour vous assurer que IsCallerInRole renvoie des informations utiles.

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

ISecurityCallContext

Sécurité des composants programmatiques

Sécurité basée sur les rôles