Microsoft опубликовала исходный код фреймворка Driver Module
Framework для написания драйверов устройств Surface и был доступен лишь
разработчикам компании.
Microsoft выпустила программную платформу (фреймворк) Driver
Module Framework (DMF), призванную упростить процесс разработки
структурированных WDF-драйверов (Windows Driver Frameworks) устройств для
операционной системы Windows. Кроме того, по заявлению Microsoft, использование
нового инструмента позволит программистам с легкостью повторно использовать собственный
код в различных драйверах или делиться им с другими разработчиками.
DMF был создан командой Microsoft Devices специально для
разработки драйверов устройств-трансформеров Surface и изначально
предназначался только для внутреннего использования. Теперь же исходный код
фреймворка опубликован на Github, популярном веб-сервисе для хостинга
ИТ-проектов и их совместной разработки, под свободной лицензией MIT, и доступен
всем желающим, сообщает CNews со ссылкой на сообщение компании.
Фреймворк DMF позволяет создать тонкую «прослойку» между
реализацией драйвера и WDF, которая связывает между собой все отдельные модули
драйвера и клиентский код, грамотно организуя процесс их взаимодействия.
Кроме того, каждый отдельно взятый модуль получает
собственную область в контексте устройства, которая доступна только ему, что
снимает с программиста обязанность предусматривать механизмы поочередного
доступа каждого модуля к контексту устройства.
Обратные вызовы WDF (на схеме окрашены в красный цвет)
теперь также существуют независимо друг от друга в каждом модуле, а DMF
отвечает за перехват, перенаправление вызовов к соответствующим модулям, а
также возвращение результата обработки данных модулями.
Подобный подход позволяет рассматривать модуль драйвера как
самостоятельную единицу, которую при необходимости можно легко отделить от
остального кода и перенести в другой проект практически без изменений, будучи
уверенным, что он окажется работоспособным.