ICLRPolicyManager::SetActionOnTimeout 方法
當指定的作業逾時的時候,指定 Common Language Runtime (CLR) 應該採取的原則動作。
HRESULT SetActionOnTimeout (
[in] EClrOperation operation,
[in] EPolicyAction action
);
參數
operation
[in] 其中一個 EClrOperation 值,表示要為其指定逾時動作的作業。 支援下列各值:OPR_AppDomainUnload
OPR_ProcessExit
OPR_ThreadRudeAbortInCriticalRegion
OPR_ThreadRudeAbortInNonCriticalRegion
action
[in] 其中一個 EPolicyAction 值,表示作業逾時的時候要採取的原則動作。
傳回值
HRESULT |
描述 |
---|---|
S_OK |
SetActionOnTimeout 已成功傳回。 |
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 |
無法為指定的 operation 設定逾時,或是為 operation 提供了無效的值。 |
備註
逾時值可以是 CLR 所設定的預設逾時,或是主應用程式在對 ICLRPolicyManager::SetTimeout 方法的呼叫中所指定的值。
並非所有的原則動作值都可以指定為 CLR 作業的逾時行為。 SetActionOnTimeout 通常只是用來提升行為。 例如,主應用程式可以指定執行緒中止應該變成粗略的執行緒中止,但是無法指定相反的動作。 下表會針對 operation 有效值描述 action 有效值。
operation 的值 |
action 的有效值 |
---|---|
OPR_ThreadRudeAbortInNonCriticalRegion OPR_ThreadRudeAbortInCriticalRegion |
|
OPR_AppDomainUnload |
|
OPR_ProcessExit |
|
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**MSCorEE.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0