Méthode ISecurityCallContext::IsUserInRole (comsvcs.h)
Détermine si l’utilisateur spécifié est dans le rôle spécifié.
Syntaxe
HRESULT IsUserInRole(
[in] VARIANT *pUser,
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pfInRole
);
Paramètres
[in] pUser
Pointeur vers la valeur contenant l’ID d’utilisateur de l’utilisateur dont l’appartenance au rôle doit être vérifiée. Si vous envisagez de passer l’identificateur de sécurité (SID) à IsUserInRole, ce paramètre doit répondre aux exigences suivantes : V_VT(pUser) == (VT_ARRAY|VT_UI1) && V_ARRAY(pUser)->cDims == 1
.
[in] bstrRole
Nom du rôle.
[out] pfInRole
TRUE si l’utilisateur 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 le rôle 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’utilisateur 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 des services de composants. Pour plus d’informations sur les rôles, consultez Sécurité basée sur les rôles.
Étant donné que IsUserInRole 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 IsUserInRole pour vous assurer qu’IsUserInRole retourne des informations utiles.
Configuration requise
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 |