Сборка и загрузка драйвера 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 драйвера.