有两类Windows驱动程序:

  • 用户态驱动程序 运行在用户态,它们经常提供Win32程序、核心态驱动(或其它系统组件)之间的接口。比如打印机驱动就是由用户态和核心态驱动组成的。
  • 核心态驱动程序 运行在核心态,由核心态系统组件组成。核心态驱动程序大多是分层的。通常,高层驱动从应用程序接收、筛选数据,并将它们送给支持设备功能的更低层驱动。
    • 有些核心态驱动程序本身也是WDM驱动。所有的WDM驱动程序都支持即插即用、电源管理。WDM驱动在Win98/Me和Win2000之间是源代码兼容的(不是二进制兼容)
    • 和操作系统一样,核心态驱动程序也被设计成分散的、模块化的组件。

下图把核心态驱动分成了若干部分:

转载于:https://blog.51cto.com/xiong/18121

Windows驱动程序的分类相关推荐

  1. Windows驱动程序分类

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

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

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

  3. VxWorks设备驱动程序开发指南---驱动程序的分类

    8D Spaces Reliability & Stability & Efficiency 目录视图 摘要视图 订阅 VxWorks设备驱动程序开发指南(三)---驱动程序的分类 2 ...

  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. ess用户名和密码_陈ess洁如何从摄影系学生转变为成功的自由职业者和内容创作者(播客)...
  2. ICCV 2021 Oral | NerfingMVS:引导优化神经辐射场实现室内多视角三维重建
  3. 云计算之路-试用Azure:数据库备份压缩文件在虚拟机上的恢复速度测试
  4. 斗地主程序设计c语言,C语言斗地主游戏v0.1
  5. c# dynamic 无法创建 泛型变量的问题
  6. c语言编程宝典pdf,C语言编程宝典之一.pdf
  7. 8X25Q充电部分软件梳理(CP侧)
  8. ArcEngine中打开各种数据源(WorkSpace)的连接
  9. JAVA遇上HTML-----JSP 篇基本概念
  10. 7.1 封装(Java包(package)的概念+访问权限修饰符(public/private/protected/default))
  11. QEMU仿真aarch64处理器运行Linux kernel
  12. 修改mac地址导致计算机无法上网,如何解决Win7计算机上无法修改MAC地址的问题...
  13. matlab对频谱傅里叶逆变换,基于功率谱的傅里叶逆变换问题
  14. 代码审计——你是如何发现那些有缺陷的代码的
  15. JS 基础知识(自学篇)
  16. 国庆节头像生成器微信小程序源码,可挂流量主【源码好又多】
  17. 一维数组的使用:逆序输出数据/:任意输入5个数据,存放于数组,编程实现将这5个数据逆序存放并输出
  18. 在游戏上第3部分完美的信息游戏
  19. 《广东省灵活就业人员参加失业保险办法(试行)》的通知
  20. 数据库实验九2021011206贾天乐

热门文章

  1. 金蝶K3很有意义的数字3
  2. 网吧电源和网络布线经验谈(1)
  3. 唠唠SE的集合-10——Collections工具类
  4. III (十七) haproxy(2)
  5. software RAID0+cryptsetup磁盘加密
  6. codevs——1019 集合论与图论
  7. Node.js REST 工具 Restify
  8. 彻底关闭windows server 2008 IPv6
  9. zabbix数据库表结构简单解析
  10. 实例解说Linux中fdisk分区使用方法