`

开源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 硬件实现这一块又前进了一步。
分享到:
评论

相关推荐

    微软驱动程序框架WindowsDriverFrameworks.zip

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

    Windows 内核情景分析--采用开源代码ReactOS (上册) part01

    8.1 结构化异常处理的程序框架 666 8.2 系统空间的结构化异常处理 683 8.3 用户空间的结构化异常处理 710 8.4 软异常 720 下 册 第9章 设备驱动 729 9.1 Windows的设备驱动框架 729 9.2 一个“老式”驱动模块...

    寒江独钓《Windows内核安全编程》

    其实,Windows驱动程序员和黑客都在写内核程序,唯一不同的是驱动程序员按照微软设计的模型写程序,而黑客可以不按照这些框架写。Windows设计的这些框架,可以将操作系统的原理隐藏起来,只暴露一些接口,驱动程序员...

    asynframe:Windows下提供的基于消息驱动的开发框架-开源

    Windows平台下提供的基于消息驱动的开发框架,提供支持,基于线程管道,文件和网络的接口:1,异步消息接口支持模仿Windowns窗口类,可以无缝地嵌入窗口线程2,提供设备操作的统一接口3,支持串行异步操作机制和执行...

    java开源包6

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包9

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    Appium:适用于iOS,Android和Windows应用程序的自动化-开源

    它使用WebDriver协议驱动iOS,Android和Windows应用程序。 您的工具带是否缺少本机应用程序自动化功能? 问题解决了。 Appium建立在这样的想法之上,即测试本机应用程序不需要包括SDK或重新编译您的应用程序。 并且...

    java开源包8

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包10

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    Appium-windows-1.15.1.zip

    Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序

    windows-Appium1.15.1.rar

    Appium-windows1.15.1 是适用于Windows的应用程序,可在美观而灵活的UI中为您提供...Appium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试。 它使用WebDriver协议驱动iOS,Android和Windows应用程序

    Qt-MySQL-Driver-For-Windows:在C ++ Qt框架中,默认情况下安装了SQlite和ODBC驱动程序。 但是没有MySql驱动程序。 我建立这个驱动程序来编译Qt的源代码。 如果要在Qt中使用mysql,请下载此存储库。 在此位置复制这4个文件(libqsqlmysql4.a,libqsqlmysqld4.a,qsqlmysql4.dll,qsqlmysqld4.dll)-C-windows source code

    在C ++ Qt框架中,默认情况下安装了SQlite和ODBC驱动程序。 但是没有MySql驱动程序。 我建立这个驱动程序来编译Qt的源代码。 如果要在Qt中使用mysql,请下载此存储库。 在以下位置复制这4个文件(libqsqlmysql4.a,...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    WSTMall 开源多用户商城系统 v1.9.5.zip

    WSTMall 支持包括类库扩展、驱动扩展、应用扩展、模型扩展、控制器扩展、标签库扩展、模板引擎扩展、Widget扩展、行为扩展和模式扩展在内的强大灵活的扩展机制,让你不再受限于核心的不足和无所适从,随心DIY自己的...

    java开源包1

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包2

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包3

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包5

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

    java开源包11

    Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端...

Global site tag (gtag.js) - Google Analytics