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


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

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

Требования

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

См. также

Ссылки

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

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

Интерфейс ICLRControl

Интерфейс ICLRPolicyManager