Сборка и загрузка драйвера WDF

В этом разделе описывается, как выбрать целевую версию операционной системы и платформы для проекта драйвера в Visual Studio.

Чтобы определить, нужно ли включать компоненты распространяемой платформы в пакет драйвера, см. раздел Компоненты распространяемой платформы.

Какую версию платформы следует использовать?

  • Для windows XP используйте WDF 1.9 или более ранней версии.
  • Для windows Vista, Windows 7 или Windows 8 используйте WDF 1.11 или более ранней версии.
  • Для Windows 8.1 используйте KMDF 1.13 или более ранней версии, UMDF 1.x или UMDF 2.0.
  • Для Windows 10 версии 1507 используйте KMDF 1.15 или более ранней версии, UMDF 1.x или UMDF 2.15 или более ранней версии.

Подробные сведения о версиях KMDF и UMDF см. в разделах Журнал версий KMDF и Журнал версий UMDF.

Разделы справки задать версии в Visual Studio?

Если вы создаете проект драйвера для последней версии Windows и последней версии KMDF или UMDF, вы можете сохранить значения по умолчанию и пропустить этот шаг.

В противном случае выполните следующие действия.

  • Щелкните решение правой кнопкой мыши и выберите Configuration Manager. Задайте для параметра Конфигурация проекта нужное значение (например , Отладка).
  • Щелкните правой кнопкой мыши проект драйвера и выберите Свойства. Откройте раздел Свойства конфигурации—> Параметры драйвера —> Модель драйвера. Измените значение параметра KMDF Version Minor (Target Version) или UMDF Version Minor (Целевая версия) в параметрах модели драйвера на нужное значение. Сведения о версии KMDF Minor (minimum Required) и UMDF Version Minor (Minimum Required) см. в разделе Указание минимального обязательного значения.

Вы можете использовать пакет драйверов Windows (WDK), который поставляется с Windows 10 для создания драйверов KMDF 1.9-1.29, а также драйверов UMDF 1.9-2.29.

Подробные сведения о версиях KMDF и UMDF см. в разделах Журнал версий KMDF и Журнал версий UMDF.

Связывание и загрузка

При создании проекта Windows Driver Frameworks (WDF) в Microsoft Visual Studio MSBuild связывает драйвер с соответствующей библиотекой платформы, загрузчиком библиотеки и файлом заглушки, которые включены в WDK. (Библиотека и загрузчик также включены в совместный установщик платформы, чтобы при необходимости их можно было распространять вместе с пакетом драйверов.)

Файл заглушки содержит специальную процедуру точки входа: FxDriverEntry. MSBuild задает подпрограмму FxDriverEntry заглушки в качестве начальной точки входа для драйверов на основе платформы.

Когда операционная система загружает драйвер на основе платформы, она также загружает файл заглушки и загрузчик библиотеки. Затем система вызывает подпрограмму FxDriverEntry файла заглушки. Затем эта подпрограмма вызывает загрузчик. Загрузчик определяет версию библиотеки платформы, необходимую драйверу, а затем загружает правильную версию библиотеки в качестве службы в режиме ядра (если она еще не загружена). Наконец, библиотека вызывает подпрограмму DriverEntry драйвера.