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

  1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。

  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

【hyddd驱动开发学习】DDK与WDK相关推荐

  1. windows xp 驱动开发(三)DDK与WDK WDM的区别

    转自: http://www.cnblogs.com/hyddd/archive/2009/03/15/1412684.html 最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料. ...

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

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

  3. Windows驱动开发学习笔记(七)—— 多核同步内核重载

    Windows驱动开发学习笔记(七)-- 多核同步 基础知识 并发与同步 分析 InterlockedIncrement 原子操作相关API 内核文件 多核同步 临界区 示例一:错误的临界区 示例二: ...

  4. Windows驱动开发学习笔记(六)—— Inline HOOK

    Windows驱动开发学习笔记(六)-- Inline HOOK SSDT HOOK Inline Hook 挂钩 执行流程 脱钩 实验一:3环 Inline Hook 实验二:0环 Inline H ...

  5. Windows驱动开发学习笔记(五)—— SSDT HOOK

    Windows驱动开发学习笔记(五)-- SSDT HOOK 系统服务表 系统服务描述符表 实验一:通过代码获取SSDT表地址 通过页表基址修改页属性 方法1:修改页属性 方法2:修改CR0寄存器 实 ...

  6. Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)

    Windows驱动开发学习笔记(四)-- 3环与0环通信(常规方式) 设备对象 创建设备对象 设置数据交互方式 创建符号链接 IRP与派遣函数 IRP的类型 其它类型的IRP 派遣函数 派遣函数注册位 ...

  7. Windows驱动开发学习笔记(三)—— 内核空间内核模块

    Windows驱动开发学习笔记(三)-- 内核空间&内核模块 内核空间 实验 第一步:编译如下代码 第二步:将 .sys 文件拷贝到虚拟机中 第三步:部署 .sys 文件并运行 第四步:创建一 ...

  8. Windows驱动开发学习笔记(一)—— 环境配置第一个驱动程序

    Windows驱动开发学习笔记(一)-- 环境配置&第一个驱动程序 环境配置 第一个驱动程序 环境配置 安装VS2010:https://pan.baidu.com/s/1uZWWxCtB60 ...

  9. Android深度探索(卷1)HAL与驱动开发学习笔记(8)

    Android深度探索(卷1)HAL与驱动开发学习笔记(8) 第八章 蜂鸣器驱动   L i n u x驱动的代码重用有很多种方法.可以采用标准C程序的方式.将要重用的代码放在其他的文件(在头文件中声 ...

最新文章

  1. Java开发面试问题,Java中高级核心知识全面解析(10)
  2. 研究38位知名CEO的邮件后,我们有这9个发现
  3. 时光已荏苒,我还怎么让你遇见最美年华里的我
  4. main函数的入口函数
  5. 10.1 HTML介绍与开发环境的搭建
  6. 【微信小程序】使用Hystrix的插件机制
  7. 人工智障学习笔记——机器学习(3)决策树
  8. golang mysql连接池原理_redis mysql 连接池 之 golang 实现
  9. 页面字符编码不一致的处理
  10. BZOJ4415: [Shoi2013]发牌
  11. 关于Tuxera NTFS mac还有你不知道的用法!教程来啦!
  12. 未来五年最具前景的一门编程语言是什么?
  13. 网吧局域网搭建(思科网络方案课程设计)
  14. 比特红:万物可直播、人人能带货
  15. 2016 博客导读总结 个人感悟
  16. 《人性的弱点全集》- [美]戴尔·卡耐基/著
  17. 打印机定影膜引起的诡异故障
  18. 利用 OpenGL ES 给视频播放器和相机做个字符画滤镜
  19. BUUCTF-Crypto-看我回旋踢
  20. beego框架orm操作exper的操作

热门文章

  1. npm、cnpm、yarn的安装与常用命令
  2. linux对文件属性及权限操作的一些基本命令
  3. (C# TCP异步)客户端异常断开,服务器利用KeepAlive监测
  4. spring读取多个配置properties报错“Could not resolve placeholder“的解决方案
  5. Android Studio支持Java1.8的解决方案
  6. SQL Server 本地数据库登录不上 解决方法
  7. Git钩子脚本可以和存储库一起管理吗?
  8. android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记
  9. Win10电脑死机怎么办
  10. win11安装报错0xc1900101怎么办 Windows11安装报错0xc1900101的解决方法