ICLRPolicyManager::SetActionOnFailure 方法
更新:2010 年 7 月
發生指定的失敗時,指定 Common Language Runtime (CLR) 應該採取的原則動作。
HRESULT SetActionOnFailure (
[in] EClrFailure failure,
[in] EPolicyAction action
);
參數
failure
[in] 其中一個 EClrFailure 值,表示要對其採取動作的失敗類型。action
[in] 其中一個 EPolicyAction 值,表示發生失敗時要採取的動作。 如需支援的值的清單,請參閱〈備註〉一節。
傳回值
HRESULT |
描述 |
---|---|
S_OK |
SetActionOnFailure 已成功傳回。 |
HOST_E_CLRNOTAVAILABLE |
CLR 尚未載入至處理序中,或者此 CLR 目前的狀態無法執行 Managed 程式碼或成功處理呼叫。 |
HOST_E_TIMEOUT |
呼叫已逾時。 |
HOST_E_NOT_OWNER |
呼叫端不具備鎖定功能。 |
HOST_E_ABANDONED |
已封鎖執行緒或 Fiber 在等候事件時,該事件已遭取消。 |
E_FAIL |
發生未知的重大錯誤。 在方法傳回 E_FAIL 之後,處理序中就無法再使用 CLR。 對裝載方法的後續呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
E_INVALIDARG |
無法為指定的作業設定原則動作,或是為此作業指定了無效的原則動作。 |
備註
根據預設,CLR 在無法配置類似記憶體的資源時,會擲回例外狀況。 SetActionOnFailure 可讓主應用程式藉由指定在失敗時所要採取的原則動作,覆寫這個行為。 下表顯示所支援之 EClrFailure 和 EPolicyAction 值的組合。 (EClrFailure 值中省略的 FAIL-prefix)。
NonCriticalResource |
CriticalResource |
FatalRuntime |
OrphanedLock |
StackOverflow |
AccessViolation |
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 |
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**MSCorEE.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0
請參閱
參考
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2010 年 7 月 |
已更正 EClrFailure 和 EPolicyAction 值的允許組合,並將其列入表格中。 |
內容 Bug 修正。 |