ISecurityCallContext::IsUserInRole 方法 (comsvcs.h)
确定指定的用户是否处于指定角色。
语法
HRESULT IsUserInRole(
[in] VARIANT *pUser,
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pfInRole
);
参数
[in] pUser
一个指针,该值包含要检查其角色成员身份的用户的用户的用户 ID。 如果要将安全标识符 (SID) 传递给 IsUserInRole,此参数应满足以下要求:V_VT(pUser) == (VT_ARRAY|VT_UI1) && V_ARRAY(pUser)->cDims == 1
。
[in] bstrRole
角色的名称。
[out] pfInRole
如果用户处于指定角色,TRUE;如果不是,FALSE。 如果未为应用程序定义指定的角色,则返回 FALSE。 如果未启用基于角色的安全性,则此参数设置为 TRUE。
返回值
此方法可以返回标准返回值E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED和E_FAIL,以及以下值。
返回代码 | 描述 |
---|---|
|
bstrRole 参数中指定的角色是已识别的角色,pfIsInRole 参数中返回的布尔结果指示用户是否处于该角色。 |
|
bstrRole 参数中指定的角色不存在。 |
言论
使用此方法限制对不应执行的代码部分的访问,除非调用方是指定角色的成员。 使用组件服务管理工具将 Windows 组和用户分配到应用程序的角色。 有关角色的详细信息,请参阅 Role-Based 安全。
由于未启用基于角色的安全性时,IsUserInRoleTRUE,因此最好在调用 IsUserInRole 之前调用IsSecurityEnabled,以确保 IsUserInRole 返回有用信息。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | comsvcs.h |