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
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’utilisateur 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 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

Voir aussi

ISecurityCallContext

Sécurité des composants programmatiques