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

备注

IHostMemoryManagerIHostMAlloc 接口中定义的内存分配方法采用此类型的参数。 根据分配失败的严重性,主机可以决定分配请求立即失败,还是继续等待直到满足分配请求。

要求

平台:请参阅系统要求

标头:MSCorEE.h

库:MSCorEE.dll

.NET Framework 版本:自 2.0 起可用

请参阅