IHostSemaphore::Wait 方法

使当前 IHostSemaphore 实例一直等待,直到拥有了该实例或经历了指定的时间量。

HRESULT Wait (
    [in] DWORD dwMilliseconds,
    [in] DWORD option
);

参数

  • dwMilliseconds
    [in] 当前的 IHostSemaphore 实例无所属时返回前要等待的毫秒数。

  • option
    [in] WAIT_OPTION 的值之一,指定操作阻塞时宿主应采取的操作。

返回值

HRESULT

说明

S_OK

Wait 已成功返回。

HOST_E_CLRNOTAVAILABLE

公共语言运行时 (CLR) 尚未加载到进程中或者处于无法运行托管代码或成功处理调用的状态。

HOST_E_TIMEOUT

调用超时。

HOST_E_NOT_OWNER

调用方不拥有锁。

HOST_E_ABANDONED

事件在被阻止的线程或纤程正在等待它时被取消。

E_FAIL

发生了未知的灾难性故障。 如果某方法返回 E_FAIL,CLR 便无法再在进程中使用。 对宿主方法的后续调用都将返回 HOST_E_CLRNOTAVAILABLE。

HOST_E_DEADLOCK

宿主在等待间隔期间检测到死锁,并选择当前的 IHostSemaphore 实例作为死锁失败方将其终止。

要求

**平台:**请参见 .NET Framework 系统要求

**头文件:**MSCorEE.h

**库:**作为一项资源包含在 MSCorEE.dll 中

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

请参见

参考

ICLRSyncManager 接口

IHostAutoEvent 接口

IHostManualEvent 接口

IHostSemaphore 接口

IHostSyncManager 接口