共用方式為


IObjectCoNtext::IsCallerInRole 方法 (comsvcs.h)

指出物件的直接呼叫端是否直接或屬於群組) (指定角色。

語法

HRESULT IsCallerInRole(
  [in]  BSTR bstrRole,
  [out] BOOL *pfIsInRole
);

參數

[in] bstrRole

角色的名稱。

[out] pfIsInRole

如果呼叫端位於指定的角色,則為TRUE;如果不是,則為 FALSE。 如果未啟用安全性,此參數也會設定為 TRUE

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
bstrRole參數中指定的角色是辨識的角色,而pbIsInRole參數中傳回的布林結果會指出呼叫端是否在該角色中。
CONTEXT_E_ROLENOTFOUND
bstrRole參數中指定的角色不存在。
E_INVALIDARG
傳入的一或多個引數無效。
E_UNEXPECTED
發生意外錯誤。 如果某個物件將其 IObjectCoNtext 指標傳遞至另一個物件,而另一個物件會使用此指標呼叫 IsCallerInRole ,就會發生這種情況。 IObjectCoNtext指標在最初取得它的物件內容之外無效。

備註

您可以使用這個方法來判斷目前執行之方法的直接呼叫端是否與特定角色相關聯。 角色是符號名稱,代表特定 COM+ 應用程式中所有元件具有特定存取權限的使用者或使用者群組。 開發人員會在建立元件時定義角色,並在部署時間對應至個別使用者或群組。

IsCallerInRole 僅適用于目前執行中方法的直接呼叫端。 (直接呼叫端是呼叫至目前伺服器進程的進程。它可以是基底用戶端進程或伺服器進程。) IsCallerInRole 不適用於起始目前方法呼叫的呼叫序列的進程,或是該序列中任何其他呼叫端。

由於IsCallerInRole會在叫用它的物件在用戶端的進程中執行時傳回TRUE,所以在呼叫IsCallerInRole之前,最好先呼叫IsSecurityEnabled。 如果未啟用安全性, IsCallerInRole 將不會傳回精確的結果。

規格需求

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

另請參閱

IObjectCoNtext