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


Метод 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 не загружена в процесс или находится в состоянии, в котором ей не удается выполнить управляемый код или успешно обработать вызов.

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_ в значениях EClrFailure опускается.)

NonCriticalResource

CriticalResource

FatalRuntime

OrphanedLock

StackOverflow

AccessViolation

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

Неприменимо

Требования

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

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

Интерфейс ICLRControl

Интерфейс ICLRPolicyManager

Журнал изменений

Дата

Журнал

Причина

Июль 2010

Исправлены и оформлены в таблицу разрешенные сочетания значений EClrFailure и EPolicyAction.

Исправление ошибки содержимого.