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


Перечисление 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, принимают параметра данного типа. В зависимости от важности ошибки основное приложение может решить, нужно ли сообщить сбое запроса выделения немедленно, или же следует дождаться выполнения запроса.

Требования

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

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

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

Версии платформы .NET Framework: 4, 3.5 с пакетом обновления 1 (SP1), 3.5, 3.0 с пакетом обновления 1 (SP1), 3.0, 2.0 с пакетом обновления 1 (SP1), 2.0

См. также

Ссылки

Интерфейс ICLRMemoryNotificationCallback

Другие ресурсы

Размещение перечислений