IAzClientContext::AccessCheck メソッド (azroles.h)
AccessCheck メソッドは、現在のクライアント コンテキストで指定された操作の実行を許可するかどうかを決定します。
構文
HRESULT AccessCheck(
[in] BSTR bstrObjectName,
[in] VARIANT varScopeNames,
[in] VARIANT varOperations,
[in, optional] VARIANT varParameterNames,
[in, optional] VARIANT varParameterValues,
[in, optional] VARIANT varInterfaceNames,
[in, optional] VARIANT varInterfaceFlags,
[in, optional] VARIANT varInterfaces,
[out] VARIANT *pvarResults
);
パラメーター
[in] bstrObjectName
アクセスされたオブジェクトの名前。 この文字列は監査で使用されます。
[in] varScopeNames
SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は、bstrObjectName パラメーターで指定されたオブジェクトが一致するスコープの名前を含むVT_BSTRを保持します。 配列に含めることができる要素は 1 つだけです。 既定のアプリケーション レベルスコープを使用するには、配列の最初のエントリを空の文字列 ("") または VT_EMPTYに設定するか、 このパラメーターにVT_EMPTY を渡します。
[in] varOperations
クライアント コンテキストによるアクセスがチェックされる操作。 これは、 SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は、IAzApplication ポリシーの IAzOperation オブジェクトの OperationID プロパティを表すVT_I2またはVT_I4を保持します。
[in, optional] varParameterNames
AzBizRuleContext::GetParameter メソッドを使用してビジネス ルール (BizRules) で使用できるパラメーターの名前。 これは、 SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は、パラメーター名を含む VT_BSTR を保持します。 この配列は、呼び出し元によってアルファベット順に並べ替えられる必要があります。並べ替え順序は、大文字と小文字を区別する VarCmp によって定義されます。 varParameterValues 配列の順序は、この配列の順序と一致する必要があります。 既定値は VT_NULL です。
[in, optional] varParameterValues
AzBizRuleContext::GetParameter メソッドを使用してビジネス ルール (BizRules) で使用できるパラメーターの値。 これは、 SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は、 varParameterNames 配列内の要素に対応する値を保持します。 既定値は VT_NULL です。 配列内のエントリは、 VT_UNKNOWN と VT_DISPATCHを除く任意の型を保持できます。
[in, optional] varInterfaceNames
varInterfaces 配列内のインターフェイスが BizRule スクリプトで認識される名前。 これは、 SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は、インターフェイス名を含む文字列バリアントを保持します。 このメソッドは、配列内の各エントリに対して IActiveScript::AddNamedItem メソッドを呼び出します。 既定値は VT_NULL です。
[in, optional] varInterfaceFlags
IActiveScript::AddNamedItem の呼び出しで渡されるフラグ。 これは、 SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は 、VT_I4を保持します。 SCRIPTITEM_ISVISIBLE フラグは暗黙的です。SCRIPTITEM_ISPERSISTENT フラグは無視されます。 配列内の各エントリは、 varInterfaceNames 配列内の対応する要素と一致する必要があります。 既定値は VT_NULL です。
[in, optional] varInterfaces
BizRule スクリプトで使用できるようにする IDispatch インターフェイス。 これは、 SAFEARRAY オブジェクトまたは JScript Array オブジェクトを含むバリアントです。 配列の各要素は 、IDispatch インターフェイスを保持します。 配列内の各エントリは、 varInterfaceNames 配列内の対応する要素と一致する必要があります。 既定値は VT_NULL です。
[out] pvarResults
アクセス チェックの結果を含む SAFEARRAY を返すために使用される VARIANT へのポインター。 SAFEARRAY の各要素は、VT_I4型の VARIANT です。 配列内の各エントリは、 varOperations 配列内の対応する要素と一致します。 操作へのアクセスがクライアント コンテキストに付与されている場合は、 pvarResults 配列の対応する要素にNO_ERRORの値が返されます。 その他の値は、その操作へのアクセスが許可されていないことを示します。 エラーがERROR_ACCESS_DENIEDされていることを示す一般的な値。
JScript では、返された SAFEARRAY を JScript Array オブジェクトに変換する必要があります。
戻り値
メソッドが成功した場合、メソッドは NO_ERRORを返します。
メソッドが失敗した場合は、アクセス チェックの結果ではなく、メソッドの状態を示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
リターン コード/値 | Description |
---|---|
|
Active Directory 承認ストアが使用され、スコープの管理が委任されている場合、このエラー コードを返すことができます。 委任されたスコープ内のタスクとロールの定義に BizRules を含めることはできません。 委任されたスコープ内のタスクまたはロールの定義に BizRule が含まれている場合 (ストアが破損している場合に発生する可能性があります) 、AccessCheck メソッドは失敗します。 |
|
アクセスの評価に使用される BizRule に構文エラーが含まれています。 |
注釈
RoleForAccessCheck プロパティがクライアント コンテキストで定義されている場合、AccessCheck メソッドはそのロールに対してのみ実行されます。
このメソッドが呼び出されると、アプリケーション グループ メンバーシップがクライアント コンテキストに追加されるため、同じクライアント コンテキストで後続のアクセス チェックのために再計算する必要はありません。
BizRule でこのメソッドを呼び出すことはできません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | azroles.h |
Library | Azroles.lib |
[DLL] | Azroles.dll |
再頒布可能パッケージ | Windows XP の Windows Server 2003 管理ツール パック |