Метод ICLRPolicyManager::SetActionOnFailure

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

Синтаксис

HRESULT SetActionOnFailure (  
    [in] EClrFailure   failure,  
    [in] EPolicyAction action  
);  

Параметры

failure
[in] Одно из значений EClrFailure , указывающее тип сбоя, для которого необходимо выполнить действие.

action
[in] Одно из значений EPolicyAction , указывающее действие, которое необходимо выполнить при сбое. Список поддерживаемых значений см. в разделе Примечания.

Возвращаемое значение

HRESULT Описание:
S_OK SetActionOnFailure возвращается успешно.
HOST_E_CLRNOTAVAILABLE Среда CLR не была загружена в процесс или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов.
HOST_E_TIMEOUT Истекло время ожидания звонка.
HOST_E_NOT_OWNER Вызывающий объект не является владельцем блокировки.
HOST_E_ABANDONED Событие было отменено во время ожидания заблокированного потока или волокна.
E_FAIL Произошла неизвестная катастрофическая ошибка. После того как метод возвращает E_FAIL, среда CLR больше не может быть доступна в процессе. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE.
E_INVALIDARG Действие политики невозможно задать для указанной операции или для нее было указано недопустимое действие политики.

Комментарии

По умолчанию среда CLR создает исключение, если не удается выделить ресурс, например память. SetActionOnFailure позволяет узлу переопределить это поведение, указав действие политики, выполняемого при сбое. В следующей таблице показаны поддерживаемые сочетания значений EClrFailure (столбцы) и EPolicyAction (строки).

FAIL_NonCriticalResource FAIL_CriticalResource FAIL_FatalRuntime FAIL_OrphanedLock FAIL_StackOverflow FAIL_AccessViolation FAIL_CodeContract
eNoAction X X Н/Д
eThrowException X X Н/Д
eAbortThread X X Н/Д X
eRudeAbortThread X X Н/Д X
eUnloadAppDomain X X X Н/Д X
eRudeUnloadAppDomain X X X X Н/Д X
eExitProcess X X X X Н/Д X
eFastExitProcess X X X X Н/Д
eRudeExitProcess X X X X X Н/Д
eDisableRuntime X X X X X Н/Д

Требования

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

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

Библиотека: Включено в качестве ресурса в MSCorEE.dll

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

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