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 отвечает за перехват, перенаправление вызовов к соответствующим модулям, а также возвращение результата обработки данных модулями.
Подобный подход позволяет рассматривать модуль драйвера как самостоятельную единицу, которую при необходимости можно легко отделить от остального кода и перенести в другой проект практически без изменений, будучи уверенным, что он окажется работоспособным.