我正在开发一个连接到 USB 大容量存储设备的 WDM 过滤器驱动程序。我需要能够浏览父设备和祖设备链(即集线器)并检查供应商和产品 ID。
使用 IoGetDeviceAttachmentBaseRef(),我可以访问大容量存储设备的 PDO,但我已经触及 USB 大容量存储设备堆栈的底部。所以现在我需要访问父 USB 集线器堆栈,但我不确定如何做到这一点。
如果您遍历大容量存储设备的 PDO 中的 NextDevice 列表,您可以看到列出的集线器的 PDO,但这样做并不能告诉我集线器是大容量存储设备的父/祖父。