ISecurityCallContext::IsCallerInRole メソッド (comsvcs.h)
直接呼び出し元が指定したロールに属しているかどうかを判断します。
構文
HRESULT IsCallerInRole(
[in] BSTR bstrRole,
[out] VARIANT_BOOL *pfInRole
);
パラメーター
[in] bstrRole
ロールの名前。
[out] pfInRole
呼び出し元が指定したロールにある場合は TRUE。FALSE でない場合。 指定したロールがアプリケーションに対して定義されていない場合は、 FALSE が返されます。 ロールベースのセキュリティが有効になっていない場合、このパラメーターは TRUE に 設定されます。
戻り値
このメソッドは、E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAILの標準戻り値と、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
bstrRole パラメーターで指定されたロールは認識されたロールであり、pfIsInRole パラメーターで返されるブール値の結果は、呼び出し元がそのロールに含まれているかどうかを示します。 |
|
bstrRole パラメーターで指定されたロールが存在しません。 |
注釈
呼び出し元が指定されたロールのメンバーでない限り、実行すべきでないコードのセクションへのアクセスを制限するには、このメソッドを使用します。 Windows グループとユーザーは、コンポーネント サービス管理ツールを使用してアプリケーションのロールに割り当てられます。 ロールの詳細については、「 ロールベースのセキュリティ」を参照してください。
IsCallerInRole は、現在実行中のメソッドの直接呼び出し元にのみ適用されます。 IsCallerInRole は、現在のメソッドが呼び出された呼び出しシーケンス内の他の呼び出し元には適用されません。 ただし、 get_Item プロパティ メソッドを使用してセキュリティ呼び出しコンテキスト オブジェクトの Callers プロパティを取得することで、シーケンス内の他の呼び出し元に関する情報を取得できます。
ロールベースのセキュリティが有効になっていない場合、IsCallerInRole は TRUE であるため、IsCallerInRole を呼び出す前に IsSecurityEnabled を呼び出して、IsCallerInRole が有用な情報を返すようにすることをお勧めします。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | comsvcs.h |