网站首页
手机版

如何进行windows驱动程序开发

更新时间:2022-04-03 17:41:00作者:未知

如何进行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++开发环境。


本文标签: 驱动程序  百科  技术支持  标签  

为您推荐

word如何进行全文分栏和某段落分栏 word如何进行全文分栏和某段落分栏的区别

word如何进行全文分栏和某段落分栏 在Word2003中,我们可以对一篇文章进行分栏设置,分两栏,分三栏都可以自己设置.像我们平常看到的报纸.公告.卡片.海报

2024-09-12 00:09

word2010大纲怎么显示(word文档显示大纲从哪里按出来)

word2010大纲怎么显示(word2010如何使用大纲视图) 有些时候我们在网上下载的一些word文档太长了,我们其实可以显示大纲,看清楚每一节是否有自己需

2024-09-12 00:08

七种常见的Word打印设置技巧 七种常见的word打印设置技巧视频

七种常见的Word打印设置技巧 七种常见的Word打印设置技巧 1.打印指定页码 有些时候,我们只希望打印文档中的某些页码,只要点击菜单命令"文件→打印",在打

2024-09-12 00:08

四种方框内打钩符号的简易方法 四种方框内打钩符号的简易方法是什么

四种方框内打钩符号的简易方法 如何在Word方框里打钩? 四种方框内打钩符号的简易方法   如何在Word方框里打钩? 一.在方框里打钩的方法一 利用带圈数字来

2024-09-12 00:08

Word文档中对表格中数据进行计算的方法

Word文档中对表格中数据进行计算的方法 Word文档中对表格中数据进行计算的方法 1.在表格的最后一个单元格中单击放置插入点光标,然后在"表格工具-布局"选项

2024-09-12 00:07

怎么关闭Word文档中自动添加项目编号(怎么关闭word文档中自动添加项目编号显示)

怎么关闭Word文档中自动添加项目编号 怎么关闭Word文档中自动添加项目编号 1.启动Word 2013,打开"Word选项"对话框,在左侧选择"校对"选项,

2024-09-12 00:07