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


Метод ICLRPolicyManager::SetDefaultAction

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

Синтаксис

HRESULT SetDefaultAction (  
    [in] EClrOperation operation,  
    [in] EPolicyAction action  
);  

Параметры

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

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

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

HRESULT Описание:
S_OK SetDefaultAction возвращается успешно.
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 Для задано недопустимое actionoperationзначение или указано недопустимое значение для operation.

Комментарии

Не все значения действий политики можно указать в качестве поведения по умолчанию для операций CLR. SetDefaultAction Обычно можно использовать только для эскалации поведения. Например, узел может указать, что прерывания потока превратились в грубые прерывания потока, но не может указать обратное. В таблице ниже описаны допустимые action значения для каждого возможного operation значения.

Значение для operation Допустимые значения для action
OPR_ThreadAbort - eAbortThread
- eRudeAbortThread
- eUnloadAppDomain
— eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_ThreadRudeAbortInNonCriticalRegion

OPR_ThreadRudeAbortInCriticalRegion
- eRudeAbortThread
- eUnloadAppDomain
— eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_AppDomainUnload - eUnloadAppDomain
— eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_AppDomainRudeUnload — eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_ProcessExit — eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_FinalizerRun - eNoAction
- eAbortThread
- eRudeAbortThread
- eUnloadAppDomain
— eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime

Требования

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

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

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

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

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