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