gpt4 book ai didi

c++ - 使用 SetupAPI 找出事件的图形驱动程序

转载 作者:行者123 更新时间:2023-11-30 05:02:37 29 4
gpt4 key购买 nike

我尝试使用 C++ 和 SetupAPI 找出 Windows 上当前事件图形驱动程序的版本。解决方案大致看起来像

  1. GUID_DEVCLASS_DISPLAY 调用 SetupDiGetClassDevs
  2. 为结果集调用SetupDiBuildDriverInfoList
  3. 为使用 SPDIT_COMPATDRIVER 设置的设备调用 SetupDiEnumDriverInfo,这会为我提供与 GPU 兼容的所有已知驱动程序。

结果包括来自 Microsoft 的后备驱动程序,我可以很容易地将其排除在外,但它还包括系统上已安装的所有驱动程序版本(来自 NVIDIA)。

问题是:我如何找出实际运行的驱动程序?

我从第 1 步返回的 SP_DEVINFO_DATA 知道驱动程序服务是如何调用的,我也得到了某种注册表项,但我不知道如何将它与 联系起来SP_DRVINFO_DATA。我也知道 NVAPI 提供驱动程序管理功能,但我更喜欢适用于各种供应商的 GPU 的解决方案。

最佳答案

仅供引用,您还可以通过 SetupDiGetDeviceRegistryProperty 查询 SPDRP_DRIVER,然后在 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\下查找该注册表值。该 key 包含所有驱动程序信息。 Here是一些来自 WebKit 的示例代码,它们实际上以这种方式检索 GPU 信息。

关于c++ - 使用 SetupAPI 找出事件的图形驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49796791/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com