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

2024-03-28

看一下这个示例:Windows 7 中的 USB 设备据报告具有设备实例路径(DevinstPath)USB\VID_1EAB&PID_0501\7&25C389C1&0&1我确切地知道它对应于注册表中所谓的硬件密钥(hwkey)。

现在我的问题是:当我的 KMDF 驱动程序代码具有该 USB 设备的 WDFDEVICE 句柄时,我如何知道其 DevinstPath?

我知道我可以

  • send a 总线查询设备ID实现所谓的device-idUSB\VID_1EAB&PID_0501;
  • send a 总线查询实例ID达到所谓的instance-id1 .

但我不知道如何获得所谓的“实例路径”。一些内核专家可以告诉我如何得到它吗?

MSDN 文档对此似乎很模糊!

BTW:我也意识到用户层功能设置DiGetDeviceInstanceId实际上返回 DevinstPath——尽管它被命名为“InstanceId”。


可以使用以下方式查询设备实例路径DEVPKEY_设备_实例Id,使用任一WdfDeviceAllocAndQueryPropertyEx or IoGetDevicePropertyData(传递WDM物理设备对象)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从Windows内核驱动程序获取设备实例路径? 的相关文章

  • DataGridView.SelectedCells 中的单元格顺序?

    我想知道 DataGridView SelectedCells 中单元格的顺序是什么 我假设 SelectedCells 0 应返回第一个单元格 最左上角 而 SelectedCells Count 1 应返回最后一个单元格 最右下角 但奇
  • Python 3.6+:嵌套多处理管理器导致 FileNotFoundError

    所以我尝试在字典的字典上使用多处理管理器 这是我最初的尝试 from multiprocessing import Process Manager def task stat test z 1 test y Y0 5 if name mai
  • Mysql 覆盖 vs 复合 vs 列索引

    在下面的查询中 SELECT col1 col2 FROM table1 WHERE col3 value1 AND col4 value2 如果我有 2 个单独的索引 其中一个位于col3另一个在col4 此查询中将使用其中哪一个 我在某
  • 哪些编译器支持 std::filesystem?

    感谢 C 11 在与 boost 长期相处之后 最后一个让我依赖它的组件是文件系统 根据链接 std filesystem 似乎是作为实验实现的 文件系统库 http en cppreference com w cpp experiment
  • 使用 freemarker 重新定位光标

    我正在使用免费标记和java 我必须将结果输出到txt 文件中 假设我必须打印 3 列 A B C 在类似的模式中 所有三个属性均为字符串 条件是 如果引用 A 的字符串长度超过 3 则应在下一行打印 也就是说 如果长度为 8 则前 3 个
  • php.ini - 设置 upload_tmp_dir

    我有一个允许用户上传照片的页面 我认为相当标准的 php 这适用于我迄今为止一直使用的实时服务器 但我最近在我的 Mac 上设置了 php 现在上传已停止工作 我猜这是因为 php ini 文件中的 upload tmp dir 没有正确设
  • 计算每行内字段的累积和

    免责声明 我是新手 我一直在广泛寻找问题的答案 但没有成功 如果我没有找到关于此的帖子 请向我推荐 我一直在尝试使用 awk 计算相当大的数据文件的每一行中每个字段的累积和 任何帮助将非常感激 我的文件包含数十万行 其中行的长度 字段数量
  • 在特定时间运行命令

    我正在尝试在特定时间运行命令 我看过 at 命令 但我不知道如何让它工作 这就是我所做的 at 1843 Enter php run this script php Ctrl D 但如何在 bash 脚本中执行此操作呢 我的意思是 我需要按
  • 从 apache 到 IIS 的反向代理总是失败并显示 404

    我正在尝试设置从 apache 到 IIS 7 服务器的反向代理 我已经设置了非常基本的代理规则
  • 如何在 iPhone Web 应用程序中将方向锁定为纵向模式?

    我正在构建 iPhone Web 应用程序 并希望将方向锁定为纵向模式 这可能吗 有没有任何网络工具包扩展可以做到这一点 请注意 这是一个用 HTML 和 JavaScript 编写的适用于 Mobile Safari 的应用程序 而不是用
  • 如何将变量设为特征的私有变量?

    我想在一个类中多次重用某个功能 此功能依赖于私有变量 trait Address private address public function getAddress return this gt address public functi
  • ASP/ASP.NET 短标签的名称

    有没有一个特定的名字 Scott Gu 将这些称为 代码块 这就是我的看法 http weblogs asp net scottgu archive 2010 04 06 new lt gt syntax for html encoding
  • CSS float 将带有换行文本的 div 折叠到所需的最小值

    示例图片 And the 代码位于 JSBIN http jsbin com ucamOW 1 情况是 我正在尝试创建一个带有标签的复选框列表 每个复选框旁边都有一个 信息图标 这个想法是 如果您单击标签 它将触发复选框 正如它应该的那样
  • 出现故事板之前的选项卡栏项目标题

    我的应用程序从一个有 5 个选项卡的选项卡栏控制器开始 一开始 第一个出现了它的名字 但其他四个没有名字 直到我点击它们 然后根据用户使用的语言显示名称 如何在选项卡栏出现之前设置选项卡的名称 我正在使用故事板 当所有其余的事情都通过情节提

随机推荐