Метод 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