Поделиться через


Перечисление EMemoryCriticalLevel

Содержит значения, указывающие влияние сбоя, когда было запрошено определенное выделение памяти, но не может быть выполнено.

Синтаксис

typedef enum {  
    eTaskCritical      = 0,  
    eAppDomainCritical = 1,  
    eProcessCritical   = 2  
} EMemoryCriticalLevel;  

Элементы

Член Описание
eAppDomainCritical Указывает, что выделение критически важно для выполнения управляемого кода в домене, который запросил выделение. Если память не может быть выделена, среда CLR не может гарантировать, что домен по-прежнему будет использоваться. Узел решает, какие действия следует предпринять, если выделение не может быть выполнено. Он может указать среде CLR автоматически прервать AppDomain или разрешить ей продолжать работу, вызвав методы в ICLRPolicyManager.
eProcessCritical Указывает, что выделение имеет решающее значение для выполнения управляемого кода в процессе. Это значение используется во время запуска и при выполнении методов завершения. Если не удается выделить память, среда CLR не сможет работать в процессе. Если выделение не удается, среда CLR фактически отключается. Все последующие вызовы среды CLR завершаются сбоем с HOST_E_CLRNOTAVAILABLE.
eTaskCritical Указывает, что выделение имеет решающее значение для выполнения задачи, которая запросила выделение. Если не удается выделить память, среда CLR не может гарантировать возможность выполнения задачи. В случае сбоя среда CLR вызывает в физическом потоке операционной ThreadAbortException системы.

Комментарии

Методы выделения памяти, определенные в интерфейсах IHostMemoryManager и IHostMAlloc , принимают параметр этого типа. В зависимости от серьезности сбоя узел может решить, следует ли немедленно завершить запрос на выделение или дождаться его выполнения.

Требования

Платформы: см. раздел Требования к системе.

Заголовка: MSCorEE.h

Библиотека: MSCorEE.dll

версии платформа .NET Framework: доступно с версии 2.0

См. также раздел