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