ICLRPolicyManager::SetTimeoutAndAction 方法
设置指定操作的超时值,并指定该操作发生时公共语言运行时 (CLR) 应执行的策略操作。
语法
HRESULT SetTimeoutAndAction (
[in] EClrOperation operation,
[in] DWORD dwMilliseconds,
[in] EPolicyAction action
);
参数
operation
[in] EClrOperation 值之一,指示要为其设置超时和策略 action
的操作。 支持以下值:
OPR_AppDomainUnload
OPR_ProcessExit
OPR_ThreadRudeAbortInCriticalRegion
OPR_ThreadRudeAbortInNonCriticalRegion
dwMilliseconds
[in] 新的时间值(以毫秒为单位)。 如果值为 INFINITE,则 operation
永远不会超时。
action
[in] EPolicyAction 值之一,指示发生 operation
时 CLR 应执行的策略操作。
返回值
HRESULT | 说明 |
---|---|
S_OK | 已成功返回 SetTimeoutAndAction 。 |
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 设置超时,或者为 action 提供了无效值。 |
备注
SetTimeoutAndAction
封装了 ICLRPolicyManager::SetTimeout 和 ICLRPolicyManager::SetActionOnTimeout 方法的功能,可以代替对这两种方法的顺序调用而进行调用。
重要
并非所有策略操作值都可以指定为 CLR 操作的超时行为。 有关有效值的这两种方法,请参阅主题的“注解”部分。
要求
平台:请参阅系统要求。
标头:MSCorEE.h
库:作为资源包含在 MSCorEE.dll 中
.NET Framework 版本:自 2.0 起可用