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 | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
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 起提供