Share via


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,以及下列值。

傳回碼 描述
S_OK
bstrRole參數中指定的角色是可辨識的角色,而 pfIsInRole參數中傳回的布林值結果會指出使用者是否在該角色中。
CONTEXT_E_ROLENOTFOUND
bstrRole參數中指定的角色不存在。

備註

使用此方法可限制存取不應該執行的程式碼區段,除非呼叫端是指定角色的成員。 Windows 群組和使用者會使用元件服務管理工具指派給應用程式的角色。 如需角色的詳細資訊,請參閱 角色型安全性

由於未啟用角色型安全性時IsUserInRoleTRUE,因此在呼叫IsUserInRole之前呼叫IsSecurityEnabled是個不錯的主意,以確保IsUserInRole會傳回有用的資訊。

規格需求

   
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 comsvcs.h

另請參閱

ISecurityCallCoNtext

程式設計元件安全性