【问题标题】:winapi: Which driver will be used for my USB device (which may not be connected)?winapi:哪个驱动程序将用于我的 USB 设备(可能未连接)?
【发布时间】:2017-05-03 12:59:13
【问题描述】:

为了收集诊断信息,我想包括哪个驱动程序将用于特定设备,即使该设备未连接。

相关的驱动程序详细信息将是提供程序和版本。
对于设备,供应商 ID 和产品 ID 是已知的。

驱动程序已预先安装,但之前可能没有连接过该类型的设备。


[编辑] 目的是解决安装问题。通常,驱动程序会与软件安装一起预装。

但是,由于我无法控制的不良用户体验,一个第 3 方驱动程序安装特别容易被卸载,并且一些客户在尝试修复某些东西时会变得“创造性”,而一些客户的语言障碍太高了。我只想让支持人员可靠地看到“哦,无论出于何种原因,他们都安装了旧驱动程序。

【问题讨论】:

  • 如果我理解正确,您想在用户的计算机上运行一个诊断程序,它会告诉您有关设备将使用什么驱动程序的一些信息,并且您希望它在设备未插入时工作在?这样做的目的是解决用户在使用设备时可能遇到的任何问题?
  • 是的,它用于诊断 - 我已经用详细信息更新了问题

标签: windows usb


【解决方案1】:

我认为您应该调查HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB 中的注册表项。通常,之前插入计算机的每个不同的 USB 设备都会有一个条目。这些条目有一个带有 GUID 的“驱动程序”条目,您可能可以通过在注册表的其他部分搜索它来找出该 GUID 的含义。

如果设备从未插入,那么您可能希望使用 Microsoft 的 devcon 实用程序(它是开源的)列出所有已安装的 OEM 驱动程序包(INF 文件)。然后,您可以打开 INF 文件,阅读它们,看看它们是否适用于您的设备。

【讨论】:

  • 为什么投反对票?我仍然认为 Microsoft 的 devcon 实用程序(它是开源的)是开始检查系统上的驱动程序包的好地方,而注册表是查看真正使用的驱动程序的好地方。
猜你喜欢
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-13
相关资源
最近更新 更多