2020欧洲杯官方投注-2020欧洲杯官方投注网址Windows驱动开拓入门指点

Windows驱动程序入门:

2020欧洲杯官方投注-2020欧洲杯官方投注网址, Windows的驱动开垦模型

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

IRP(IO央浼包)用于win32和驱动程序通讯,NT内核有二个零部件叫做IO管理器。IO管理器顶住IRP的分发
,驱动程序里创制好设备而且创设好标记链接后,Win32就可以加载驱动了。而要让一个使得能够管理I
RP,必得给驱动增加IRP管理例程。

   1.  前言

 

动用的驱动类型涉及到代码的落到实处(需无需怀念PNP和电源管理)和驱动的安装( NT式驱动程序以 service 的花样运维,其余驱动供给动用通用的INF文件安装),微软的官方文书档案那样提到:

WDF驱动程序包含多少个体系,一个是内核级的,称为KMDF(Kernel-Mode Driver Framework),为SYS
文本;另三个是客户级的,称为UMDF(User-Mode Driver Framework),为DLL文件。

 驱动分为如下三种档案的次序:

 

作者是在Windows平台上开荒,使用的付出情况为 Visual Studio 2013 + WDK 8.1

windows服务在系统运营是加载,用户需在劳动调控平台开启恐怕关闭服务
Driver Service是劳动的多少个特例,遵循windows服务的探究
加载和煦在NT驱动分为多少个步骤:
1.为NT驱动创制新的劳动
2.开启此项服务
3.平息此项服务
4.删减NT驱动创立的服务
以上多个步骤都是透过SCM创立的服务来兑现的。

   3.  开发环境

 

行使INF文件安装

设施相关的驱动装置可以挑选INF进行设置,INF安装文件的编纂提出从 WDF Sample 中找到适当的INF文件举办改换,倘诺您想明白INF的语法,能够参见这里

  • 通过设备管理器手工业安装

开垦调整台,输入 devmgmt 回车,那是展开设备管理器的内部一种情势,其余办法举例右键系统菜单栏Logo均能够展开职务管理器,只是选拔命令行的格局比较少见,那Ritter别记下一下。找到感兴趣的 配备节点,右键 属性(或更新驱动程序软件),切换成 驱动程序,能够开展感兴趣的操作。这里所观望所提供的选项,后续等你熟稔了驱动装置的接口后,你会开掘都有对应的接口对应每种功用选项。

  • 因此程序实现自动安装

能够参谋 WDF Sample 中的Driver Install Frameworks API (DIFxAPI) SampleDevice Console (DevCon) Tool 四个工程,分别提供了分歧调用接口的驱动装置格局,Device Console (DevCon) Tool 生成的devcon.exe 是三个成效强盛的工具,不只有可用于驱动(包)的装置和卸载,仍是能够收获道具的硬件ID,描述符以至配备所设置的驱动列表等音信,开采人士能够从当中一窥究竟。

在使得的装置进度中,系统会自动记录安装的日记,在INF目录(路线通常在 C:Windowsinf下)下能够找到五个日志文件 setupapi.app.logSetupapi.dev.log ,查看那七个日志文件有助于精通驱动装置的实行进度,同一时间也便于每一个核实驱动装置进度中出现的特别。

使得的装置涉及到驱动文件的校验(保障驱动文件的完整性和合法性),驱动的预先级总括(采取最优的驱动去匹配当前识别到的新的装置),驱动的放置目录(Driver Store)等剧情。开拓职员熟知驱动装置逻辑有助于驱动的支付,感兴趣能够经过此处进展摸底。

 

   6.  驱动签名

 

 

驱动程序不是迟早供给与硬件通讯,假设供给探问操作系统核心数据,往往应用程序未有充足的权限,这种景况则须求在基本格局下张开拜望。就地点5种驱动类型,小编参考着微软的驱动例子开垦过 鼠标键盘设备过滤驱动互连网过滤软件驱动程序,所以对驱动开荒的接头仍在浅水区,如在阅读进度中发觉有误的地方,还请不吝建议。

  在Windows的不等版本上支出的驱动程序 "模型"(模型这么些词语应该来自单词“Mode”。在Win
dowsNT上,驱动程序被喻为KernelDriverMode驱动程序。
笔者感到那个Mode是指一种驱动程序的构造和
运转的正经),有过分化的名称。举个例子在Windows9x上的驱动程序,都叫作VXD,而在WindowsNT上的驱动
前后相继被称为KDM驱动程序,Windows98~3000以此时代出现的新模型叫做WDM。
  Windows的驱动模型概念,本来是就驱动程序的一颦一笑来说的。举个例子WDM驱动,必供给满意提供n种被要
求的性状(如电源管理、即插即用)才被称作"WDM驱动"。要是不提供这几个效应,那么统一称为NT式驱动。
无差异于的,WDF驱动也是有它的一文山会海专门的职业。
  但是本书接纳简易的区分方法。将一切在Windows三千~WindowsVista下能健康运转且未调用WDF相
关的内核API函数的驱动都称呼守旧型驱动(包蕴NT式和WDM)。固然调用了WDF相关的内核API则称之为WD
F驱动。
  请在乎:WDF驱动是足以调用守旧型驱动所调用的内核API的,WDF能够说是守旧型的晋级版。
  模型的进步并非和操作系统版本的进级齐步走的,而是有八个稳步取代的长河。比方Windows98已
经补助部分的WDM驱动程序,不过又帮衬部分的VXD驱动。而到了Windows两千,则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的向上会
让近日学习守旧型驱动的用力半涂而废。一个一流的例子是:大致在1991年到一九九三年间发表第四个本子的
硬盘上层过滤diskperf的代码,18年过去了,前几天依然得以编写翻译并符合规律在最新版本的Vista上运转。
  本书对于比比较多不能找到WDF实例的章节,都采取了古板型驱动举行表达。比如磁盘过滤、文件系统
过滤和网络中间层驱动。此外为了从简单入手,对于入门级的七个例子(串口和键盘)也选取了古板型
使得。然则虚构磁盘和编造网卡(第5章和第11章),使用了WDF版本的例子,请读者注意辨别。

WDM vs WDF

对此刚接触驱动开垦的生手来讲,作者不建议选用WDM(Windows 驱动程序模型)进行支付。近些日子在英特网能找到的有关驱动开拓的汉语图书基本上都是围绕WDM形式张开描述的,而至于WDF(Windows 驱动框架)开垦的书籍相当的少,《竹林溪径——深入显出Window驱动开拓》和《Developing Drivers with the Windows Driver Foundation》算是两本叙述基于WDF开辟驱动的书籍,两个都能在网络找到电子书财富。

 

Windows设备驱动程序,过去是WDM(Windows Driver Model)框架,编制程序复杂,初读书人难以精晓其编制程序
中央。为了缓慢解决这一难点,微软对WDM驱动程序的架构做了立异,造成了斩新的WDF(Windows Driver F
oundation)架构。它提供了面向对象和事件驱动的驱动程序开拓框架,大大收缩了付出难度。从现
在开始,通晓Windows设备驱动程序的开辟人士,由过去的“专门的学业”职员,将改为“普通”大众。

测验情形下安装驱动前

开垦的驱动程序未有进行具名或然使用测量试验签字,则须求在装置上开启测量试验格局,具体操作为:张开调整台,输入:

bcdedit /set testsigning on

回车,会提示:操作成功完成。 然后重启设备,开机后会在Computer桌面右下方显示有“测量试验情势”字样内容的水印。

万一要关张测量试验形式,则需在支配台输入:

bcdedit /set testsigning off

回车,同样会唤起:操作成功完成。 重启设备后则会意识桌面右下角的水印消失。

 

WDM 是 Win32配备驱动程序种类布局

里面WDK需求团结手动下载安装

加上的形式正是再DriverEntry里面临驱动对象DriverObject操作。该参数是三个指南针,指向驱动对象,
使得对象内部有二个MajorFunction数组,该数组的品种是
NTSTATUS (*PDRIVER_DISPATCH) (IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp) 。那是三个函数指
针,指向每一种IRP对于的管理例程。最后便是为全部要求管理的IRP完毕对应的例程。

生育处境

从Win10起来,驱动文件包不仅仅必要举行扩展验证 (EV) 代码签字,还索要交给到硬件开采中央仪表盘,具体操作指南能够参照他事他说加以考察此处,你能够在该文书档案上找到驱动具名所需的其他内容。

 

 

   4.  实现方式

WDK(Windows Driver Kit)是一种截然集成的驱动程序开辟种类,它蕴含 Windows DDK,用于测验Wi
ndows 驱动器的可相信性和牢固性.

本文由2020欧洲杯官方投注-2020欧洲杯官方投注网址发布于win7,转载请注明出处:2020欧洲杯官方投注-2020欧洲杯官方投注网址Windows驱动开拓入门指点

相关阅读