首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有方法检测Windows是否正在安装设备驱动程序?

是否有方法检测Windows是否正在安装设备驱动程序?
EN

Stack Overflow用户
提问于 2016-10-12 16:31:27
回答 1查看 622关注 0票数 8

的情况:,我们有一个软件套件,可以与我们内部构建的设备交互。该设备使用WinUSB进行通信,除非在固件更新期间处于引导模式。在引导模式下,设备使用不同的VendorID和ProductID,并使用HID进行通信。

的问题:更新固件,我们通过发送命令告诉设备进入引导模式。该设备使用新的VID和PID重新枚举。当更新新机器上的固件时,新机器上还没有连接过启动模式的设备,当引导加载程序出现时,Windows会跳“安装驱动程序”。(没有需要安装的驱动程序)。软件获得一个设备附加事件,所以我们开始固件更新。一旦Windows完成驱动程序的“安装”,它就会取消枚举并重新枚举设备,在更新过程中关闭我们的文件句柄。

的问题:是否有一种方法来检测是否正在安装驱动程序,以便我们可以在开始更新之前等待设备重新枚举?在我们的安装中有什么可以做的来抢占这种行为吗?也许是一种告诉Windows我们不希望在连接到设备时允许安装驱动程序的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-24 19:35:05

也许是一种告诉Windows我们不希望在连接到设备时允许安装驱动程序的方法?

微软的开发人员网络有一个关于硬件开发的部分。他们有一篇文章特别是关于这个问题。重要的是,该文档指出,您的设备安装应用程序应该“在执行其安装之前确定其他安装活动是否正在进行”(重点是地雷),如果找到挂起的安装,则“应该退出”。

语句的最后一部分似乎表明Microsoft优先考虑已经安装或挂起的设备应用程序安装。

如果您的问题陈述是准确的:

当更新新机器上的固件时,新机器上还没有连接过启动模式的设备,当引导加载程序出现时,Windows会跳“安装驱动程序”。

听起来你可能是运气不好--或者打破了惯例--试图抢先驱动程序的安装行为。

我会利用上面提到的CMP_WaitNoPendingInstallEvents 函数,然后固件更新您的设备。我认为VID/PID与此无关,这取决于固件更新代码的运行位置。它看起来像Online 有同样的问题,并且具有相同的优先级(驱动程序安装)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40003779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档