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 не требует от разработчика полного знакомства с техническими нюансами;
- есть набор средств проверки готовой программы на наличие распространенных ошибок;
- позволяет выявить причины неправильной работы драйвера;
- трудно понять поток связи между отдельными модулями драйвера и правильно их синхронизировать с контекстом устройства, обходя блокировки;
- для повторного использования кода необходимо разобраться во взаимодействии между блоками перед извлечением исходного кода.
Новая модель Windows-драйвера:
- создает прослойку между драйвером и его реализацией;
- связывает между собой отдельные модули и клиентский код;
- обратные вызовы WDF существуют независимо друг от друга в каждом модуле, а DMF занимается перехватом, перенаправляя вызовы и возвращая результаты обработки данных модулям;
- каждый блок использует свою собственную область контекста для поддержания состояния — теперь разработчикам необязательно следить за техническими особенностями;
- клиентский код взаимодействует только с тремя модулями: ACPI, Button и Stream (стрелки наглядно показывают это).
Дизайн DMF-модулей
Новый фреймворк подобен схемам взаимодействия и дизайну традиционной платформы, он не заменяет и не ограничивает драйвер напрямую от использования интерфейса операционной системы. DMF облегчает выполнение задач, которые совершает драйвер устройства в автономных блоках, позже записанных как модули.
Полный список различий между традиционным и новым фреймворками и полную структуру и ресурсы DMF можно прочесть в блоге Windows или на GitHub.
В конце апреля 2018 года Microsoft выпустила Windows Template Studio — сервис, предназначенный для разработки UWP-приложений. Теперь WTS обнаруживает темные, светлые и высококонтрастные режимы Visual Studio.
1К открытий1К показов