`

开源Windows驱动程序框架

    博客分类:
  • C++
 
阅读更多
转自
http://code.csdn.net/news/2824273

源码地址
https://github.com/Microsoft/Windows-driver-frameworks


微软宣布在 MIT 许可证下开源 Windows 驱动程序框架,源代码托管在 GitHub上。微软最新的开源举动可能有助于开源项目 Wine 的开发。Windows Driver Frameworks (WDF)是一组库文件,帮助开发者为设备开发高质量的驱动程序。微软表示他们的目标是让 WDF 的内部工作原理对开发者尽可能的透明。



WDF 团队的代表 J M Rossy 在博客里是这样讲述开源 WDF 的主要目标。

昨天我们在 WinHEC 很激动的对外宣布将 Windows Driver Frameworks (WDF) 的源代码最大化的开放在 GitHub 上。相关的报告文件可以在这里看到:github.com/Microsoft/Windows-Driver-Frameworks

WDF 开源的主要目标

开源 WDF 的最主要的目标就是为了更加直接的开发高质量的驱动器。该框架提取了底层操作系统的核心部分,当需要的时候还不牺牲掉灵活性。同时它也集成了世界级开发环境,包括 Visual Studio 和 Windows Driver Kit (WDK)。不管怎么说,这对于Windows 10 的驱动开发者都是一次极好的开发经验。

当然,我们理解目前还没有可替代的OS源码,这也就是为什么我们要开放 WDF 的源代码,以此帮助所有人挖掘和调试他们的驱动器。这帮助开发者更加透明的理解框架和驱动程序之间是如何互动的。

适用范围

这一次公开代码之后,我们会发布更多的源代码,尤其是在 KMDF 和 UMDF v2 之后,你会发现大量的源代码随之也会公布出来。用一个统一的模式来驱动框架的发展是 WDF 团队最主要的一个优势。

正如你对 WDF 所期待的那样,你可能会遇到一些没有正式文件的行为和API,我们强烈建议不要依赖于那样的行为,因为在未来发型的版本里可能会做一些改变。如果你在源码里看到有被人添加的或是可能存在的BUG,我们希望你们能在GitHub里面提交报告。虽然现在不能接受来自贡献者的修改,但是在未来可能会做出这方面的改进。

相关案例

我们同样很高兴的宣布,像WDF那样的驱动程序示例项目收集现在已经放在GitHub上了,在 MSDN Code Gallery 上的 Windows 8.1 全套案例将会一直保持更新。我们相信开放 WDF 源码对于任何人来说都是很有意义的一步,说明 Windows 硬件实现这一块又前进了一步。
分享到:
评论

相关推荐

    Windows驱动开发框架WDF源码,来自微软Github

    Windows驱动开发框架(Windows Driver Framework,简称WDF)是微软推出的一种现代化的驱动程序开发模型,旨在简化驱动程序的编写,提高驱动程序的稳定性和安全性。这个框架建立在Windows Driver Model(WDM)的基础...

    Windows驱动开发技术详解源码

    "chapter22"和"chapter23"可能涵盖了更高级的主题,如高级设备驱动接口(如WDF, WDM等框架)的使用,以及现代驱动程序开发的最佳实践和设计模式。 通过这个源码包,开发者不仅可以了解到Windows驱动开发的基本概念...

    详细解析Windows usb驱动与Linux usb驱动的相似和差异

    - **WDF**:是微软推出的一种新的驱动程序框架,旨在简化驱动程序的开发过程。 - **KMDF**:Kernel-mode Driver Framework,是在WDF基础上专门为内核模式驱动程序设计的框架。 - KMDF提供了一系列高级API,帮助...

    位图打印机开源驱动

    位图打印机开源驱动是一种软件组件,它允许开发者创建或修改打印机驱动程序,特别是针对那些能够将图像转换为位图格式的设备。这个开源项目对于理解打印机驱动的工作原理、进行驱动开发,以及创建自定义的虚拟打印机...

    Windows驱动开发技术详解

    - KMDF(Kernel-Mode Driver Framework)和UMDF(User-Mode Driver Framework):是Microsoft提供的框架,简化了驱动程序的开发,提高了稳定性和安全性。 2. **开发工具**: - DDK(Driver Development Kit):是...

    Windows设备驱动程序设计课件4

    最后,“www.pudn.com.txt”可能是一个链接或引用资源,指向一个在线平台,如PUDN(编程开发网络),该网站上通常有许多开源的驱动程序代码、技术文章和论坛讨论,对于学习和解决问题非常有帮助。读者可以通过这个...

    C++设计模式--基于Qt4开源跨平台开发框架

    而Qt4作为一个强大的开源库,提供了丰富的功能,使得开发者能够在多个操作系统上构建用户界面和应用程序。 首先,我们要理解设计模式的基本类型,包括创建型、结构型和行为型模式。创建型模式如单例模式(Singleton...

    微软驱动程序框架WindowsDriverFrameworks.zip

    Windows Driver Frameworks (WDF) 是一组库文件,帮助开发者为设备开发高质量的驱动程序。 标签:Windows

    libwdi:USB设备的Windows驱动程序安装程序库

    **libwdi:USB设备的Windows驱动程序安装程序库** libwdi,全称为Windows Driver Installer,是一个开源的C语言库,专为USB设备在Windows操作系统上安装驱动程序而设计。它提供了一套方便的API,帮助开发者简化驱动...

    微软WDF驱动模型开源代码

    总之,微软的WDF驱动模型开源代码是一个宝贵的资源,它使开发者能够更深入地理解和利用这个框架,从而提高驱动程序的质量和效率。对于那些想要从事Windows驱动开发的人来说,研究这些源代码是提升技能的重要途径。

    安信Windows驱动开发教程:win 11 创建新应用的方法.docx

    ### 安信Windows驱动开发教程:win 11 创建新应用的方法 #### 一、引言 随着Windows 11的发布,对于开发者而言,掌握如何在这个最新的操作系统上创建应用程序变得尤为重要。本教程旨在帮助开发者了解如何利用Visual...

    C++模式设计-基于QT4开源跨平台开发框架与源代码

    3. QT4框架:QT4是一个用于开发跨平台应用程序的库,支持Windows、Linux、macOS等多种操作系统。它包含丰富的GUI组件、网络、数据库和多媒体等功能。QT4的信号与槽机制使得对象间的通信更加便捷,是实现设计模式中的...

    构建linux下的设备驱动程序

    假设我们要为一个简单的字符设备编写驱动程序,以下是一个基本的框架示例: ```c #include #include #include #include #define DEVICE_NAME "mydevice" #define MAJOR_NUMBER 255 static int mydevice_open...

    驱动框架(供初学者)STD_DRV

    驱动程序是操作系统与硬件设备之间的桥梁,它允许操作系统和应用程序控制和管理硬件设备。在Windows系统中,驱动通常分为内核模式驱动和用户模式驱动。内核模式驱动运行在操作系统的核心层,拥有更高的权限,可以...

    ZyDriver1_驱动级读写源码_读写驱动_

    5. **KMDF(Kernel-Mode Driver Framework)/WDM(Windows Driver Model)**:这两种框架是Windows驱动开发的常用选择,KMDF提供了一种面向对象的编程模型,简化了驱动开发;而WDM则更为底层,适用于更复杂的硬件...

    asp.net开源程序

    ASP.NET开源程序是微软开发的一款用于构建Web应用程序的框架,它基于.NET Framework或.NET Core,提供了丰富的功能和组件,使得开发者能够快速构建动态网站、Web服务以及复杂的Web应用程序。VB.NET(Visual Basic ...

    USB 通用驱动 很常用的~~

    对于Linux或macOS等其他操作系统,用户可能需要使用开源的USB驱动框架,如libusb或USB for Linux。 USB通用驱动的更新至关重要,因为新版本往往修复了已知问题,提升了性能,或者增加了对新设备的支持。用户应定期...

    WDUtils:Windows 驱动程序

    这个工具集通常包含一系列实用程序,旨在帮助开发者更有效地管理和调试Windows驱动程序。WDUtils-master可能是指该项目的主分支或版本库,这通常在开源项目中常见,意味着你可以获取到最新的源代码和开发资源。 在...

    LINUX下USB驱动程序的设计与实现

    然而,由于Linux系统在处理USB设备方面不像Windows那样具备高度的自动化能力,因此对于Linux下的USB驱动程序的设计与实现具有重要的实际意义。本文将详细介绍Linux下USB驱动程序的设计原理和实现方法。 #### 二、...

Global site tag (gtag.js) - Google Analytics