Принципы и рекомендации по проектированию ДЧ

на этой странице описываются принципы разработки и рекомендации для Windows драйверов.

Принципы проектирования ДЧ

существует три принципа проектирования, которые следует учитывать для того, чтобы Windows драйвер был совместим с дч:

Аббревиатура "ДЧ" относится к описанным выше принципам. Сведения о том, как пример драйвера может применить ДЧ принципы, см. на странице примера пакета драйверов, совместимого с ДЧ .

Обзор

пакеты драйверов, совместимые с дч, содержат INF-файл и двоичные файлы, которые устанавливаются и запускаются в выпусках Windows 10 на основе универсальная платформа Windows (UWP). они также устанавливаются и запускаются в других выпусках Windows 10, совместно использующих общий набор интерфейсов.

совместимые с дч двоичные файлы драйверов могут использовать кмдф, UMDF 2или WDM (WDM).

Драйверы, совместимые с ДЧ, состоят из следующих частей:

  • Базовый драйвер
  • Пакеты дополнительных компонентов
  • Дополнительное приложение поддержки оборудования

Базовый драйвер содержит все основные функциональные возможности и общий код. Пакеты дополнительных компонентов могут содержать настройки и дополнительные параметры.

Как правило, изготовитель устройства или независимый поставщик оборудования (IHV) записывает базовый драйвер. Затем, сборщик систем или изготовитель оборудования (OEM) предоставляет любые пакеты дополнительных компонентов.

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

Поставщик вычислительной техники проверяет только необязательные настройки, предоставляемые для OEM-системы.

Требования

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

  • Создайте INF-файл для драйвера:
    1. изучите список разделов INF и директив, допустимых в Windows пакетах драйверов.
    2. используйте средство инфвериф , чтобы убедиться, что INF-файл пакета драйверов соответствует декларативным требованиям (D) для драйверов Windows. Он должен пройти infverif /w .
  • Убедитесь, что все необязательные пакеты компонентов, которые не содержат основных функций драйвера, отделены от базового пакета драйверов.
  • Приложения поддержки оборудования, связанные с пакетом драйверов, должны распространяться с помощью Microsoft Store.

Рекомендации

  • если вы используете Windows Driver Kit (WDK) версии 2004 с последним доступным Visual Studio, задайте значение целевой платформы в свойствах проекта драйвера равным . При этом автоматически добавляются правильные библиотеки, а также выполняется соответствующая проверка INF-файла и Апивалидатор в составе сборки. Для этого выполните следующие действия.

    1. Откройте окно свойств проекта драйвера.
    2. выберите Параметры драйверов.
    3. Используйте раскрывающееся меню, чтобы задать целевую платформу .
  • Если ваш INF-файл выполняет какие-либо пользовательские действия по установке, зависящие от целевой платформы, рассмотрите возможность их отделения в INF-файле расширения. Вы можете обновить INF-файл расширения независимо от основного пакета драйверов, чтобы сделать его более надежным и обслуживаемым. Дополнительные сведения см. в разделе Использование файла INF расширения.

  • Если вы хотите предоставить приложение, которое работает с вашим устройством, включите приложение UWP. Дополнительные сведения см. в разделе приложение поддержки оборудования (хса): действия для разработчиков драйверов. Изготовитель оборудования может выполнить предварительную загрузку такого приложения с помощью DISM — средства обслуживания образов развертывания и управления ими. Или пользователи могут вручную загрузить приложение из Microsoft Store.

  • В разделе INF дестинатиондирсзадайте каталогам назначения значение дирид 13 , чтобы драйвер выполнялся из хранилища драйверов. Этот параметр не будет работать для некоторых устройств.