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


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

eRudeExitProcess

Указывает, что среда CLR должна предпринять попытку выхода из процесса, без запуска методов завершения или операций записи в журнал.

eRudeUnloadAppDomain

Указывает, что среда CLR должна выполнить выгрузку AppDomain ненадлежащим образом. Выполняется только метод завершения, отмеченный атрибутом MustRunInClientContextAttribute. Аналогично все потоки с этим объектом AppDomain в стеке получают исключение ThreadAbortException, но выполняются только блоки catch и finally, отмеченные атрибутом MustRunInClientContextAttribute.

eThrowException

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

eUnloadAppDomain

Указывает, объект AppDomainдолжен быть выгружен. Среда CLR пытается запустить методы завершения.

Заметки

Основное приложение задает действия в рамках политики путем вызова методов интерфейса ICLRPolicyManager. Сведения о ненадлежащих и надлежащих прерываниях см. в описании перечисления EClrOperation.

Требования

Платформы: см. раздел Требования к системе для .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

См. также

Ссылки

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

Интерфейс ICLRPolicyManager

Интерфейс IHostPolicyManager

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

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