ISecurityCallContext::IsCallerInRole メソッド (comsvcs.h)

直接呼び出し元が指定したロールに属しているかどうかを判断します。

構文

HRESULT IsCallerInRole(
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pfInRole
);

パラメーター

[in] bstrRole

ロールの名前。

[out] pfInRole

呼び出し元が指定したロールにある場合は TRUEFALSE でない場合。 指定したロールがアプリケーションに対して定義されていない場合は、 FALSE が返されます。 ロールベースのセキュリティが有効になっていない場合、このパラメーターは TRUE に 設定されます。

戻り値

このメソッドは、E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAILの標準戻り値と、次の値を返すことができます。

リターン コード 説明
S_OK
bstrRole パラメーターで指定されたロールは認識されたロールであり、pfIsInRole パラメーターで返されるブール値の結果は、呼び出し元がそのロールに含まれているかどうかを示します。
CONTEXT_E_ROLENOTFOUND
bstrRole パラメーターで指定されたロールが存在しません。

注釈

呼び出し元が指定されたロールのメンバーでない限り、実行すべきでないコードのセクションへのアクセスを制限するには、このメソッドを使用します。 Windows グループとユーザーは、コンポーネント サービス管理ツールを使用してアプリケーションのロールに割り当てられます。 ロールの詳細については、「 ロールベースのセキュリティ」を参照してください。

IsCallerInRole は、現在実行中のメソッドの直接呼び出し元にのみ適用されます。 IsCallerInRole は、現在のメソッドが呼び出された呼び出しシーケンス内の他の呼び出し元には適用されません。 ただし、 get_Item プロパティ メソッドを使用してセキュリティ呼び出しコンテキスト オブジェクトの Callers プロパティを取得することで、シーケンス内の他の呼び出し元に関する情報を取得できます。

ロールベースのセキュリティが有効になっていない場合、IsCallerInRoleTRUE であるため、IsCallerInRole を呼び出す前に IsSecurityEnabled を呼び出して、IsCallerInRole が有用な情報を返すようにすることをお勧めします。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

こちらもご覧ください

ISecurityCallContext

プログラムコンポーネントのセキュリティ

ロール ベースのセキュリティ