查找给定物理设备对象名称的设备

Jas*_*n C 13 windows-7 device-manager

我有一个物理设备对象名称,例如“\Device\0000007c”。

在 Windows 7 中,如何找到与该 ID 对应的设备,而不是在设备管理器中一次一个地浏览系统中的每个设备,打开属性对话框并查看物理设备对象名称条目?

在 Windows 中找到了基于物理设备对象 (PDO) 标识符的 Find device,但结果证明这是一个 XY 问题,并没有回答这个问题。

我尝试在注册表(键/值/数据)中搜索字符串“0000007c”、“0000007C”和双字 0x0000007C,但找不到与设备相关的任何内容。

在较旧的 Windows 中,您可以从设备管理器(然后我可以搜索)打印完整报告,但在 Windows 7 中,设备管理器不再具有此选项。

and*_*415 12

解决方案

来自官方文档:

当总线驱动程序检测到子设备已插入或拔出时,它会通知即插即用 (PnP) 管理器。作为响应,PnP 管理器要求总线驱动程序为连接到父设备(即总线)的每个子设备创建一个物理设备对象 (PDO)。

资料来源:WDF 驱动程序的 WDM 概念

要获取所需信息,请打开命令提示符并运行以下命令:

wmic path Win32_PnPSignedDriver where "pdo like '%0000007c'" get devicename,pdo
Run Code Online (Sandbox Code Playgroud)

进一步阅读