微软开源 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 的支持。

相关推荐
两点王爷4 小时前
Java基础面试题——【Java语言特性】
java·开发语言
Swift社区4 小时前
Gunicorn 与 Uvicorn 部署 Python 后端详解
开发语言·python·gunicorn
码农阿豪5 小时前
Python Flask应用中文件处理与异常处理的实践指南
开发语言·python·flask
岁岁种桃花儿5 小时前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
csbysj20205 小时前
AngularJS 模块
开发语言
独好紫罗兰5 小时前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n5 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
不会代码的小测试5 小时前
UI自动化-POM封装
开发语言·python·selenium·自动化
roman_日积跬步-终至千里5 小时前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
lsx2024065 小时前
C++ 基本的输入输出
开发语言