ISecurityCallCoNtext::IsUserInRole 方法 (comsvcs.h)
判斷指定的使用者是否在指定的角色中。
語法
HRESULT IsUserInRole(
[in] VARIANT *pUser,
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pfInRole
);
參數
[in] pUser
值指標,其中包含要檢查其角色成員資格之使用者的 [使用者識別碼]。 如果您想要將安全性識別碼 (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 群組和使用者會使用元件服務管理工具指派給應用程式的角色。 如需角色的詳細資訊,請參閱 角色型安全性。
由於未啟用角色型安全性時IsUserInRole為TRUE,因此在呼叫IsUserInRole之前呼叫IsSecurityEnabled是個不錯的主意,以確保IsUserInRole會傳回有用的資訊。
規格需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |