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の標準戻り値と、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
bstrRole パラメーターで指定されたロールは認識されたロールであり、pfIsInRole パラメーターで返されるブール値の結果は、ユーザーがそのロールに含まれているかどうかを示します。 |
|
bstrRole パラメーターで指定されたロールが存在しません。 |
解説
呼び出し元が指定されたロールのメンバーでない限り、実行すべきでないコードのセクションへのアクセスを制限するには、このメソッドを使用します。 Windows グループとユーザーは、コンポーネント サービス管理ツールを使用してアプリケーションのロールに割り当てられます。 ロールの詳細については、「 ロールベースのセキュリティ」を参照してください。
ロールベースのセキュリティが有効になっていない場合、IsUserInRole は TRUE であるため、IsUserInRole を呼び出す前に IsSecurityEnabled を呼び出して、IsUserInRole が有用な情報を返すようにすることをお勧めします。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | comsvcs.h |