Обзор разработки драйверов Windows для соединителей USB Type-C

Необходимо написать драйвер для соединителя, если система USB Type-C не реализует конечный автомат PD или реализует конечный компьютер, но не поддерживает UCSI через транспорт без ACPI. Если это так, вы можете загрузить предоставленный Корпорацией Майкрософт драйвер UCSI.

Блок-схема, показывающая процесс принятия решений для реализации драйвера клиента UcmTcpciCx.

Предлагаемые решения

В следующей таблице приведены рекомендации по решениям на основе возможностей оборудования или встроенного ПО.

Возможности оборудования и встроенного ПО Неотсоединяемый Карта надстройки
Соединитель USB Type-C не имеет конечного автомата PD. Напишите драйвер клиента в UcmTcpciCx.

Начните с драйвера клиента контроллера порта UcmTcpciCx
Напишите драйвер клиента в UcmCx.

Начните с примера UcmCx.
Соединитель совместим с UCSI и ACPI. Загрузите встроенный драйвер, UcmUcsiCx.sys и UcmUcsiAcpiClient. См . раздел Драйвер системного программного интерфейса (UCSI) соединителя USB Type-C. Н/Д
Соединитель совместим с UCSI без ACPI. Напишите драйвер клиента в UcmUcsiCx. Дополнительные сведения см. в статье Написание драйвера клиента UCSI.

Начните с примера UcmCx и замените части ACPI своей реализацией для требуемой шины.
Напишите драйвер клиента в UcmCx.
Имеет конечный автомат PD, но не соответствует UCSI. Напишите драйвер клиента в UcmCx.

Начните с примера UcmCx.
Запись драйвера клиента в UcmCx

Начните с примера UcmCx.

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

Чтобы реализовать решения, предложенные в предыдущей таблице, ознакомьтесь со следующими статьями:

Раздел Описание
Архитектура: проектирование USB Type-C для системы Windows Описывает типичную аппаратную конструкцию системы USB Type-C и драйверы, предоставляемые корпорацией Майкрософт, которые поддерживают аппаратные компоненты.
Вызов функционального контроллера в системе WINDOWS USB Type-C Драйвер для контроллера функций информирует операционную систему об уровнях зарядки, поддерживаемых его разъемом USB Type-C, и уведомляет подсистему батареи, когда она может начать зарядку и максимальный объем текущего времени, который устройство может рисовать.
Создание контроллера с двойной ролью для системы Windows USB Type-C Драйверы ролей USB (URS) — это набор расширения класса WDF и клиентского драйвера, который обрабатывает возможность переключения ролей контроллера с двумя ролями. Если в системе есть контроллер с двумя ролями, можно переключить роль системы в зависимости от устройства, подключенного к порту партнера соединителя USB-C системы. Это позволяет использовать интересные сценарии, такие как проводная стыковка.
Запись драйвера соединителя USB Type-C Описывает диспетчер USB-соединителей (UCM), который управляет соединителем USB Type-C и ожидаемым поведением драйвера соединителя.
Запись драйвера контроллера порта USB Type-C Описывается, как написать драйвер контроллера порта USB Type-C, который взаимодействует с соединителем USB Type-C без конечного компьютера PD.
Написание драйвера клиента UCSI Описывает, как написать драйвер для контроллера, совместимого с UCSI, который использует транспорт без ACPI.
Запись драйвера клиента диспетчера политик USB Type-C Предоставленный корпорацией Майкрософт диспетчер политик USB Type-C отслеживает действия соединителей USB Type-C. В Windows версии 1809 представлен набор программных интерфейсов, которые можно использовать для записи драйвера клиента в диспетчер политик. Драйвер клиента может участвовать в принятии решений политики для соединителей USB Type-C. С помощью этого набора можно написать драйвер экспорта в режиме ядра или драйвер пользовательского режима.

См. также раздел