Скин на НГ, перетяжка
Скин на НГ, перетяжка
Скин на НГ, перетяжка

Microsoft опубликовала исходный код DMF для разработчиков драйверов

Новости

Driver Module Framework раньше использовался для создания драйверов устройств Surface и был доступен только разработчикам компании Microsoft.

1К открытий1К показов

Команда Microsoft Devices анонсировала выпуск фреймворка с исходным кодом для разработчиков драйверов — Driver Module Framework (DMF). Сотрудники Microsoft утверждают, что фреймворк упрощает процесс создания структурированных WDF-драйверов для Windows. Новый инструмент позволит повторно использовать код и делиться им с другими программистами.

DMF был создан специально для разработчиков драйверов устройств Surface и предназначался для внутреннего использования. Платформа позволяет использовать код для повышения эффективности, удобства обслуживания и количества команд, делающих новые продукты. Теперь исходный код фреймворка доступен всем желающим на GitHub.

Сравнение WDF и DMF

Традиционная модель Windows-драйвера:

  • WDF не требует от разработчика полного знакомства с техническими нюансами;
  • есть набор средств проверки готовой программы на наличие распространенных ошибок;
  • позволяет выявить причины неправильной работы драйвера;
  • трудно понять поток связи между отдельными модулями драйвера и правильно их синхронизировать с контекстом устройства, обходя блокировки;
  • для повторного использования кода необходимо разобраться во взаимодействии между блоками перед извлечением исходного кода.
Microsoft опубликовала исходный код DMF для разработчиков драйверов 1

Новая модель Windows-драйвера:

  • создает прослойку между драйвером и его реализацией;
  • связывает между собой отдельные модули и клиентский код;
  • обратные вызовы WDF существуют независимо друг от друга в каждом модуле, а DMF занимается перехватом, перенаправляя вызовы и возвращая результаты обработки данных модулям;
  • каждый блок использует свою собственную область контекста для поддержания состояния — теперь разработчикам необязательно следить за техническими особенностями;
  • клиентский код взаимодействует только с тремя модулями: ACPI, Button и Stream (стрелки наглядно показывают это).
Microsoft опубликовала исходный код DMF для разработчиков драйверов 2

Дизайн DMF-модулей

Новый фреймворк подобен схемам взаимодействия и дизайну традиционной платформы, он не заменяет и не ограничивает драйвер напрямую от использования интерфейса операционной системы. DMF облегчает выполнение задач, которые совершает драйвер устройства в автономных блоках, позже записанных как модули.

Полный список различий между традиционным и новым фреймворками и полную структуру и ресурсы DMF можно прочесть в блоге Windows или на GitHub.

В конце апреля 2018 года Microsoft выпустила Windows Template Studio — сервис, предназначенный для разработки UWP-приложений. Теперь WTS обнаруживает темные, светлые и высококонтрастные режимы Visual Studio.

Следите за новыми постами
Следите за новыми постами по любимым темам
1К открытий1К показов