Принципы и рекомендации по проектированию DCH
На этой странице описываются принципы проектирования и рекомендации для пакетов драйверов, совместимых с DCH.
Принципы проектирования DCH
Существует три принципа проектирования, которые следует учитывать, чтобы пакет драйверов был совместим с DCH:
Декларативный (D): установите пакет драйвера, используя только декларативные директивы INF. Не включайте совместные установщики или функции RegisterDll.
Componentized (C): зависящие от выпуска, OEM и необязательные настройки пакета драйверов отделены от базового пакета драйверов. В результате базовый пакет драйверов, который предоставляет только основные функциональные возможности устройства, может быть целевым, тестируемым и обслуживаемый независимо от настроек.
Приложение поддержки оборудования (H): любой компонент пользовательского интерфейса, связанный с пакетом драйверов, должен быть упаковван в виде приложения поддержки оборудования (HSA) или предварительно установлен на oem-устройстве. HSA — это необязательное приложение для конкретного устройства, которое связано с пакетом драйверов. Приложение может быть универсальная платформа Windows (UWP) или приложением мост для классических приложений. Вы должны распространять и обновлять HSA через Microsoft Store. Дополнительные сведения см. в разделах Приложение поддержки оборудования (HSA): действия для разработчиков драйверов и Приложение поддержки оборудования (HSA): действия для разработчиков приложений.
Аббревиатура "DCH" относится к перечисленным выше принципам. Ознакомьтесь со страницей примеров пакета драйверов, совместимых с DCH , чтобы узнать, как пример драйвера может применять принципы проектирования DCH.
Общие сведения
Пакеты драйверов, совместимые с DCH, содержат INF-файл и двоичные файлы, которые устанавливаются и запускаются в выпусках Windows на основе универсальная платформа Windows (UWP). Они также устанавливаются и запускаются в других выпусках Windows 10 и 11 с общим набором интерфейсов.
Двоичные файлы драйверов, совместимых с DCH, могут использовать KMDF, UMDF 2 или модель драйвера Windows (WDM).
Пакеты драйверов, совместимые с DCH, состоят из следующих частей:
- Базовый пакет драйверов
- Необязательные пакеты компонентов
- Необязательное приложение поддержки оборудования
Базовый пакет драйверов содержит все основные функции и общий код. Необязательные пакеты компонентов могут содержать настройки и дополнительные параметры.
Как правило, изготовитель устройства или независимый поставщик оборудования (IHV) записывает базовый пакет драйверов. Затем построитель систем или изготовитель исходного оборудования (OEM) предоставляет любые дополнительные пакеты компонентов.
После того как IHV сертифицировал базовый пакет драйверов, его можно развернуть во всех системах OEM. Так как базовый пакет драйверов можно использовать во всех системах, которые совместно используют аппаратные компоненты, корпорация Майкрософт может протестировать базовый пакет драйверов в широком смысле с помощью программы предварительной оценки Windows, а не ограничивать распространение определенными компьютерами.
Изготовитель оборудования проверяет только необязательные настройки, которые он предоставляет для системы 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.