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