网上皇家赌场网址Windows驱动开发入门引导,驱动开发的一对基本概念

   1.  前言

WDK(Windows Driver
Kit)是一种截然集成的驱动程序开发种类,它涵盖 Windows DDK,用于测试
Wi
ndows 驱动器的可相信性和锡林郭勒盟久安性.

Windows的驱动开发模型

因工作上项指标急需,我须要做驱动相关的付出,从前并没有接触过有关的学问,折腾一段时间下来,功效如需兑现了,也积累了有的经验和见解,所以在此做番总括。

WDM 是 Win32装置驱动程序种类布局

 

对此驱动开发的付出指点,微软官方文档网站已经提供了很详细的科目文书档案,并且在Github上提供了一多元典型的例程源码用于开发职员参考。开发职员在享有一定的驱动概念知识后,通过参考官方例程能够很不难达成全体一定成效的驱动应用程序。

Windows设备驱动程序,过去是WDM(Windows
Driver Model)框架,编制程序复杂,初学者难以掌握其编制程序
要点。为了化解这一题目,微软对WDM驱动程序的架构做了改正,形成了崭新的WDF(Windows
Driver F
oundation)架构。它提供了面向对象和事件驱动的驱动程序开发框架,大大下落了支出难度。从现
在上马,驾驭Windows设备驱动程序的开发人士,由过去的“专业”人员,将成为“普通”大众。

   
在Windows的不如版本上支付的驱动程序“模型”(模型这些词语应该来自单词“Mode”。在Windows
NT上,驱动程序被叫作Kernel Driver
Mode驱动程序。作者以为这么些Mode是指一种驱动程序的布局和周转的行业内部),有过差异的名称。比如在Windows
9x上的驱动程序,都号称VXD,而在Windows
NT上的驱动程序被号称KDM驱动程序,Windows
98~3000那一个时代出现的新模型叫做WDM。
   
Windows的驱动模型概念,本来是就驱动程序的一坐一起而言的。比如WDM驱动,必要求满足提供n种被供给的表征(如电源管理、即插即用)才被誉为WDM驱动。假设不提供那么些功效,那么统一称为NT式驱动。同样的,WDF驱动也有它的一比比皆是正式。
    可是本书采纳简易的差异方法。将全体在Windows 3000~Windows
Vista下能不奇怪运转且未调用WDF相关的内核API函数的驱动都称之为古板型驱动(包含NT式和WDM)。假设调用了WDF相关的内核API则称为WDF驱动。
请小心:WDF驱动是足以调用古板型驱动所调用的内核API的,WDF能够视为古板型的升级版。
   
模型的上扬并不是和操作系统版本的升迁齐步走的,而是有一个逐年替代的进度。比如Windows
98已经支撑部分的WDM驱动程序,可是又支持部分的VXD驱动。而到了Windows
两千,则VXD这种驱动程序完全被淘汰了。KDM则是WDM的前身。WDM是在KDM的根底上平添了部分新的特色,制定了有个别新的正式而作育的。绝大部分函数调用都以通用的。当然,Windows
9x系列的内核完全两样,所以VXD与之比较,就没有3个内核API函数是相同的。
    故而随着Windows 9x的打入冷宫,VXD难逃彻底被淘汰的气数。Windows
NT则向上成了新生的Windows版本,KDM也改成了WDM而存在下去。当然,微软不会闲着,以往又推出了新的WDF。读者又不得不担心:本书是用WDM写的如故用WDF写的呢?会不会刚刚学完又被淘汰呢?
   
和VXD不一致,从KDM到WDM再到WDF是一脉相通的,基本上KDM程序员在读书WDM时一度占尽了有利于。到WDF也不例外,WDF与其说是新的驱动开发模型,还比不上说是在已部分内核API和数据结构的基本功上,又装进出一套让使用者觉得更简明、更易用的以Wdf-开始的一组API。因而,读者大可不必担心WDF的开拓进取会让前边学习古板型驱动的拼命一噎止餐。2个独占鳌头的例证是:大概在一九九五年到一九九二年间发表第7个本子的硬盘上层过滤diskperf的代码,18年过去了,昨临汾旧能够编写翻译并符合规律在最新版本的Vista上运维。
   
本书对于多数不可能找到WDF实例的章节,都选取了守旧型驱动举行求证。比如磁盘过滤、文件系统过滤和网络中间层驱动。其余为了从简单入手,对于入门级的七个例子(串口和键盘)也应用了古板型驱动。可是虚拟磁盘和虚构网卡(第六章和第③1章),使用了WDF版本的例证,请读者注意鉴定分别。

Windows驱动程序入门:

WDF驱动程序包涵多少个种类,叁个是内核级的,称为KMDF(Kernel-Mode Driver
Framework),为SYS
文本;另二个是用户级的,称为UMDF(User-Mode
Driver Framework),为DLL文件。

Github:

 

 

 Windows的驱动开发模型

   2.  驱动类型

  在Windows的两样版本上支付的驱动程序
“模型”(模型这一个词语应该来自单词“Mode”。在Win
dowsNT上,驱动程序被称之为KernelDriverMode驱动程序。
小编觉得那些Mode是指一种驱动程序的布局和
运行的标准),有过分歧的名目。比如在Windows9x上的驱动程序,都称之为VXD,而在WindowsNT上的驱动
先后被叫做KDM驱动程序,Windows98~2000这么些时代出现的新模型叫做WDM。
  Windows的驱动模型概念,本来是就驱动程序的一坐一起而言的。比如WDM驱动,要求求满意提供n种被要
求的性情(如电源管理、即插即用)才被称为”WDM驱动”。假诺不提供这个功用,那么统一称为NT式驱动。
一律的,WDF驱动也有它的一文山会海标准。
  但是本书选拔精炼的区分方法。将总体在Windows三千~WindowsVista下能健康运维且未调用WDF相
关的内核API函数的驱动都称之为守旧型驱动(包涵NT式和WDM)。就算调用了WDF相关的内核API则名为WD
F驱动。
  请小心:WDF驱动是足以调用守旧型驱动所调用的内核API的,WDF能够视为古板型的升级版。
  模型的上扬并不是和操作系统版本的升高齐步走的,而是有二个稳步取代的进程。比如Windows98已
经帮助部分的WDM驱动程序,不过又协助部分的VXD驱动。而到了Windows2000,则VXD那种驱动程序完
全被淘汰了。KDM则是WDM的前身。WDM是在KDM的基本功上扩充了有的新的性状,制定了有的新的专业而造
就的。绝超过一半函数调用都以通用的。当然,Windows9x类别的基础完全分化,所以VXD与之比较,就没
有贰个内核API函数是如出一辙的。
  故而随着Windows9x的打入冷宫,VXD难逃彻底被淘汰的造化。WindowsNT则发展成了后来的Windows版本
,KDM也成为了WDM而留存下来。当然,微软不会闲着,今后又推出了新的WDF。读者又不得不担心:本书
是用WDM写的照旧用WDF写的呢?会不会刚刚学完又被淘汰呢?
  和VXD差异,从KDM到WDM再到WDF是一脉相传的,基本上KDM程序员在学习WDM时曾经占尽了便宜。到
WDF也不例外,WDF与其说是新的驱动开发模型,还比不上说是在已有的内核API和数据结构的底蕴上,又封
装出一套让使用者觉得更简明、更易用的以Wdf-开首的一组API。由此,读者大可不必担心WDF的升高会
让前方学习古板型驱动的着力因噎废食。三个超人的例证是:大致在一九九四年到一九九二年间发表第2个版本的
硬盘上层过滤diskperf的代码,18年过去了,明日依然得以编写翻译并平常在新式版本的Vista上运转。
  本书对于绝大部分不能找到WDF实例的章节,都使用了古板型驱动实行验证。比如磁盘过滤、文件系统
过滤和互连网中间层驱动。此外为了从不难入手,对于入门级的多个例子(串口和键盘)也应用了古板型
使得。不过虚拟磁盘和虚拟网卡(第伍章和第31章),使用了WDF版本的事例,请读者注意识别。

 驱动分为如下几体系型:

 

  • 装备函数驱动程序
  • 设施筛选器驱动程序
  • 软件驱动程序
  • 文件系统筛选器驱动程序
  • 文件系统驱动程序

服务控制管理程序 SCM
恍如于linux的看护进度(在linux可能unix操作系统中在系统的指导的时候会敞开很多服务,这个服务
就称为守护进度)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图