博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微软驱动模块框架旨在简化Windows驱动开发
阅读量:6479 次
发布时间:2019-06-23

本文共 836 字,大约阅读时间需要 2 分钟。

使用微软最近新的,Windows驱动开发者现在有一种更简单的方式创建简单的结构化驱动以及在驱动之间共享代码了。

\\

该框架诞生于Surface团队,微软DMF是传的一个扩展,旨在简化开发人员创建任意类型WDF驱动的过程:

\\
\

大约在三年前,[Surface]团队决定从整体上考虑一下针对各种Surface产品[……]编写的驱动。开始的时候,我们把驱动中单个的功能拆分到一个可共享的代码库中。经过反复的努力,就产生了DMF:它是WDF的一个扩展,为你提供了一个新WDF对象库,称为DMF模块。模块允许以结构化的方式同其他模块、WDF和硬件交互。

\
\\

虽然WDF鼓励把驱动创建成单个的WDF对象,有一个上下文和事件回调,但DMF则倾向于把它分解成若干单独的WDF对象,从而使得它们的行为和交互更简洁、更可理解。一个基于DMF的驱动包含多个模块,这些模块通过一个很薄的冲裁层来和通常的WDF框架交互,该层使用WDF回调来分发它们的事件。每个模块都有自己的上下文,用于保持它的状态,并使用相同的WDF回调与其他模块进行广泛地通信。模块只能直接和它们的子模块通信,即和它们自己实例化的模块,而不是DMF实例化的模块。

\\

1a2c6bddef139d26605c0dabc15514d6.jpg 

(图片来自微软公告)

\\

微软已经开源了,驱动开发人员已经可以在自己的驱动中重用它们,如:

\\
  • ACPI通知模块,使驱动可以从ACPI请求和接收异步通知;\\t
  • HID目标模块,提供一个访问的驱动;\\t
  • 散热接口模块,实现了,提供了被动和主动冷却回调,供客户端采取措施;\\t
  • ,使驱动可以更容易在单独的线程中工作。\

按照微软的说法,现如今的所有WDF驱动都是基于DMF模块。

\\

微软在其中包含了三个样例驱动,展示如何使用DMF来创建一个驱动,将来还会提供更多的样例。需要特别指出的是,虽然DMF包含的一个库中有微软为自己的Surface驱动开发的不同模块,但真正的Surface驱动代码并没有包含在DMF中。

\\

查看英文原文:

转载地址:http://dpwuo.baihongyu.com/

你可能感兴趣的文章
数据库运维体系_SZMSD
查看>>
js的AJAX请求有关知识总结
查看>>
三分 POJ 2420 A Star not a Tree?
查看>>
修改OBS为仅直播音频
查看>>
OCA读书笔记(3) - 使用DBCA创建Oracle数据库
查看>>
Python基础进阶之路(一)之运算符和输入输出
查看>>
阻塞非阻塞异步同步 io的关系
查看>>
ClickStat业务
查看>>
spring3.0.7中各个jar包的作用总结
查看>>
Windows 10 /win10 上使用GIT慢的问题,或者命令行反应慢的问题
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>
iOS自定制tabbar与系统的tabbar冲突,造成第一次点击各个item图片更换选中,第二次选中部分item图片不改变...
查看>>
U-BOOT之一:BootLoader 的概念与功能
查看>>
我的路上
查看>>
Velocity处理多余空白和多余空白行问题
查看>>
DB2与oracle有什么区别
查看>>
创建一个多级文件目录
查看>>
Picasa生成图片幻灯片页面图文教程
查看>>
svn status 显示 ~xx
查看>>
常用HiveQL总结
查看>>