我最近开始研究 Windows 管理其驱动程序的方式,并发现了设备树和堆栈。我很好奇是否有办法获取有关我的系统的这些信息。我正在运行 Windows 10。
澄清一下,如果我能得到整个设备树,那就太理想了。这意味着它应该从根开始,一直到物理设备。 例如来自 Windows 驱动程序文档
但是,即使这是不可能的,我仍然可以查看子树(可能基于网络、USB 等组件),这也可以起作用。
越详细越好。
如果我能获得设备相关的驱动程序(和版本)
了解设备堆栈中哪些设备在一起(功能 DO、过滤器 DO 和 PDO)
我的最终目标是看看我是否可以将驱动程序组合在一起。我想如果已经有一个设备树,可能会尝试使用它。
谢谢!
答案1
旧版本的 Windows 驱动程序工具包包含 OSR 的“设备树”实用程序,David Postill 提供了链接。它声称无法在 Windows 10 上运行,而且我看到它使一些据称支持的 Windows 操作系统崩溃。如果您想尝试一下,我会在 Windows 8 或更早版本上进行,最好是在没有运行任何不能容忍崩溃的系统上进行。但它应该会给你一些见解。
https://www.osronline.com/article.cfm?article=97
(根据评论添加)除此之外,WinDbg 始终处于“实时”内核调试模式。它不会为您提供漂亮的 DevStacks 树形结构视图,但至少可以显示每个 DevStack 中的所有设备对象、每个设备对象所属的驱动程序等。