【发布时间】:2014-03-18 03:05:23
【问题描述】:
有没有办法通过使用 Windows c/c++ API(例如 PnP 配置管理器 API)来获取设备的 PCI 坐标(总线/插槽/功能编号)?我已经知道如何在内核模式下做到这一点,我需要一个用户模式的解决方案。我的目标系统是 Windows XP-32 位。
【问题讨论】:
-
我自己没有使用过它(因此是评论而不是答案),但您可以查看Function Discovery API。它允许您发现 PnP 设备等。啊等等,刚刚读到你正在寻找 WinXP... 功能发现只是 Vista+。
-
正确。此外,Vista 扩展了 SetupAPI 函数集。事实上,有一个非基于注册表的“SetupDiGetDeviceRegistryProperty”版本,可以直接从内核数据库中检索属性。但幸运的是,对于我而言,XP 的基于注册表的版本就足够了。
标签: winapi windows-xp pci wdk pci-bus