简介

  驱动程序最熟知的便是即插即用设备驱动程序,诸如串口、网口、显示器接口的驱动程序。然而,这仅是其中一类。本文是对Windows驱动程序分类进行梳理,实质上所有的操作系统驱动都具有相通性。

正文

  直接上图:

#mermaid-svg-r7KlYCigV63CHsc3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-r7KlYCigV63CHsc3 .error-icon{fill:#552222;}#mermaid-svg-r7KlYCigV63CHsc3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-r7KlYCigV63CHsc3 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-r7KlYCigV63CHsc3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-r7KlYCigV63CHsc3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-r7KlYCigV63CHsc3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-r7KlYCigV63CHsc3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-r7KlYCigV63CHsc3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-r7KlYCigV63CHsc3 .marker.cross{stroke:#333333;}#mermaid-svg-r7KlYCigV63CHsc3 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-r7KlYCigV63CHsc3 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-r7KlYCigV63CHsc3 .cluster-label text{fill:#333;}#mermaid-svg-r7KlYCigV63CHsc3 .cluster-label span{color:#333;}#mermaid-svg-r7KlYCigV63CHsc3 .label text,#mermaid-svg-r7KlYCigV63CHsc3 span{fill:#333;color:#333;}#mermaid-svg-r7KlYCigV63CHsc3 .node rect,#mermaid-svg-r7KlYCigV63CHsc3 .node circle,#mermaid-svg-r7KlYCigV63CHsc3 .node ellipse,#mermaid-svg-r7KlYCigV63CHsc3 .node polygon,#mermaid-svg-r7KlYCigV63CHsc3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-r7KlYCigV63CHsc3 .node .label{text-align:center;}#mermaid-svg-r7KlYCigV63CHsc3 .node.clickable{cursor:pointer;}#mermaid-svg-r7KlYCigV63CHsc3 .arrowheadPath{fill:#333333;}#mermaid-svg-r7KlYCigV63CHsc3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-r7KlYCigV63CHsc3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-r7KlYCigV63CHsc3 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-r7KlYCigV63CHsc3 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-r7KlYCigV63CHsc3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-r7KlYCigV63CHsc3 .cluster text{fill:#333;}#mermaid-svg-r7KlYCigV63CHsc3 .cluster span{color:#333;}#mermaid-svg-r7KlYCigV63CHsc3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-r7KlYCigV63CHsc3 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

设备驱动程序
即插即用驱动程序
WDM:Windows Driver Model驱动程序,硬件和系统连接的驱动
内核扩展驱动程序
扩展内核功能的驱动程序
文件系统驱动程序
本地文件或网络文件读写驱动程序

  内核扩展驱动程序也称作非即插即用驱动程序,这种驱动程序的主要作用是提供了用户程序访问内核信息的方式。这类驱动不受即插即用管理器控制、识别,也就是设备管理器这里是看不到的。使用的时候是用户程序通过服务控制管理器(SCM)进行安装卸载,通过IO管理器与驱动进行通信。

通过代码介绍

详见WinRing0.sys驱动的使用章节

Windows驱动程序分类相关推荐

  1. Windows驱动程序的分类

    有两类Windows驱动程序: 用户态驱动程序 运行在用户态,它们经常提供Win32程序.核心态驱动(或其它系统组件)之间的接口.比如打印机驱动就是由用户态和核心态驱动组成的. 核心态驱动程序 运行在 ...

  2. 易语言常用WINdows API分类查询

    WINdows API分类 1.API之网络函数 2.API之消息函数 3.API之文件处理函数 4.API之打印函数 5.API之文本和字体函数 6.API之菜单函数 7.API之位图.图标和光栅运 ...

  3. PCI设备WINDOWS驱动程序的开发

    PCI设备WINDOWS驱动程序的开发 摘要:本文主要介绍了在Windows9x操作系统下开发PCI设备驱动程序的方法. 关键词:PCI设备 驱动程序 PCI设备概述 近几年来,随着诸如图形处理.图像 ...

  4. 47、Windows驱动程序模型笔记(五),内存管理

    内存管理<?xml:namespace prefix = o /> 1)内核模式与用户模式地址 图示 地址空间中用户模式部分和内核模式部分 每个用户模式进程都有自己的地址上下文,它把用户模 ...

  5. windows驱动程序编写_如何在Windows中回滚驱动程序

    windows驱动程序编写 Updating a driver on your PC doesn't always work out well. Sometimes, they introduce b ...

  6. Windows驱动程序运行时函数的调用

    编译器厂商一般在发布其编译器的时候,会连同运行时函数一同发布.Windows驱动程序不能再代码中使用编译器提供的运行时函数,因为大部分运行时函数是基于Win32 API实现的,由于Win 32 API ...

  7. Windows驱动程序调用约定

    调用约定是指在函数进行调用的时候,会根据不同的调用规则,翻译成不同的汇编代码.不同的调用约定,会有不同的参数的入参顺序,和调用堆栈的处理方式.比较常用的分为C语言调用约定_cdecl,和标准调用约定_ ...

  8. Windows驱动程序开发语言

    Windows驱动程序和Win32应用程序一样,都是PE格式,所以说,只要某种语言的编译器能够编译出PE格式的二进制格式文件,并且能够设置驱动程序的入口地址,那么这种语言就可以用来开发Windows驱 ...

  9. firefox驱动_零适配 + 全兼容!龙芯电脑推出办公外设利旧通用解决方案:运行原生 Windows 驱动程序...

    龙芯中科宣布推出创新的办公外设利旧通用解决方案,采用跨指令兼容的二进制翻译(Binary Translation)技术,在龙芯电脑上运行原生的 Windows 驱动程序,具有 "零适配.全兼 ...

最新文章

  1. 【教程】1、加载静态内容
  2. 项目发布错误的解决方法
  3. yenv - 一个使用 JAML 文件管理环境的 Node.js 工具
  4. S3C6410启动模式介绍
  5. oracle中游标的使用
  6. excel匹配_Excel常用的关联匹配函数
  7. jQuery加载js脚本
  8. MAPinfo学习笔记
  9. 交互原型案例Axure50套
  10. 并联串联混合的电压和电流_如何正确地把锂电池串联和并联起来
  11. 华为路由模拟器3.0参考实验7----直连路由无法ping通解决办法
  12. 最新IOS开发学习资料整理(进阶必备)
  13. 2019年MongoDB中文社区 长沙大会
  14. 校招-蘑菇街,阿里面试总结
  15. 学法医的写代码,学刑侦的做运营……原来阿里人读过那些奇葩专业!
  16. Arduino + GP2D12红外测距传感器+LCD1602
  17. 腾讯辟谣心悦3玩家“特权”;共享充电宝陷入生死危机
  18. ArcMAP实现矢量数据平移
  19. 为什么不太建议你通过 Python 去找工作?
  20. Linux 块设备层中的Multi-queue分析

热门文章

  1. 《查理·芒格传》精髓:查理芒格传奇的一生及背后的投资逻辑。
  2. 怎样看待比自己强的人
  3. 人的差距是数量级的、美国工程院士杰夫迪恩、比贫穷更可怕的是、吾生也有涯
  4. Exchange 2010 Ps 之邮箱稽核和稽核内容导出!
  5. HTML与CSS学习第16天
  6. 美尼尔综合症的中药调理
  7. OpenCV:解释rows,cols,channels=img2.shape,roi = img1[0:rows, 0:cols ]这行代码
  8. Linux挂载磁盘分区
  9. 2017_ASDL-GAN_Automatic Steganographic Disortion Learning Using a Generative Adversarial Network
  10. 最新的Android版本是什么? 以及如何更新到当前的Android操作系统?