客户端开发 Windows驱动开发(1)SDK WDK DDK WDM的关系
尽管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的关系相关推荐
- C++开发方向之windows驱动开发
1.为什么要写这篇文章? 最近浏览招聘网站看到关于windows驱动开发的岗位,前几天一个C++客户端工作岗位,猎头也问我是否有了解windows内核. 所以,调研了一下C++的开发方向:window ...
- 《Windows驱动开发技术详解》学习笔记
Abstract 如果推荐 Windows 驱动开发的入门书,我强烈推荐<Windows驱动开发技术详解>.但是由于成书的时间较早,该书中提到的很多工具和环境都已不可用或找不到,而本文 ...
- windows驱动开发环境搭建以及helloworld
文章目录 前言 编译环境-WDK的安装 搭建测试驱动的虚拟机 win11虚拟机 win10虚拟机 在测试机器上运行驱动 修改注册表-显示调试信息 上面驱动代码含义 测试证书签名 其他 旧版本的visu ...
- 9、Windows驱动开发技术详解笔记(5) 基本语法回顾
5.在驱动中获取系统时间 1)获取启动毫秒数 在ring3 我们可以通过一个GetTickCount 函数来获得自系统启动开始的毫秒数,在ring0也有一个与之对应的KeQueryTickCount ...
- Windows驱动开发学习笔记(二)—— 驱动调试内核编程基础
Windows驱动开发学习笔记(二)-- 驱动调试&内核编程基础 基础知识 驱动调试 PDB(Program Debug Database) WinDbg 加载 PDB 实验:调试 .sys ...
- 配置windows驱动开发环境
配置windows驱动开发环境 撰写:jiftle 时间:2011-09-09 14:30 windows驱动开发需要wd ...
- [Windows驱动开发](一)序言
笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓--内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...
- windows驱动开发学习
序言] 很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资 料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从 事驱动开发时间不长也不短, ...
- Windows编程—Windows驱动开发环境搭建
文章目录 前言 步骤 步骤一 步骤二 步骤三 连接测试 步骤四 步骤五 总结 前言 作为一个编写Windows程序的开发人员,对Windows驱动开发 并非必需要掌握,但是掌握 Windows驱动开发 ...
最新文章
- @HostListener 可接收的事件列表
- [转载]IE678兼容性前缀区分
- 【Linux 内核】实时调度类 ① ( 进程分类 | 实时进程、普通进程 | Linux 内核 SCHED_FIFO、SCHED_RR 调度策略 | 实时调度实体 sched_rt_entity )
- 关于超级计算机的英语作文,中国研制出世界最强超级计算机
- 优化mysql slave的同步速度
- H.264视频编码在VC++.Net中的实现
- python pyqt5安装_Python3 安装PyQt5及exe打包图文教程
- python的功能名称_ML获取功能选择后的功能名称SelectPercentile,python
- Nature Biotechnology | 单细胞转录组不同建库及数据分析方法的测评结果
- FisherYates费雪耶兹随机置乱算法
- windows下mysql安装包安装
- JSP程序设计之(1)Tomcat安装及环境变量配置
- 408考研计算机网络视频,计算机408考研视频哪个好
- 各种浏览器下的页面元素xpath获取方法
- 让生活服务“说到做到”,美团语音应用平台的底气在哪里?
- 美国大数据工程师面试指南(建议收藏)
- 专家学者热议智慧交通:大数据云计算,出行有“千里眼”
- node.js版本不同,跑不起项目(个人笔记)
- 运维工程师面试题整理——》 IDC机房运维
- 关于“AHCI模式”解析