Windows Driver Frameworks ( WDF , ранее Windows Driver Foundation ) — это набор инструментов и библиотек Microsoft, которые помогают в создании драйверов устройств для Windows 2000 и более поздних версий Windows. Он дополняет Windows Driver Model , абстрагируясь от большей части шаблонной сложности при написании драйверов Windows.
WDF состоит из Kernel-Mode Driver Framework (KMDF) и User-Mode Driver Framework (UMDF). [2] Эти отдельные фреймворки предоставляют новую объектно-ориентированную модель программирования для разработки драйверов Windows. Основными целями WDF являются концептуальная масштабируемость и сокращение дублирования, что позволяет разработчикам применять одни и те же концепции к различным типам драйверов и сокращать накладные расходы кода, необходимые для драйверов. Это заметно отличается от Windows Driver Model (WDM), которая требует от разработчиков драйверов полного знакомства со многими сложными техническими деталями для написания базового драйвера.
Частью ключа к достижению концептуальной масштабируемости является то, что KMDF и UMDF используют модель «opt-in». Эта модель позволяет разработчику расширять и переопределять поведение по умолчанию канонического «хорошего драйвера». Напротив, модель драйверов Windows зависит от разработчика драйвера для реализации всех аспектов поведения драйвера.
Существует три типа драйверов WDF:
WDF также включает набор статических инструментов проверки для использования разработчиками драйверов. Эти инструменты проверяют код драйвера на наличие распространенных ошибок и/или моделируют код драйвера, чтобы выявить проблемы, которые трудно обнаружить и трудно протестировать.
Жирным шрифтом выделено « Да », что означает, что реализовано в этой версии Windows.