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 以降で使用可能
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET