专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

浅谈Windows驱动开发

  1。前言
  最近一段时间,我一直在研究windows驱动开发,下面跟大家简单聊聊:对比linux,windows驱动无论是市面上的书籍,视频还是社区,博文以及号主,写的人很少,导致学习曲线直线上升;windows驱动从业人员就更少了;开发环境部署麻烦;驱动安装发布麻烦,需要数字签名。如果是发布到windowsupdate库里面,还需要做微标认证。
  为什么还要写?因为在学习的过程中,发现很多东西还是很相同的,如果你是从事linux开发,可能会有些启发,如果是对windows驱动开发有需求,可能提供一些不成熟的建议。
  接下来进入正文,给大家简单介绍一下windows驱动。2。windows体系架构2。1操作系统与应用程序
  在许多现代操作系统中,应用程序和操作系统是相互隔离的。操作系统的核心代码运行在特权模式下,即内核模式。而应用程序运行在非特权模式下,即用户模式。
  操作系统和应用程序的关心类似于服务器和客户端的关系,这点在windows平台下显得更加突出:
  几个概念:system进程:windows操作系统本身会起一个system进程(加载kernel32。dll),有点类似于linux下的init进程,具体细节不展开。FDO(FunctionDriverObject):设备功能驱动FiDO(FilterDriverObject):过滤驱动PDO(PhysicalDriverObject):物理设备驱动,真正访问硬件的地方。IRP(IORequestPacket),应用程序想要访问内核数据,必须通过IRP传递。又叫IRP请求,当应用程序和驱动交互时,发送一个IRP请求,IRP会在各层设备驱动之间来回传动与转发。2。2操作系统分层
  windows的设计思想是将内核设计的尽可能的小,并且采用客户端服务器的结构。操作系统各个组件或者模块是通过消息进行通信的。
  嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
  无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。
  点击这里找小助理0元领取:加微信领取资料
  win32子系统:是最纯正的windows系统,其他子系统都是通过win32子系统的接口来实现的,一般很少用到。NatvieAPI:在win32api基础上加上Nt前缀,基于版本兼容考虑系统服务:NativeAPI从用户模式进入内核模式,调用系统服务。(软中断方式实现,陷入内核)执行组件:内核模式下的一组服务函数。对象管理程序:windows操作系统提供的服务几乎都是以对象的形式存在的,这里的对象类似于面向对象语言中对象的概论。如驱动对象,设备对象等管理。进程管理程序:负责创建和终止进程,线程调度是由内核负责的。进程管理程序依赖于其他执行组件。虚拟内存管理程序:在CPU的内存管理单元(MMU)的协助下,通过某种映射将物理内存和虚拟内存关联起来。IO管理器:负责发起IO请求,并管理请求。它由一系列内核模式下的例程所组成,这些例程为用户模式下的进程提供了统一接口。IO管理器的目标是使来自用户模式的IO请求独立于设备。配置管理程序:配置管理程序,记录所有计算机软,硬件的配置信息。它使用一个被称为注册表的数据库保存这些数据。设备驱动程序根据注册表中的信息进行加载驱动程序:IO管理器接收应用程序后,创建相应的IRP,并传送至驱动程序进行处理:根据IRP的请求,直接操作硬件,然后完成此IRP,并返回根据IRP的请求,转发到更底层的驱动中去,并等待底层驱动的返回。接受到IRP驱动后,不着急于完成。而是分配新的IRP法定其他驱动程序,并等待返回。内核:内核被认为是Windows操作系统的心脏。Windows的内核从执行组件分割出来。和执行组件相比,内核是非常小的:对内核对象的支持。对线程的调度对多处理器同步支持。中断处理函数的支持。对异常陷阱的支持。对其他硬件特殊功能的支持。硬件抽象层:不同的硬件平台,提供不同的硬件抽象层,并对上层提供统一的操作硬件的接口。2。3应用程序和驱动
  3。windows驱动框架
  3。1驱动模型:
  windows驱动大致分为这几类:functiondriver:设备功能驱动filterdriver:设备辅助驱动softwaredriver:软件模块驱动busdriver:总线设备驱动3。2驱动演变
  NT模型:2000以前,不支持PNP(即插即用设备)WDM模型:NT基础上,支持PNPWDF:WDM的重封装KMDF:内核模式(sys)UMDF:用户模式(dll)win7x64划时代操作系统,开始数字签名了win10:双认证签名,也就是说对驱动的安全性要求更高了。3。3驱动垂直层次结构
  设备的创建顺序,先创建底层PDO,在创建高层的FDO,即从底层设备到高层设备。在PDO和FDO之间可能有各种过滤驱动。每层设备对象由不同的驱动程序创建,或者说每层的设备对应着不同的驱动程序。底层设备对象寻找上一层的设备对象,是依靠底层设备对象的AttachedDevice来寻找的。3。4驱动水平层次结构
  同一驱动程序创建出来的设备对象的关系称之为水平层次关系。每一个设备通过NextDevice可以寻找水平层次的下一个设备对象。3。5一个复杂的驱动结构
  4。windows开发环境搭建4。1开发环境部署
  以win10为例,列出需要安装的东西,详细过程限于篇幅以后更新安装VS2019安装WindowsSDK:VS2019顺带安装安装WDK安装VMwareWin10虚拟系统4。2常用调试工具windbg:调试内核。WDK自带,配合串口或者网络调试windows内核DebugViewer:查看内核打印driverMonitor:驱动安装PCHunterfree:驱动强制卸载,不支持2004版本devicetree:设备枚举winobj:查看符号链接5。windows驱动学习建议
  有关Windows驱动开发书籍,博文,教程甚少。如果有这方面需求的可以给以下几个建议:环境搭建:win732vs2013即可。不建议win10vs2019,比较新,遇到问题不好解决。其次早期的一些调试工具,win10最新版本不一定支持。绕开数字签名:先使用测试模式,安装驱动。否则光安装部署就够折腾的。入门采用WDM驱动模型。市面上将WDM的书籍和资料相对多些,相对来说,WDF开发资料来不少。多看书,windows驱动不想linux资料一大把,遇到不懂得,加技术群,啃书本。
  推荐书籍:《Windows驱动开发技术详解》:已绝版《竹林蹊径:深入理解windows驱动开发》:已绝版《windows7:设备驱动程序开发》:wdf讲的比较多得书
  原文链接:https:mp。weixin。qq。comsqGydT22PNfbvhxUT4pNmJw
  转载自:嵌入式微处理器
  原文链接:浅谈Windows驱动开发
  本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

水浒传中的108位梁山好汉,他们的籍贯都覆盖了全国的哪些省份?1宋江山东郓城县。2卢俊义河北大名府。3吴用菏泽市郓城县车市村。4公孙胜蓟州人氏。5关胜河东解良。6林冲东京人氏。7秦明山后开州。8呼延灼并州太原。9花荣清风寨副知寨。10柴进后周你觉得类似许三多这样的性格在现实社会能成功吗?许三多有很多优秀的品质,正直,善良,坚毅,执着。虽然外表看着有些木讷,可就以电视剧里的表现来说,许三多是一个优秀的,值得成功青睐的人。一个农村兵一步步走向一个兵王,他是成功的。而社吃猪血可以清除肺里的有害物质吗?吃猪血可以清除肺里的有害物质吗?猪血汤是我国的传统美食,尤其在潮汕地区,猪血汤更是受欢迎的早餐汤品。当地人常将猪血与真珠菜搭配,因为潮汕地区气候湿热,人们认为猪血和真珠菜都有排毒功成都东站出租车到双流机场收费九十元合理吗?走三环上机高70多,走中环路60多,九十多肯定有问题,除非堵车两个小时,但显然不可能首先,问法有问题你该问收费90元合规吗?那我可以确认得回答你,不合规!你可以持发票向指定监管部门丰田有什么七座车?丰田7座车型其实并不少,但是7座车型售价都不低,最便宜的丰田7座车型售价也要接近30万,其实对于一般的消费者来说还是难以接受的,今天咱们就来盘点下丰田旗下的7座车型。丰田汉兰达,这lol职业选手中,有哪些是学霸?小陌为了回答这个问题特意去查了下资料,发现好多知名的LOL职业选手都是学霸级别的,并不是我们想象中的那种网瘾少年人家不光是游戏玩的好,拿冠军,自己的学习成绩也是不差的,真的是优秀啊王曼昱在落后情况下能逆转陈梦和孙颖莎,为什么逆转不了杜凯琹?WTT世界杯,新科世乒赛女单王曼昱,以03不敌香港选手杜凯琹,爆出了第一大冷门!那么攻防实力强大的鳗鱼能够逆转陈梦孙颖莎,为什么对杜凯琹却束手无策呢?下面也来探讨一下其中的原因7局为什么孕妇没几个好看的呀?先说孕早期吧一般孕妇都会经历一个过程孕吐,好点儿的,持续两三个月,体质差点儿的,可能就得持续四五六个月了,这一难受,基本胃口都不会太好了,胃口不好,营养就跟不上,营养不足自然就没有苹果6splus可以用到2020年吗?应该不能用到2020年。一款手机来说,正常用二年左右就可以了。iPhone手机用了二年左右就基本上差不多了,这是因为手机会变卡。虽然苹果手机做得非常好,但是还是存在很多的问题,比如孩子四岁了还在和妈妈睡,分不开怎么办?四岁和妈妈睡不是很正常吗循序渐进的来,现在太多各种专家要求孩子几岁必须要分床,营造了亲子焦虑,适合孩子和自己的才是正理。其实多大分床没有固定的标准,看自己孩子和本身亲子关系的状态来为啥孩子10岁以后当妈的在朋友圈晒娃儿的少了?以前好看就行,现在要成绩了啊哈哈一是孩子大了,有学习任务了,家长的主要精力都放在他们学习上了二是她们有自己的思想了,不会说你让她拍她就愿意配合了,我家现在只要是拿着手机对着她,就会
协同双赢!农行山东分行与胜利油田开始银企战略合作3月22日,中国农业银行山东省分行与中国石化集团胜利石油管理局有限公司中国石油化工股份有限公司胜利油田分公司银企战略合作签约仪式在东营胜利宾馆举行。农行山东省分行党委书记行长刘仁举还是多听听自然频率的音乐声波振动显像学证实了声音的频率和振动是地球上所有物质和生命的组织基础和核心。当声波传播至某一特定物理介质(沙,空气,水等)时,由它们的频率对介质结构会产生直接的影响。如果你想要寻找人工智能教育利好密集催化!龙头年内股价翻倍,受益上市公司梳理财联社3月25日讯(编辑旭日)国务院近日印发数字中国建设整体布局规划指出,构建普惠便捷的数字社会。促进数字公共服务普惠化,大力实施国家教育数字化战略行动,完善国家智慧教育平台。同时Linux内核网络之网络层接收消息分片组装在接收方,一个由发送方发出的原始IP数据报,其所有分片将被重新组合,然后才能提交给上层协议。而每个将被重新组合的IP数据报都用一个ipq结构实例来表示。structipq用来将ipTPFi7无线网卡,BE6400规格IT之家3月25日消息,TPLINK今日发布两款WiFi7无线网卡,均为BE6400规格,将在第三季度开始上市。据官方介绍,该系列WiFi7无线网卡可选PCIe和USB两款接口型号大俱乐部并不是唯一感兴趣的球员如果降级,可能会大规模离职南安普顿有望成为本赛季英超联赛(EPL)降级的第一名。自然,随着主力陆续受到大俱乐部的关注,今夏大面积离队的可能性越来越大。南安普顿目前在英超排行榜上排名第20位(6胜5平17负积被马斯克16亿垄断的工艺,卡了下游企业的脖子出品虎嗅科技组作者包校千编辑陈伊凡题图视觉中国结束了一天的工作,郜明文才有工夫集中回复微信上的各种留言。夜色昏沉,他看了眼表,已经凌晨三点半了。等天一亮,他又要支棱起来,带着团队一周鸿祎中国大语言模型和GPT6后可能会有意识周鸿祎周鸿祎再次公开谈及自己对人工智能的未来判断。3月25日,2023中国发展高层论坛开幕,三六零(601360。SH,下称360)集团创始人周鸿祎以人工智能与未来安全为题发表主题小米11Ultra遭网友魔改,塞下9800毫安大电池,续航能力翻倍?对于厂商来说,做出一款用户爱不释手的手机必然喜忧参半,喜的是质量得到认可,忧的是产生更多钉子户不利于换机。纵观近两年高端旗舰市场,小米11Ultra堪称其中典型代表,由于雷军堆料太EarthHour一个小时能改变世界吗?为地球献出一小时GiveanHourforEarth地球一小时是世界自然基金会(WWF)在2007年向全球发出的一项倡议呼吁个人社区企业和政府在每年三月最后一个星期六2030213一分钟资讯红米酷派荣耀华为TCL,最新消息哈喽,我是毛小毛。关注我,每日带你了解最新资讯!数码日记一分钟资讯第550篇,感谢你的阅读。红米Note12Turbo手机将推出16GB1TB版本。Redmi宣布,Note12Tu
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网