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

这篇具有很好参考价值的文章主要介绍了微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

相关阅读:

  • 微软正在用 Rust 重写核心 Windows 库
  • 微软: 加大力度在 Windows 11 使用 Rust

相关链接文章来源地址https://www.toymoban.com/news/detail-721562.html

  • windows-drivers-rs 的详细介绍: 点击查看
  • windows-drivers-rs 的下载地址: 点击下载

到了这里,关于微软开源 windows-drivers-rs, 用 Rust 开发 Windows 驱动程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows Driver开发_安装与配置环境

    首先到这个网站里去下载Visual Studio2019,注意目前最新版的WDK仅支持Visual Studio2019,如果要下载2022版本目前推出了预览版,但需要申请下载,所以这里以2019为例。 以前的 WDK 版本和其他下载 - Windows drivers | Microsoft Docs 打开网站后往下拉,找到Visual Studio2019下载,选择一个适用

    2024年02月05日
    浏览(45)
  • 微软官方发布的C#开源、免费、实用的Windows工具箱

    今天分享一款由微软官方发布的C#开源、免费、实用的Windows工具箱(帮助用户调整和简化Windows系统的体验,从而提高工作效率):Microsoft PowerToys。 Microsoft PowerToys 是使用 C++ 和 C# 编程语言开发的。它利用了 Windows 操作系统的底层功能和 API,以及 Microsoft 开发的一些开源库和

    2024年02月04日
    浏览(85)
  • 微软疑断自由软件开发者“活路”,禁止在微软商店发布商业开源

    整理 | 彭慧中 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 几周前,微软更新了其应用商店的政策,增加了新的政策(将于下周开始生效),其中包括以下文字: “「所有定价」…「都不能」…企图从开源或其他普遍免费的软件中获取经济利益。” 图源SFC 原本大家以为,微软是在

    2024年02月10日
    浏览(41)
  • Rust :mod.rs和lib.rs中use的作用

    一、mod.rs和lib.rs mod.rs往往是把同一目录下的n个rs文件综合在一起的有效方式; lib.rs是一个库或子库层次综合在一起的有效方式; 下面举个实例来说明。生成一个rusttoc本地库(由cargo new rusttoc --lib所生成),目录结构如下: 其中,data.rs文件内容如下: 其中,ffi.rs文件内容如

    2024年02月07日
    浏览(39)
  • Rust语言从入门到入坑——(2)Rust在windows上搭建开发环境

    开始搭建一个适合在windows上运行的Rust环境。 Rust支持的程序语言很多:可详见官网介绍 本文章主要是在windowns下搭建开发环境 首先,需要安装最新版的 Rust 编译工具和 Visual Studio Code。 Rust 编译工具:https://www.rust-lang.org/zh-CN/tools/install Visual Studio Code:https://code.visualstudio.com

    2024年02月09日
    浏览(52)
  • 【rust/egui】(六)看看template的app.rs:TextEdit

    rust新手,egui没啥找到啥教程,这里自己记录下学习过程 环境:windows11 22H2 rust版本:rustc 1.71.1 egui版本:0.22.0 eframe版本:0.22.0 上一篇:这里 文本编辑框 其定义为: 用起来可能是个简单的东西,但是实际上很是复杂,首先我们来看看它的外观以及用法 在 app.rs 中,我们是通

    2024年02月11日
    浏览(54)
  • 【rust/egui】(七)看看template的app.rs:Slider

    rust新手,egui没啥找到啥教程,这里自己记录下学习过程 环境:windows11 22H2 rust版本:rustc 1.71.1 egui版本:0.22.0 eframe版本:0.22.0 上一篇:这里 滑块,如下图 定义: 我们可以通过 ui.add() 的方式进行添加: 其 new 方法的定义为: 参数 value 为可变借用类型,且使用 Numeric 特性进

    2024年02月10日
    浏览(38)
  • 微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel

    在首席执行官萨蒂亚·纳德拉(Satya Nadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft 365等商业产品到“新必应”搜索引擎,再到低代码/无代码Power Platform等面向开发的产品,包括软件开发组件Power

    2024年02月03日
    浏览(50)
  • 【rust/egui】(三)看看template的app.rs:序列化、持久化存储

    rust新手,egui没啥找到啥教程,这里自己记录下学习过程 环境:windows11 22H2 rust版本:rustc 1.71.1 egui版本:0.22.0 eframe版本:0.22.0 上一篇:这里 app.rs 中首先定义了我们的 TemplateApp 结构体 在定义 TemplateApp 时,我们让其继承了 serde::Deserialize, serde::Serialize 。 serde 是rust中用于序列

    2024年02月11日
    浏览(39)
  • 【rust/egui】(五)看看template的app.rs:SidePanel、CentralPanel以及heading

    rust新手,egui没啥找到啥教程,这里自己记录下学习过程 环境:windows11 22H2 rust版本:rustc 1.71.1 egui版本:0.22.0 eframe版本:0.22.0 上一篇:这里 侧边栏,如下图 其定义为: 通过 right() 或 left() 方法生成: 方法实现与 TopBottomPanel::top() 类似: 生成时的默认属性值为: 我们可以将

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包