ISynchronizeContainer::WaitMultiple 方法 (objidlbase.h)

等待容器中的任何同步对象收到信号,或等待指定的超时期限过,以先到者为准。

语法

HRESULT WaitMultiple(
  [in]  DWORD        dwFlags,
  [in]  DWORD        dwTimeOut,
  [out] ISynchronize **ppSync
);

参数

[in] dwFlags

等待选项。 可能的值取自 COWAIT_FLAGS 枚举。 COWAIT_WAITALL不是此方法的有效设置。

[in] dwTimeOut

此调用在返回之前等待的时间(以毫秒为单位)。 如果此参数为 INFINITE,则调用方将等待同步对象发出信号,无论它需要多长时间。 如果此参数为 0,该方法将立即返回。

[out] ppSync

指向已发出信号的同步对象上的 ISynchronize 接口指针的指针。 此参数不能为 NULL

返回值

此方法可以返回标准返回值E_INVALIDARG、E_OUTOFMEMORY和E_FAIL,以及以下值。

返回代码 说明
S_OK
同步对象已发出信号。
RPC_E_TIMEOUT
向同步对象发出信号之前经过的超时期限。
RPC_E_NO_SYNC
容器中没有同步对象。

注解

如果调用方在单线程单元中等待, 则 WaitMultiple 将进入 COM 模式循环。 如果调用方正在多线程单元中等待,则会阻止调用方,直到 WaitMultiple 返回。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 objidlbase.h (包括 ObjIdl.h)

另请参阅

CoWaitForMultipleHandles

ISynchronizeContainer