体系结构:USB 设备模拟 (UDE)

本节介绍模拟 USB 主控制器和已连接设备行为的 USB 设备仿真 (UDE) 的体系结构。 通过使用 UDE,非 USB 硬件可以使用 Windows 中的 USB 主机端驱动程序与上层通信。

UDE 驱动程序

usb 设备仿真 (ude) 。

在上图中,

  • USB 集线器驱动程序 (Usbhub3.sys) 是 KMDF 驱动程序。 集线器驱动程序负责管理 USB 集线器及其端口、枚举和创建物理设备对象, (PDO) USB 设备和可能连接到其下游端口的其他集线器。
  • USB 主机控制器扩展 (Ucx01000.sys) 是堆栈中上述集线器驱动程序的抽象层,提供一种通用机制,用于将请求排队到基础主机控制器驱动程序。
  • UdeCx) (UDE 类扩展通过客户端实现的回调函数调用到 UDE 客户端驱动程序。 类扩展为客户端驱动程序提供例程,用于创建和管理 UDE 对象。
  • UDE 客户端驱动程序 管理硬件,与 WDF 和 UDE API 交互。 上边缘使用 USB 构造与 WDF 和 UDE 类扩展通信。 其下边缘使用硬件的接口与硬件通信。
  • 自定义硬件:例如,可以模拟 PCI 硬件以用作 USB 设备。

UDE 设备节点

下面是为 UDE 客户端驱动程序加载的设备堆栈:

usb 设备仿真 () 设备节点。