CM_WaitNoPendingInstallEvents 函数 (cfgmgr32.h)

CMP_WaitNoPendingInstallEvents (CM_WaitNoPendingInstallEvents) 函数将等待,直到没有挂起的设备安装活动可供 PnP 管理器执行。

语法

DWORD CM_WaitNoPendingInstallEvents(
  [in] DWORD dwTimeout
);

参数

[in] dwTimeout

指定超时间隔(以毫秒为单位)。

  • 如果 dwTimeout 设置为零,则函数将测试是否存在挂起的安装事件并立即返回 。
  • 如果 dwTimeout 设置为 Winbase.h) 中定义的 INFINITE (,则函数的超时间隔永远不会经过。
  • 对于所有其他 dwTimeout 值,函数在指定的间隔过后返回,即使仍有挂起的安装事件也是如此。

返回值

函数返回 winbase.h) 中定义的以下值 (之一:

返回代码 说明
WAIT_OBJECT_0
没有挂起的安装活动。
WAIT_TIMEOUT
超时间隔已过,安装活动仍处于挂起状态。
WAIT_FAILED
函数失败。 调用 GetLastError 以获取其他错误信息。

注解

函数等待内部事件对象,PnP 管理器在确定没有挂起的安装活动时设置该事件对象。

如果指定了非零超时值,则 CMP_WaitNoPendingInstallEvents 在没有挂起的安装事件或超时期限已过期(以先到者为准)时返回。

可以随时发生新的安装事件。 此函数仅指示调用它时没有挂起的安装活动。

此函数通常由 设备安装应用程序使用。 有关详细信息,请参阅 编写设备安装应用程序

在处理系统启动的回调函数内预计在短时间内返回的任何事件时,请勿调用此函数。 这包括服务启动 (例如,在 ServiceMain 回调函数) 或处理服务处理程序 ((例如, 处理程序 回调函数) )中的任何控件时,或者从类安装程序或共同安装程序等安装组件中处理任何控件。

对于未) 安装 Service Pack 的 Windows XP (,必须使用管理员权限从 会话 0 调用此函数。 对于具有 Service Pack 1 的 Windows XP (SP1) 及更高版本的 Windows,可以从任何会话调用函数,并且不需要管理员权限。

要求

要求
最低受支持的客户端 在 Windows XP 和更高版本的 Windows 中可用。
目标平台 桌面
标头 cfgmgr32.h (包括 Cfgmgr32.h)
Library Cfgmgr32.lib
DLL Cfgmgr32.dll

另请参阅

CM_WaitNoPendingInstallEvents

设备安装应用程序如何检查正在进行的设备安装