微软开源 windows-drivers-rs,用 Rust 开发 Windows 驱动程序

|----------------------------------------------------------------------------------------------------------|
| Microsoft Azure 首席技术官兼著名 Windows 软件开发人员 Mark Russinovich 在社交平台上宣布,启动了一个名为 windows-drivers-rs 的新开源项目。 |

该项目可帮助开发人员使用 Rust 开发 Windows 驱动程序,旨在支持 WDM (Windows Driver Model) 和 WDF (Windows Driver Framework) 驱动程序开发模型。

当前版本的资源库主要由 Rust crates 组成,具体包括:

  • wdk-build:用于配置 Cargo 构建脚本以进行 WDK 的绑定生成和下游链接的库。虽然此 crate 的编写目的是灵活地适应不同的 WDK 版本和不同的 WDF 版本,但目前仅针对 NI eWDK、KMDF 1.33、UMDF 2.33 和 WDM 驱动程序进行了测试。旧版 DDK 可能缺少链接器选项。
  • wdk-sys:直接 FFI 绑定到 WDK 中可用的 API。这包括从 bindgen 中自动生成的 ffi 绑定,以及包括手动重新实现 bindgen 无法生成的宏。
  • wdk:与 WDK 中可用的 API 的安全惯用绑定
  • wdk-panic:使用 WDK 构建的程序的默认 panic 处理程序实现
  • wdk-alloc:对使用 WDK 编译的二进制文件的分配支持
  • wdk-macros:宏的集合,有助于更轻松地与 wdk-sys 的直接绑定进行交互。该 crate 通过 wdk-sys 重新导出,并且通常情况下 crates 不需要直接依赖 wdk-macros

具体示例可查看 Windows-rust-driver-samples。

值得注意的是,该项目仍处于早期阶段,不建议用于商业用途;但微软方面鼓励社区对该项目的实验、建议和讨论。在 windows-drivers-rs 的开发过程中,该公司将把 GitHub 讨论区作为与社区互动的主要形式。目前,windows-drivers-rs 项目已得到了微软开发人员 Melvin Wang 的支持。

相关推荐
应用市场5 小时前
构建自定义命令行工具 - 打造专属指令体
开发语言·windows·python
Dfreedom.5 小时前
一文掌握Python四大核心数据结构:变量、结构体、类与枚举
开发语言·数据结构·python·变量·数据类型
一半烟火以谋生5 小时前
Python + Pytest + Allure 自动化测试报告教程
开发语言·python·pytest
虚行5 小时前
C#上位机工程师技能清单文档
开发语言·c#
小羊在睡觉6 小时前
golang定时器
开发语言·后端·golang
CoderCodingNo6 小时前
【GESP】C++四级真题 luogu-B4068 [GESP202412 四级] Recamán
开发语言·c++·算法
Larry_Yanan7 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互
百锦再7 小时前
对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
java·开发语言·python·架构·eclipse·php·maven
Want5957 小时前
C/C++大雪纷飞①
c语言·开发语言·c++
一个帅气昵称啊8 小时前
使用微软Agent Framework .NET构建智能代理应用
microsoft·flask·.net