С середины 2023 года Microsoft целенаправленно внедряет язык Rust в Windows. Сначала система научилась загружаться с кодом на Rust в ядре, а недавно компания стала активно привлекать разработчиков драйверов к использованию этого языка.
В июле Microsoft поделилась первыми подробностями о том, как команда Surface помогает в этом направлении, запустив новый проект с открытым исходным кодом под названием windows-drivers-rs — платформу для разработки драйверов Windows на Rust.
Теперь компания представила больше деталей о прогрессе разработки. Чтобы упростить создание драйверов на Rust, в составе windows-drivers-rs появился новый пакет cargo-wdk. Это расширение Cargo создает пустые проекты драйверов с преднастроенными взаимосвязями, шагами сборки и зависимостями, а также может вызывать инструменты WDK вроде InfVerif — аналогично тому, как это делается при сборке драйвера на C в Visual Studio.
Главное преимущество Rust по сравнению с традиционными языками вроде C — безопасность работы с памятью. Rust позволяет минимизировать уязвимости, связанные с управлением памятью, и при этом обеспечивает отличную совместимость с кодом драйверов на C/C++, что облегчает переход.
Microsoft отмечает, что долгосрочная цель компании — предоставить разработчикам на Rust в среде Cargo те же инструменты сборки и параметры конфигурации, что доступны в Visual Studio. Среднесрочные планы включают автоматическую установку WDK, поддержку NT_TARGET_VERSION, полную поддержку ARM64 и другие возможности.
Сейчас windows-drivers-rs уже позволяет создавать отдельные типы драйверов на Rust, но пока требует активного использования небезопасного кода. Microsoft подчеркивает, что команда Windows Driver Framework (WDF) работает вместе с экспертами по Rust над созданием более безопасных абстракций для драйверов режима ядра (KMD) и пользовательского режима (UMD). Другие команды компании разрабатывают безопасные структуры и API за пределами WDF — как для ядра Windows, так и для сторонних драйверов. Часть из них уже включена в ядро Windows.
Абстракции позволяют безопасно переключаться между пользовательским и привилегированным режимами работы системы.
Также Microsoft заявила, что в ближайшие месяцы поделится дополнительными рекомендациями по лучшим практикам разработки драйверов, включая использование CodeQL для статического анализа. Напомним, в июле компания обновила руководство для сторонних разработчиков по статическому анализу драйверов в Windows 11, версия 25H2.
Последние статьи #Windows
• Microsoft передала ФБР ключи для расшифровки данных BitLocker в Windows: хранение ключей восстановления в «облаке» открыло доступ к данным
• Microsoft представила winapp — новый CLI-инструмент для разработки приложений Windows
• Microsoft напомнила об окне перехода с Dev на Beta канал Windows Insider — скоро оно закроется
• Обновление KB5074157 (Build 26220.7653) для Windows 11, версия 25H2 (Dev) (Beta)
• ISO-образы Windows 7 и Vista со всеми обновлениями (январь 2026) доступны для загрузки
• Microsoft улучшает поддержку Markdown в Блокноте и добавляет генерацию раскрасок в Paint в Windows 11
