首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从Windows内核驱动中获取设备实例路径?

如何从Windows内核驱动中获取设备实例路径?
EN

Stack Overflow用户
提问于 2017-06-27 17:09:41
回答 2查看 4K关注 0票数 2

看一下这个例子:Windows7中的一个USB设备被报告具有设备实例路径(DevinstPath)密钥,我确切地知道它对应于注册表中的所谓硬件密钥(Hwkey)。

现在我的问题是:当我的KMDF驱动程序代码有那个USB设备的WDFDEVICE句柄时,我怎么知道它的DevinstPath?

我知道我可以

发送一个BusQueryDeviceID来实现所谓的-id

  • BusQueryDeviceID
  • 发送一个BusQueryInstanceID来实现所谓的实例id 1

但是我不知道如何获得所谓的“实例路径”。某个内核专家能告诉我怎样才能做到这一点吗?

MSDN文档在这一点上似乎真的很模糊!

顺便说一下:我还意识到用户层函数SetupDiGetDeviceInstanceId实际上返回的是DevinstPath --尽管它被命名为"InstanceId“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-18 05:52:10

设备实例路径可以通过使用WdfDeviceAllocAndQueryPropertyExIoGetDevicePropertyData (传递WDM物理设备对象)使用DEVPKEY_Device_InstanceId,来查询。

票数 2
EN

Stack Overflow用户

发布于 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

enter image description here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44776328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档