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 起可用