尽管Windows平台的SDK、DDK与WDK都包含了WinDBG工具包,但是用户获取WinDBG工具包的最主要方式还是从微软网站自由下载,因为这样获得的版本最新。

最近因为工作需要,尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料。

DDK——Device Driver Kit,设备驱动程序开发包。
WDK——Windows Driver Kit,Windows驱动程序开发包,就是DDK升级改名了。
VxD——Virtual Device Driver,虚拟设备驱动程序,9X中的一种驱动程序。
WDM——Windows Driver Model,Windows驱动程序模型,98以上版本的一种驱动程序。
驱动程序的文件格式都是PE格式。
一般用VC和MASM编写驱动程序。
开发工具是WDK(DDK)。
驱动程序与操作系统有关,有些相近的系统有可能可以运行同一驱动程序,与驱动程序中使用的系统功能有关。
驱动程序可以是针对某一特定硬件的,为系统提供管理硬件的各种功能;也可以是针对系统设备的,对系统的输入输出做一些处理,实现特定的功能。

  1、首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。(DDK是WDK的前身,后来改名叫WDK。)

简单说明:

 SDK 软件开发工具DDK 驱动开发工具WDK windows驱动开发工具

  2、DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别:

  这个要说说驱动相关的一些历史:

  1).95/98/ME下,驱动模型为:Vxd,相关资料可以看《编程高手箴言》的前几个章节,里面有很详细的介绍,虽然这个东西已经过时,但大概看看还是会增长见识的。

  2).2000/XP/2003下,Windows采用WDM驱动模型(Windows Driver Model),开发2000/XP/2003的驱动开发包为:DDK。

  3).Vista及以后版本,采用了WDF驱动模型(Windows Driver Foudation),对应的开发包:WDK。

其实WDK可以看做是DDK的升级版本,现在一般的WDK是包含以前DDK相关的功能,现在XP下也可以用WDK开发驱动,WDK能编译出2000-2008的各种驱动。

  3、Vxd驱动文件扩展名为:.vxd

     WDM和WDF驱动文件扩展名为:.sys。

参考资料:

1.http://topic.csdn.net/u/20071225/13/bbb7eeba-7abf-483d-8724-abb76aa4e22c.html

2.http://topic.csdn.net/u/20090104/16/9d09f896-fd4b-4b6b-807c-990ddc63c35b.html

3.http://topic.csdn.net/u/20080204/19/2ca8d266-f384-4d8f-865c-c16a33aa97b0.html

客户端开发 Windows驱动开发(1)SDK WDK DDK WDM的关系相关推荐

  1. C++开发方向之windows驱动开发

    1.为什么要写这篇文章? 最近浏览招聘网站看到关于windows驱动开发的岗位,前几天一个C++客户端工作岗位,猎头也问我是否有了解windows内核. 所以,调研了一下C++的开发方向:window ...

  2. 《Windows驱动开发技术详解》学习笔记

    Abstract   如果推荐 Windows 驱动开发的入门书,我强烈推荐<Windows驱动开发技术详解>.但是由于成书的时间较早,该书中提到的很多工具和环境都已不可用或找不到,而本文 ...

  3. windows驱动开发环境搭建以及helloworld

    文章目录 前言 编译环境-WDK的安装 搭建测试驱动的虚拟机 win11虚拟机 win10虚拟机 在测试机器上运行驱动 修改注册表-显示调试信息 上面驱动代码含义 测试证书签名 其他 旧版本的visu ...

  4. 9、Windows驱动开发技术详解笔记(5) 基本语法回顾

    5.在驱动中获取系统时间 1)获取启动毫秒数 在ring3 我们可以通过一个GetTickCount 函数来获得自系统启动开始的毫秒数,在ring0也有一个与之对应的KeQueryTickCount ...

  5. Windows驱动开发学习笔记(二)—— 驱动调试内核编程基础

    Windows驱动开发学习笔记(二)-- 驱动调试&内核编程基础 基础知识 驱动调试 PDB(Program Debug Database) WinDbg 加载 PDB 实验:调试 .sys ...

  6. 配置windows驱动开发环境

    配置windows驱动开发环境                    撰写:jiftle 时间:2011-09-09 14:30                     windows驱动开发需要wd ...

  7. [Windows驱动开发](一)序言

    笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓--内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...

  8. windows驱动开发学习

    序言]  很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资 料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从 事驱动开发时间不长也不短, ...

  9. Windows编程—Windows驱动开发环境搭建

    文章目录 前言 步骤 步骤一 步骤二 步骤三 连接测试 步骤四 步骤五 总结 前言 作为一个编写Windows程序的开发人员,对Windows驱动开发 并非必需要掌握,但是掌握 Windows驱动开发 ...

最新文章

  1. @HostListener 可接收的事件列表
  2. [转载]IE678兼容性前缀区分
  3. 【Linux 内核】实时调度类 ① ( 进程分类 | 实时进程、普通进程 | Linux 内核 SCHED_FIFO、SCHED_RR 调度策略 | 实时调度实体 sched_rt_entity )
  4. 关于超级计算机的英语作文,中国研制出世界最强超级计算机
  5. 优化mysql slave的同步速度
  6. H.264视频编码在VC++.Net中的实现
  7. python pyqt5安装_Python3 安装PyQt5及exe打包图文教程
  8. python的功能名称_ML获取功能选择后的功能名称SelectPercentile,python
  9. Nature Biotechnology | 单细胞转录组不同建库及数据分析方法的测评结果
  10. FisherYates费雪耶兹随机置乱算法
  11. windows下mysql安装包安装
  12. JSP程序设计之(1)Tomcat安装及环境变量配置
  13. 408考研计算机网络视频,计算机408考研视频哪个好
  14. 各种浏览器下的页面元素xpath获取方法
  15. 让生活服务“说到做到”,美团语音应用平台的底气在哪里?
  16. 美国大数据工程师面试指南(建议收藏)
  17. 专家学者热议智慧交通:大数据云计算,出行有“千里眼”
  18. node.js版本不同,跑不起项目(个人笔记)
  19. 运维工程师面试题整理——》 IDC机房运维
  20. 关于“AHCI模式”解析

热门文章

  1. Dev-C++5.11游戏创作之简易小炸弹
  2. 柔性电子:超薄可延伸Ag-In-Ga电子皮肤,用于生物电子和人机交互
  3. 微信小程序 wx.request 的封装
  4. IE的layout布局
  5. 使用Kronecker积计算手眼标定矩阵AX=XB
  6. 那些看过一次后,就令人心里一动的美好词汇
  7. 计算机网络——网络层路由协议、IP组播、移动 IP、路由器
  8. Nebula Exchange 从Hive导入 NoSuchMethodError
  9. 微信h5图表组件制作教程
  10. css3波浪动画特效