EMemoryCriticalLevel 枚举
包含的值用于指示在已请求特定的内存分配但却无法满足的情况下,因分配失败所造成的影响。
语法
typedef enum {
eTaskCritical = 0,
eAppDomainCritical = 1,
eProcessCritical = 2
} EMemoryCriticalLevel;
成员
成员 | 说明 |
---|---|
eAppDomainCritical |
指示分配对于在已请求分配的域中执行托管代码至关重要。 如果无法分配内存,CLR 无法保证域仍然可用。 主机将决定在无法满足分配时要执行什么操作。 它可以指示 CLR 自动中止 AppDomain ,或者通过在 ICLRPolicyManager 上调用方法以允许 CLR 继续运行。 |
eProcessCritical |
指示分配对于在进程中执行托管代码至关重要。 此值在启动期间和运行终结器时使用。 如果无法分配内存,CLR 将无法在进程中运行。 如果分配失败,系统将有效禁用 CLR。 对 CLR 的所有后续调用都失败,并返回 HOST_E_CLRNOTAVAILABLE。 |
eTaskCritical |
指示分配对于运行已请求分配的任务至关重要。 如果无法分配内存,CLR 无法保证任务可以执行。 如果分配失败,CLR 将在物理操作系统线程上引发 ThreadAbortException。 |
备注
在 IHostMemoryManager 和 IHostMAlloc 接口中定义的内存分配方法采用此类型的参数。 根据分配失败的严重性,主机可以决定分配请求立即失败,还是继续等待直到满足分配请求。
要求
平台:请参阅系统要求。
标头:MSCorEE.h
库:MSCorEE.dll
.NET Framework 版本:自 2.0 起可用