看一下这个例子:Windows7中的一个USB设备被报告具有设备实例路径(DevinstPath)密钥,我确切地知道它对应于注册表中的所谓硬件密钥(Hwkey)。
现在我的问题是:当我的KMDF驱动程序代码有那个USB设备的WDFDEVICE句柄时,我怎么知道它的DevinstPath?
我知道我可以
发送一个BusQueryDeviceID来实现所谓的-id
但是我不知道如何获得所谓的“实例路径”。某个内核专家能告诉我怎样才能做到这一点吗?
MSDN文档在这一点上似乎真的很模糊!
顺便说一下:我还意识到用户层函数SetupDiGetDeviceInstanceId实际上返回的是DevinstPath --尽管它被命名为"InstanceId“。
发布于 2018-08-18 05:52:10
设备实例路径可以通过使用WdfDeviceAllocAndQueryPropertyEx
或IoGetDevicePropertyData
(传递WDM物理设备对象)使用DEVPKEY_Device_InstanceId,来查询。
发布于 2018-12-01 13:31:31
设备实例id是自动递增序列。您可以在注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
;规则:NextPareneID.XXXXXXXX.N XXXXXX使用UUID计算随机数值(测试ok) N是1~9设备实例id格式是N&PareneID& crc32‘s number&index
https://stackoverflow.com/questions/44776328
复制相似问题