Метод 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
См. также
Ссылки
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Июль 2010 |
Исправлены и оформлены в таблицу разрешенные сочетания значений EClrFailure и EPolicyAction. |
Исправление ошибки содержимого. |