EPolicyAction 枚举

描述宿主可以为以下两项设置的策略操作:一是 EClrOperation 描述的操作;二是 EClrFailure 描述的失败。

typedef enum {
    eNoAction,
    eThrowException,
    eAbortThread,
    eRudeAbortThread,
    eUnloadAppDomain,
    eRudeUnloadAppDomain,
    eExitProcess,
    eFastExitProcess,
    eRudeExitProcess,
    eDisableRuntime
} EPolicyAction;

成员

成员

说明

eAbortThread

指定公共语言运行时 (CLR) 应该正常中止线程。 正常中止线程包括尝试运行以下三项:所有 finally 块、与中止线程相关的任意 catch 块和终结器。

eDisableRuntime

指定 CLR 应进入禁用状态。 在受影响的进程中不能再执行托管代码,并阻止线程进入 CLR。

eExitProcess

指定 CLR 应尝试正常退出该进程,包括运行终结器并执行清理和记录操作。

eFastExitProcess

指定 CLR 应立即退出该进程,无需运行终结器或执行清理和记录操作。 但要向调试器发送通知。

eNoAction

指定不应该执行任何操作。

eRudeAbortThread

指定 CLR 应该执行强制中止线程。 仅执行那些带有 MustRunInClientContextAttribute 标记的 catch 和 finally 块。

eRudeExitProcess

指定 CLR 应退出该进程,无需运行终结器或记录操作。

eRudeUnloadAppDomain

指定 CLR 应该执行 AppDomain 强制卸载。 仅执行带有 MustRunInClientContextAttribute 标记的终结器。 同样,所有在堆栈中包含此 AppDomain 的线程都将收到一个 ThreadAbortException,但仅执行标记为 MustRunInClientContextAttribute 的那些 catch 和 finally 块。

eThrowException

指定应引发相应于该条件的异常,如内存不足、缓冲区溢出等。

eUnloadAppDomain

指定应卸载 AppDomain。 CLR 尝试运行终结器。

备注

宿主通过调用 ICLRPolicyManager 接口的方法来设置策略操作。 有关强制中止和正常中止的信息,请参见 EClrOperation 枚举。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**MSCorEE.h

**库:**MSCorEE.dll

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

参考

EClrFailure 枚举

ICLRPolicyManager 接口

IHostPolicyManager 接口

其他资源

承载枚举