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


Метод ICLRPolicyManager::SetActionOnTimeout

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

Синтаксис

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

Параметры

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

  • OPR_AppDomainUnload

  • OPR_ProcessExit

  • OPR_ThreadRudeAbortInCriticalRegion

  • OPR_ThreadRudeAbortInNonCriticalRegion

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

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

HRESULT Описание:
S_OK SetActionOnTimeout возвращается успешно.
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 Невозможно задать время ожидания для указанного operationобъекта , либо для задано operationнедопустимое значение .

Комментарии

Значением времени ожидания может быть либо время ожидания по умолчанию, заданное средой CLR, либо значением, заданным узлом в вызове метода ICLRPolicyManager::SetTimeout .

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

Значение для operation Допустимые значения для action
OPR_ThreadRudeAbortInNonCriticalRegion

OPR_ThreadRudeAbortInCriticalRegion
- eRudeAbortThread
- eUnloadAppDomain
— eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_AppDomainUnload - eUnloadAppDomain
— eRudeUnloadAppDomain
— eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime
OPR_ProcessExit — eExitProcess
- eFastExitProcess
- eRudeExitProcess
- eDisableRuntime

Требования

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

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

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

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

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