Перечисление интерфейсов на составных usb-устройствах

Интерфейсы на составном USB-устройстве могут быть сгруппированы в коллекции или представлять одну функцию USB по отдельности. Если интерфейсы не группируются в коллекции, универсальный родительский драйвер создает PDO для каждого интерфейса и создает набор идентификаторов оборудования для каждого PDO.

Идентификатор устройства для PDO интерфейса имеет следующую форму:

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

В этих идентификаторах:

  • v(4) — это четырехзначный код поставщика, который комитет по стандартам USB назначает поставщику.
  • p(4) — это четырехзначный код продукта, который поставщик назначает устройству.
  • z(2) — номер интерфейса, извлеченный из поля bInterfaceNumber дескриптора интерфейса.

Универсальный родительский драйвер также создает следующие совместимые идентификаторы, используя сведения из дескриптора интерфейса (USB_INTERFACE_DESCRIPTOR):

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

USB\CLASS_d(2)&SUBCLASS_s(2)

USB\CLASS_d(2)

В этих идентификаторах:

  • d(2) — код класса (bInterfaceClass)
  • s(2) — это код подкласса (bInterfaceSubClass)
  • p(2) — код протокола (bInterfaceProtocol)

Каждый из этих кодов является четырехзначным числом.

Перечисление коллекций интерфейсов на составных USB-устройствах
Универсальный родительский драйвер USB (Usbccgp.sys)
USB-драйверы, предоставляемые корпорацией Майкрософт