如 USB 规范所述,每个 USB 设备都提供一组用于定义其功能的分层描述符。 在顶层,每个设备都有一个或多个 USB 配置描述符,每个描述符都有一个或多个接口描述符。 有关 USB 配置描述符的详细信息,请参阅 USB 配置描述符。 配置互斥,因此一次只能选择一个配置来运行。
在 Windows Vista 之前,Microsoft提供的驱动程序仅选择配置 1。 在 Windows Vista 和更高版本的 Windows 中,可以设置注册表值来指定 USB 通用父驱动程序(Usbccgp.sys) 将使用的配置。 有关在复合设备上选择设备配置的详细信息,请参阅 如何为 USB 设备选择配置。
在配置中,接口和接口集合是独立管理的。 在描述符级别,每个接口由其USB_INTERFACE_DESCRIPTOR结构中的bInterfaceNumber成员中的唯一值表示。
接口的函数由同一结构的 bInterfaceClass、 bInterfaceSubClass 和 bInterfaceProtocol 成员以及可能遵循它的特定于类的描述符指示。
有关描述符的详细信息,请参阅 USB 描述符。