枚举 USB 复合设备上的接口

复合 USB 设备上的接口可以分组到集合中,也可以单独表示一个 USB 函数。 当接口未分组到集合中时,泛型父驱动程序会为每个接口创建一个 PDO,并为每个 PDO 生成一组硬件 ID。

接口 PDO 的设备 ID 采用以下形式:

USB\VID_v(4)&PID_p(4)&MI_z(2)

在这些 ID 中:

  • v (4) 是 USB 标准委员会分配给供应商的四位数供应商代码。
  • p (4) 是供应商分配给设备的四位数产品代码。
  • z (2) 是从接口描述符的 bInterfaceNumber 字段中提取的接口号。

泛型父驱动程序还通过使用接口描述符 (USB_INTERFACE_DESCRIPTOR) 中 的信息生成以下兼容 ID:

USB\CLASS_d(2)&SUBCLASS_s(2)&PROT_p(2)

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

在这些 ID 中:

  • d (2) bInterfaceClass) (类代码
  • s (2) bInterfaceSubClass) (子类代码
  • p (2) bInterfaceProtocol) (协议代码

其中每个代码都是一个四位数的数字。

枚举 USB 复合设备上的接口集合
USB 常规父驱动程序 (Usbccgp.sys)
Microsoft 提供的 USB 驱动程序