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

指定したユーザーが指定したロールに含まれているかどうかを判断します。

構文

HRESULT IsUserInRole(
  [in]  VARIANT      *pUser,
  [in]  BSTR         bstrRole,
  [out] VARIANT_BOOL *pfInRole
);

パラメーター

[in] pUser

ロール メンバーシップを確認するユーザーのユーザー ID を保持する値へのポインター。 セキュリティ識別子 (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 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

関連項目

ISecurityCallContext

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