Поделиться через


Обзор выбора конфигурации USB в USB-драйверах

В разделах этого раздела описывается, как драйвер клиента должен настроить свое устройство.

USB-устройство предоставляет свои возможности в виде ряда интерфейсов, называемых конфигурацией USB. Каждый интерфейс состоит из одного или нескольких альтернативных параметров, а каждый альтернативный параметр состоит из набора конечных точек. Устройство должно предоставить по крайней мере одну конфигурацию, но она может предоставить несколько конфигураций, которые являются взаимоисключающими определениями того, что может сделать устройство. Дополнительные сведения о дескрипторах конфигурации см. в разделе "Дескрипторы конфигурации USB".

Конфигурация устройства относится к задачам, выполняемым драйвером клиента, для выбора конфигурации USB и альтернативного интерфейса в каждом интерфейсе. Перед отправкой запросов ввода-вывода на устройство драйвер клиента должен прочитать конфигурацию устройства, проанализировать сведения и выбрать соответствующую конфигурацию. Чтобы устройство работало, драйвер клиента должен выбрать по крайней мере одну из поддерживаемых конфигураций.

Драйвер клиента на основе WDM может выбрать любую из конфигураций на USB-устройстве.

Если клиентский драйвер основан на платформе драйвера в режиме ядра или среда выполнения платформы драйвера режима пользователя, следует использовать соответствующие интерфейсы платформы для настройки USB-устройства. Если вы используете USB-шаблоны, предоставляемые Microsoft Visual Studio Professional 2012, код шаблона выбирает первую конфигурацию и альтернативный параметр по умолчанию в каждом интерфейсе.

В этом разделе

Раздел Описание
Выбор конфигурации для USB-устройства В этом разделе вы узнаете, как выбрать конфигурацию на устройстве универсальной последовательной шины (USB).
Выбор альтернативного параметра в USB-интерфейсе В этом разделе описаны шаги по выдаче запроса на выборку интерфейса для активации альтернативного параметра в USB-интерфейсе. Драйвер клиента должен выдавать этот запрос после выбора конфигурации USB. Выбор конфигурации по умолчанию также активирует первый альтернативный параметр в каждом интерфейсе в этой конфигурации.
Настройка Usbccgp.sys для выбора конфигурации USB, отличной от по умолчанию В этом разделе содержатся сведения о параметрах реестра, которые настраивают способ Usbccgp.sys выбирает конфигурацию USB. В этом разделе также описывается, как Usbccgp.sys обрабатывает запросы на выборку конфигурации, отправленные клиентским драйвером, который управляет одной из функций составного устройства.

Дополнительные сведения о настройке устройств, требующих загрузки встроенного ПО, см. в разделе "Настройка USB-устройств, требующих загрузки встроенного ПО".

Ограничения для выбора конфигурации

Некоторые ограничения применяются, если драйвер клиента использует объекты WDF или имеет ли устройство один интерфейс или несколько интерфейсов. Прежде чем изменять конфигурацию по умолчанию, рассмотрите следующие ограничения:

  • Клиентский драйвер для составного устройства, который управляет интерфейсами или коллекциями интерфейсов с помощью USB Generic Parent Driver (Usbccgp.sys) не может изменить значение конфигурации устройства. Однако драйвер клиента может настроить Usbccgp.sys для выбора конфигурации, отличной от первой (по умолчанию). Дополнительные сведения см. в разделе "Настройка Usbccgp.sys для выбора конфигурации USB, отличной от по умолчанию".
  • Клиентский драйвер на основе KMDF, использующий целевые объекты USB-ввода-вывода платформы, может выбрать только первую конфигурацию.
  • WinUSB поддерживает только первую конфигурацию.
  • Драйвер класса часто не поддерживает несколько конфигураций. Если устройство реализует класс, определенный спецификацией класса USB, ознакомьтесь с веб-сайтом технологии USB для получения сведений о классах устройств и спецификациях классов. Корпорация Майкрософт предоставляет драйверы классов для поддерживаемых классов USB-устройств. Дополнительные сведения см. в разделе "Драйверы" для поддерживаемых классов USB-устройств.