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