分享方式:


ICLRPolicyManager::SetDefaultAction 方法

指定通用語言執行平台 (CLR),當在指定的作業發生時應採取的原則動作。

語法

HRESULT SetDefaultAction (  
    [in] EClrOperation operation,  
    [in] EPolicyAction action  
);  

參數

operation
[in] 其中一個 EClrOperation 值,指出應該自訂 CLR 行為的動作。

action
[in] 其中一個 EPolicyAction 值,指出當operation發生 CLR 時應採取的原則動作。

傳回值

HRESULT 描述
S_OK SetDefaultAction 已成功傳回。
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 operation 指定了無效 action,或者為 operation 提供無效值。

備註

並非所有原則動作值都可以指定為 CLR 作業的預設行為。 SetDefaultAction 通常只能用來呈報行為。 例如,主機可以指定執行緒中止轉換為不粗的執行緒中止,但無法指定相反的執行緒。 下表描述每個可能 operation 值的有效 action 值。

operation 的值 action 的有效值
OPR_ThreadAbort - eAbortThread
- eRudeAbortThread
- eUnloadAppDomain
- eRudeUnloadAppDomain
- eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_ThreadRudeAbortInNonCriticalRegion

OPR_ThreadRudeAbortInCriticalRegion
- eRudeAbortThread
- eUnloadAppDomain
- eRudeUnloadAppDomain
- eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_AppDomainUnload - eUnloadAppDomain
- eRudeUnloadAppDomain
- eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_AppDomainRudeUnload - eRudeUnloadAppDomain
- eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_ProcessExit - eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_FinalizerRun - eNoAction
- eAbortThread
- eRudeAbortThread
- eUnloadAppDomain
- eRudeUnloadAppDomain
- eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime

規格需求

平台:請參閱系統需求

標題: MSCorEE.h

程式庫:包含作為 MSCorEE.dll 中的資源

.NET Framework版本:自 2.0 起可用

另請參閱