次の方法で共有


ICLRPolicyManager::SetActionOnFailure メソッド

指定した失敗の発生時に共通言語ランタイム (CLR) で実行されるポリシー アクションを指定します。

構文

HRESULT SetActionOnFailure (  
    [in] EClrFailure   failure,  
    [in] EPolicyAction action  
);  

パラメーター

failure
[in] アクションが実行される失敗の種類を示す EClrFailure 値のいずれか。

action
[in] 失敗が発生したときに実行されるアクションを示す EPolicyAction 値のいずれか。 サポートされる値のリストについては、「解説」セクションを参照してください。

戻り値

HRESULT 説明
S_OK SetActionOnFailure が正常に返されました。
HOST_E_CLRNOTAVAILABLE CLR がプロセスに読み込まれていないか、CLR がマネージド コードを実行できないまたは呼び出しを正常に処理できない状態です。
HOST_E_TIMEOUT 呼び出しがタイムアウトになりました。
HOST_E_NOT_OWNER 呼び出し元がロックを所有していません。
HOST_E_ABANDONED ブロックされたスレッドまたはファイバーが待機しているときに、イベントが取り消されました。
E_FAIL 原因不明の致命的なエラーが発生しました。 メソッドにより E_FAIL が返された後、そのプロセス内で CLR が使用できなくなります。 後続のホスティング メソッドの呼び出しでは HOST_E_CLRNOTAVAILABLE が返されます。
E_INVALIDARG 指定した操作にポリシー アクションを設定できないか、操作に無効なポリシー アクションが指定されました。

解説

既定では、メモリなどのリソースの割り当てに失敗すると、CLR から例外がスローされます。 SetActionOnFailure を使用すると、ホストで失敗の発生時に実行するポリシー アクションを指定して、この動作をオーバーライドできます。 次の表は、サポートされている EClrFailure (列) 値と EPolicyAction (行) 値の組み合わせを示しています。

FAIL_NonCriticalResource FAIL_CriticalResource FAIL_FatalRuntime FAIL_OrphanedLock FAIL_StackOverflow FAIL_AccessViolation FAIL_CodeContract
eNoAction X X N/A
eThrowException X X N/A
eAbortThread X X N/A X
eRudeAbortThread X X N/A X
eUnloadAppDomain X X X N/A X
eRudeUnloadAppDomain X X X X N/A X
eExitProcess X X X X N/A X
eFastExitProcess X X X X N/A
eRudeExitProcess X X X X X N/A
eDisableRuntime X X X X X N/A

必要条件

:システム要件」を参照してください。

ヘッダー: MSCorEE.h

ライブラリ: MSCorEE.dll にリソースとして含まれます

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目