Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На этой странице описываются принципы проектирования и рекомендации по пакетам драйверов, совместимых с DCH.
Принципы проектирования DCH
Существует три принципа проектирования, которые следует учитывать для пакета драйверов, совместимых с DCH:
Декларативный (D): установите пакет драйвера с помощью только декларативных директив INF. Не включайте сопутствующих установщиков или функции RegisterDll.
Компонентизованный (C): специальные выпуски, oem-specific и необязательные настройки пакета драйверов отделены от базового пакета драйвера. В результате базовый пакет драйвера, предоставляющий только основные функциональные возможности устройства, может быть нацелен, перенацелован и обслуживаться независимо от настроек.
Приложение поддержки оборудования (H): любой компонент пользовательского интерфейса, связанный с пакетом драйвера, должен быть упакован в виде приложения поддержки оборудования (ППО) или предварительно установлен на устройстве OEM. HSA — это необязательное приложение для конкретного устройства, которое связано с пакетом драйвера. Приложение может быть универсальным приложением платформы Windows (UWP) или классическим приложением Bridge. Необходимо распространить и обновить HSA через Microsoft Store. Дополнительные сведения см. в разделе "Приложение поддержки оборудования" (HSA): шаги для разработчиков драйверов и приложения поддержки оборудования (HSA): шаги для разработчиков приложений.
Акроним DCH относится к принципам, перечисленным выше. Ознакомьтесь со страницей "Пример пакета драйвераDCH-Compliant" , чтобы узнать, как пример драйвера может применять принципы проектирования DCH.
Обзор
Пакеты драйверов, совместимые с DCH, содержат INF-файл и двоичные файлы, которые устанавливаются и запускаются на выпусках Windows, основанных на универсальной платформе Windows (UWP). Они также устанавливают и запускаются в других выпусках Windows 10 и 11, которые используют общий набор интерфейсов.
Двоичные файлы драйверов, совместимых с DCH, могут использовать KMDF, UMDF 2 или модель драйвера Windows (WDM).
Пакеты драйверов, совместимые с DCH, состоят из следующих частей:
- Базовый пакет драйвера
- Необязательные пакеты компонентов
- Необязательное приложение поддержки оборудования
Базовый пакет драйверов содержит все основные функции и общий код. Необязательные пакеты компонентов могут содержать настройки и дополнительные параметры.
Как правило, изготовитель устройства или независимый поставщик оборудования (IHV) записывает базовый пакет драйвера. Затем, системный построитель или изготовитель исходного оборудования (OEM), предоставляет любые необязательные пакеты компонентов.
После сертификации базового пакета драйвера IHV его можно развернуть во всех системах OEM. Так как базовый пакет драйверов можно использовать во всех системах, которые совместно используют аппаратные части, корпорация Майкрософт может протестировать базовый пакет драйверов широко с помощью тестов программы предварительной оценки Windows, а не ограничить распределение на определенных компьютерах.
OEM проверяет только необязательные настройки, которые он предоставляет для системы OEM.
Требования
Чтобы создать пакет драйвера, который соответствует принципам проектирования DCH, выполните следующие действия.
- Создайте INF-файл для пакета драйвера:
- Просмотрите список разделов INF и директив, допустимых в пакетах универсальных драйверов.
- Используйте средство InfVerif , чтобы убедиться, что INF-файл пакета драйвера соответствует декларативным требованиям (D). Он должен пройти
infverif /k
.
- Убедитесь, что все необязательные пакеты компонентов, не содержащие основные функциональные возможности драйвера, отделены от базового пакета драйвера.
- Приложения поддержки оборудования, связанные с пакетом драйвера, должны распространяться через Microsoft Store.
Лучшие практики
Если вы используете комплект драйверов Windows (WDK) с последней доступной версией Visual Studio, задайте для свойства
Universal
проекта драйвера значение целевой платформы. Это автоматически добавляет правильные библиотеки и выполняет правильную проверку INF и ApiValidator в рамках сборки. Для этого выполните указанные ниже действия.- Откройте свойства проекта драйвера.
- Выберите параметры драйвера.
- Используйте раскрывающееся меню, чтобы установить целевую платформу в
Universal
.
Если ваш INF выполняет какие-либо пользовательские действия установки, зависящие от целевой платформы, рассмотрите возможность их выделения в отдельное расширение INF. Расширение INF можно обновить независимо от базового пакета драйверов, чтобы сделать его более надежным и обслуживаемым. Дополнительные сведения см. в разделе "Использование INF-файла расширения".
Если вы хотите предоставить приложение, которое работает с устройством, включите приложение поддержки оборудования. Дополнительные сведения см. в разделе "Приложение поддержки оборудования" (HSA): действия для разработчиков драйверов. Изготовитель оборудования может предварительно загрузить такое приложение с помощью DISM — обслуживание образов развертывания и управление ими. Кроме того, пользователи могут вручную скачать приложение из Microsoft Store.