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 尚未加载到进程中或者处于无法运行托管代码或成功处理调用的状态。 |
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 操作的超时行为。请参见这两个方法相关主题的备注部分,以了解相关的有效值。 |
要求
**平台:**请参见 .NET Framework 系统要求。
**头文件:**MSCorEE.h
**库:**作为一项资源包含在 MSCorEE.dll 中
**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0