如何进行windows驱动程序开发
好酷屋教程网小编为您收集和整理了如何进行windows驱动程序开发的相关教程:在国内使用Windows操作系统的电脑占绝大多数,Windows驱动和内核程序开发自从Windows诞生的时刻起,就保持着神秘的面纱,一直被认为是开发领域中比较高深的技术。它需要程序员对Windows
在国内使用Windows操作系统的电脑占绝大多数,Windows驱动和内核程序开发自从Windows诞生的时刻起,就保持着神秘的面纱,一直被认为是开发领域中比较高深的技术。它需要程序员对Windows操作系统底层有很深刻的理解,同时又需要有丰富的调试经验。但同时,计算机很多领域又需要大量的驱动和内核开发人员,如PCI、USB设备的驱动程序开发。同时,随着计算机病毒和木马的广泛传播,大量的安全方面软件需要内核开发这方面的技术,如进程和线程的监视、文件和注册表的过滤,以及诸如此类的防范Rootkit技术。由于驱动和内核方面人才的短缺,它也一直被别人看成是待遇不错的黄金职业。
windows驱动程序可分为两类三种:
第一类:传统型驱动
传统型驱动的特点就是所有的IRP都需要自己去处理,自己实现针对不同IRP的派发函数。其可以分为以下两种:
1.Nt式驱动:此驱动通过注册系统服务来加载,并且不支持即插即用功能(即没有处理IRP_MJ_PNP这个IRP)。
2.WDM驱动:此驱动不通过注册系统服务来加载,需要自己编写inf文件。同时,它与NT式驱动相比最大的特点就是支持即插即用功能。
第二类:微过滤驱动
微过滤驱动是微软推出的一个驱动框架。它将驱动程序内创建设备对象之类的操作全部封装了,让用户无需理会此部分繁杂的工作。用户只需要针对不同的IRP处理好他们响应的前-后操作还有用户态与内核态的通信即可,即可以理解为微过滤驱动对IRP的处理类似于用户态的API HOOK。下面一品威客网给您介绍windows驱动程序开发的步骤流程,希望对您有所帮助。
1、理解驱动程序和操作系统的基础知识
开始设计驱动程序之前,应该理解驱动程序在Windows操作系统中的基本工作原理。了解这些基本原理可以帮助开发人员作出正确的开发决定,选择正确的开发流程。
2、弄清楚与具体设备相关的驱动程序需求
每个Windows设备类都有具体的软硬件需求。设备和驱动程序应该遵循这些需求,以便能够与其它系统组件配合工作。在软硬件开发过程中,理解并遵循这些需求可以节约开发时间和资金投入。
3、做出各种驱动程序开发决定
在编写代码之前,需要作出一些基本的驱动程序设计决定。比如,决定驱动程序要在哪些Windows操作系统和硬件平台上运行,是否可以通过修改已有的示例驱动程序或以前的驱动程序达到目标,避免从零开始。
4、编译、测试及调试驱动程序
编译驱动程序与编译用户模式的应用程序并不相同。WDK文档给出了使用"free"和"checked"操作系统编译的技巧,以及配置驱动程序编译环境的提示。需要对尽可能多的硬件配置反复进行测试和调试,以确保驱动程序能够正确地工作。
5、提供驱动程序安装包
一个驱动程序必须安装哪些东西,这与驱动程序和设备的类型相关。WDK文档列出了必须提供的设备安装组件,以及设备安装过程中Windows所期望提供的东西。
6、发布驱动程序
这是驱动程序开发的最后一步。如果驱动程序符合微软Windows程序的质量标准,那么可以通过微软的Windows更新程序将其发布。
驱动开发的主要工具:DDK(Device Development Kit),WinDriver,DriverStudio,NIVISA。这几种开发工具各有优缺点。用WinDriver和DriverStudio开发驱动比DDK简单容易上手,但WinDriver开发驱动没法脱离WinDriver环境不好发布,所以还是用DriverStudio比较好。而NI-VISA主要用于仪器驱动程序开发,在仪器控制方面用得较多。需要指出的是,不管哪种开发方式,都离不开VC++开发环境。
以上就是好酷屋教程网小编为您收集和整理的驱动程序,百科,技术支持,标签相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/shenghuo/640b2f72462e701e1809bcd3.html
相关推荐
热门专题
喝酒后喝咖啡好吗
历来有美酒加咖啡的说法,美酒加咖啡听上去意境很美好,很多人也有这个习惯,在喝完酒后,来一杯香浓醇厚的咖啡解酒提神,喝酒后喝咖啡好吗?喝酒后喝咖啡不好美酒加咖啡不仅对身体没有好处,起不到醒酒提神的作用,白糖为什么能溶解鱼刺 用什么可以溶解鱼刺
鱼是生活中常见的常见的食物,很多人都喜欢吃吧,吃鱼的时候稍不注意就被鱼刺卡住了怎么办呢?听说用白糖可以帮助溶解鱼刺,这是为什么呢?白糖为什么能溶解鱼刺白糖没有溶解鱼刺的作用。白糖是生活中常见的食物,很葫芦岛财政局每月拨款时间几号
葫芦岛财政局每月拨款时间为15号。通过查询官方网站显示,财政局每月15号左右对事业单位拔款。具体消息可关注官方网站,获得第一手权威信息。财政局负责地方的财政工作,贯彻执行财务制度,按照政策组织财政收入全新胜达怎么下载酷狗
全新胜达可通过U盘、SD卡等设备里下好音乐,插入车上的相应接口,直接进行下载安装即可。建议使用系统自带的播放器,另外安装可能会出现不兼容的情况。全新胜达是北京现代旗下的高端中型豪华SUV,配备2.0T腐竹不能和什么一起吃
腐竹由于味道鲜美,营养丰富受到很多人的喜爱,所以也出现了各种腐竹的吃法,但是腐竹一旦没有搭配吃好就会拉肚子,那么腐竹不能和什么一起吃呢?腐竹不能和什么一起吃1、蜂蜜腐竹跟蜂蜜一起搭配,会造成腹泻,有损如何将多个类目放在一个海报里
用DW软件或者用PS软件做成切片连接,即可将多个类目放在一个海报里。海报这一名称,最早起源于上海,是一种宣传方式。旧时,海报是用于戏剧、电影等演出,活动的招帖。上海的人通常把职业性的戏剧演出称为海,而广州行间网络科技有限公司(关于广州行间网络科技有限公司介绍)
导读大家好,小升来为大家解答以上的问题。广州行间网络科技有限公司,关于广州行间网络科技有限公司介绍这个很多人还不知道,现在让我们一起来看...大家好,小升来为大家解答以上的问题。广州行间网络科技有限公白糖和鸡蛋能一起吃吗 白糖和鸡蛋一起吃有什么危害
鸡蛋是生活中很常见的食物,白糖是生活中常见的调味品,白糖和鸡蛋能一起吃吗?下面一起来看看吧!白糖和鸡蛋能一起吃吗建议不要。糖水荷包蛋是很多人日常喜欢吃的食物,夏天到了,不少人会选择白糖作为首选糖类,但金纹石有没有蜡质光泽
金纹石有蜡质光泽,金纹石主要是黑底(也有褐色底)以金黄色图纹为特征的图纹石,金纹石是奇石界的后起之秀,金纹石一般都质地坚硬,其水冲度高,石体光洁平滑细腻,部分玉化程度高。莫氏硬度在5到8度,金色纹路和界首市姜楼有拆迁计划吗
界首市姜楼有拆迁计划,姜楼村在颖南新区范围之内,属颖南新区控制区、建设区,村庄规划为拆迁区,是一定要拆的。界首,安徽省辖县级市,由阜阳市代管,位于安徽省西北部,别名界沟、小上海。南接临泉县、阜阳,东邻