ICLRHostBindingPolicyManager::ModifyApplicationPolicy メソッド
指定したアセンブリのバインド ポリシーを変更し、新しいバージョンのポリシーを作成します。
構文
HRESULT ModifyApplicationPolicy (
[in] LPCWSTR pwzSourceAssemblyIdentity,
[in] LPCWSTR pwzTargetAssemblyIdentity,
[in] BYTE *pbApplicationPolicy,
[in] DWORD cbAppPolicySize,
[in] DWORD dwPolicyModifyFlags,
[out, size_is(*pcbNewAppPolicySize)] BYTE *pbNewApplicationPolicy,
[in, out] DWORD *pcbNewAppPolicySize
);
パラメーター
pwzSourceAssemblyIdentity
[in] 変更するアセンブリの ID。
pwzTargetAssemblyIdentity
[in] 変更されたアセンブリの新しい ID。
pbApplicationPolicy
[in] 変更するアセンブリのバインド ポリシー データを格納するバッファーへのポインター。
cbAppPolicySize
[in] 置換されるバインド ポリシーのサイズ。
dwPolicyModifyFlags
[in] リダイレクトの制御を示す EHostBindingPolicyModifyFlags 値の論理和の組み合わせ。
pbNewApplicationPolicy
[out] 新しいバインド ポリシーデータを格納するバッファーへのポインター。
pcbNewAppPolicySize
[in, out] 新しいバインド ポリシー バッファーのサイズへのポインター。
戻り値
HRESULT | 説明 |
---|---|
S_OK | ポリシーが正常に変更されました。 |
E_INVALIDARG | pwzSourceAssemblyIdentity または pwzTargetAssemblyIdentity が null 参照です。 |
ERROR_INSUFFICIENT_BUFFER | pbNewApplicationPolicy が小さすぎます。 |
HOST_E_CLRNOTAVAILABLE | 共通言語ランタイム (CLR) がプロセスに読み込まれていないか、CLR がマネージド コードを実行できないまたは呼び出しを正常に処理できない状態です。 |
HOST_E_TIMEOUT | 呼び出しがタイムアウトになりました。 |
HOST_E_NOT_OWNER | 呼び出し元がロックを所有していません。 |
HOST_E_ABANDONED | ブロックされたスレッドまたはファイバーが待機しているときに、イベントが取り消されました。 |
E_FAIL | 原因不明の致命的なエラーが発生しました。 メソッドにより E_FAIL が返された後、そのプロセス内で CLR が使用できなくなります。 後続のホスティング メソッドの呼び出しでは HOST_E_CLRNOTAVAILABLE が返されます。 |
解説
ModifyApplicationPolicy
メソッドは、2 回呼び出すことができます。 1 回目の呼び出しでは、pbNewApplicationPolicy
パラメーターに null 値を指定する必要があり ます。 この呼び出しは、pcbNewAppPolicySize
に必要な値で返されます。 2 回目の呼び出しでは、この値が pcbNewAppPolicySize
に指定され、pbNewApplicationPolicy
のサイズのバッファーが示される必要があります。
必要条件
:「システム要件」を参照してください。
ヘッダー: MSCorEE.h
ライブラリ: MSCorEE.dll にリソースとして含まれます
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET