如果你已经翻过 Windows 驱动开发的前两门课,或者自己写过一两个 WDM 驱动、被派遣函数和 IRP 的层层判转发折磨过,这门《WDF 驱动开发入门》大概率能帮你把思路重新理顺。它不是给完全零基础的人准备的,直接跳到 Windows 内核里做驱动,对没接触过内核调试、没读过 WDM 结构的人来说门槛太高。
它解决的是「框架切换」这件事
WDM 驱动写起来最累的地方不是逻辑本身,而是你必须亲手处理大量机械性的工作:IRP 的每一个次功能码要自己判断,设备对象的创建和销毁顺序要自己维护,电源状态切换、即插即用请求的路由都要在派遣函数里逐个分支。代码一多,真正跟业务相关的部分反而被淹没了。
WDF(Windows Driver Frameworks,现在通常叫 KMDF/UMDF)把这些重复劳动交给了框架。框架帮你接管 IRP 的分发、对象的生命周期、电源和 PnP 的默认处理流程,你只需要注册关心的事件回调,把业务逻辑填进去。这门课要讲的就是这个转变:从「我处理每一个 IRP」变成「我告诉框架我对什么事件感兴趣」。这不是换个 API 那么简单,思维方式得跟着换,所以课程花了不少篇幅在面向对象和事件机制上。
学完能独立做什么
- 能读懂一个 WDF 驱动的骨架结构,说清楚驱动对象、设备对象、IO 队列各自负责什么、在什么时候被创建和销毁;
- 能自己写一个简单的 KMDF 功能驱动或过滤驱动,把 IO 请求接进队列、按顺序或并行地处理,并把结果回给上层;
- 能让别人装得上——理解 INF 文件里那几个关键字段在做什么,而不是靠抄模板改字;
- 遇到一个 IRP 相关问题,知道该去哪个回调、哪个队列配置里找原因,而不是从头到尾打断点。
这些目标不夸张,但也不轻松。WDF 的框架对象和事件回调数量不少,课程能帮你建立结构,剩下的是自己动手写。
资料怎么用效率更高
建议不要一口气把对象和回调的清单背下来。先看事件机制那部分,把「派遣函数 → 事件回调」的对应关系搞清楚,这是全课的地基。地基通了,再去逐个看驱动对象、设备对象、IO 队列、IO 请求,你会发现它们只是挂在地基上的具体容器。
IO 队列和 IO 请求这两块值得多花时间,尤其是队列的调度方式(顺序、并行、手动)直接决定驱动在高并发下的行为。过滤驱动那部分,重点看 WDF 怎么对 IRP 做预处理和再下发,这是很多人从 WDM 迁移过来最不习惯的地方。
INF 和安装的部分容易被跳过,但装不上、装完不加载、加载了报错,是驱动新手最常见的卡点,建议边看边在虚拟机上实践一遍。
适合什么基础的人
至少写过或读过 WDM 驱动,知道 IRP、设备栈、派遣函数大概是干什么的。完全不熟悉内核调试、没碰过虚拟机的读者,建议先把前两门课过一遍再进来。这不是一门速成课,它更像是一次框架层面的重新训练,耐心跟着走,比急着跑通一个例子有用。
课程目录
课程目录92 集
- 01 WDF驱动的来龙去脉 01 WDF驱动开发全书简介.mp4
- 02 WDF驱动开发入门简介之1.mp4
- 03 WDF驱动开发入门简介之2.mp4
- 04 三种驱动模型的HelloWord代.mp4
- 05 NT式驱动的编译安装调试.mp4
- 06 WDM式驱动的编译安装调试.mp4
- 07 WDF式驱动的编译安装调试.mp4
- 08 驱动开发模型的概念介绍之1.mp4
- 09 驱动开发模型的概念介绍之2.mp4
- 10 驱动开发模型的概念介绍之3.mp4
- 11 亲手编写NT驱动代码.mp4
- 12 NT驱动创建设备并编写派遣函数.mp4
- 13 WDM驱动模型与原理分析.mp4
- 14 WDM驱动程序工程的创建.mp4
- 15 KMDF驱动模型的原理分析.mp4
- 16 KMDF驱动工程的创建.mp4
- 17 UMDF驱动模型的原理分析.mp4
- 18 UMDF驱动工程的创建.mp4
- 19 UMDF和KMDF驱动的安装与调试.mp4
- 20 TraceEvents调试的讲解.mp4
- 02 驱动程序的双机调试 01 -配置驱动开发环境1--vs2015+SDK+WDK+VMW.mp4
- 02 配置驱动开发环境2--配置串口、vs2015调试设备、虚拟机.mp4
- 03 双机调试的讲解之1.mp4
- 04 双机调试的讲解之2.mp4
- 05 双机调试的讲解之3.mp4
- 03 亲手解剖WDF驱动 01 亲手创建WDF驱动的步骤讲解.mp4
- 02 亲手创建WDF驱动工程.mp4
- 03 亲手创建WDF驱动的代码详解.mp4
- 04 亲手创建WDF驱动的编译安装调试.mp4
- 05 亲手创建WDF驱动的知识点总结.mp4
- 06 WDF驱动的几个核心对象讲解.mp4
- 07 WDF对象模型的讲解.mp4
- 08 WDF对象模型的讲解之2.mp4
- 09 WDF的IO请求队列的讲解.mp4
- 10 WDF的IO请求包及IRP的总结.mp4
- 11 WDF的IRP及IO堆栈的总结分析.mp4
- 12 WDF驱动模型及开发流程的总结.mp4
- 04 WDF驱动框架讲解 01 WDF驱动总体框架流程图的分析总结.mp4
- 02 WDF兼容性与对象模型简介.mp4
- 03 WDF对象计数机制的简介.mp4
- 04 WDF的PME接口简介.mp4
- 05 WDF的DDI接口简介.mp4
- 06 WDF驱动对象与设备对象的简介.mp4
- 07 WDF的IO模型的简介.mp4
- 08 WDF驱动模型的小结.mp4
- 05 KMDF驱动框架及案例实战 01 KMDF驱动程序案例演示及分析.mp4
- 02 KMDF驱动程序的代码详解之1.mp4
- 03 KMDF驱动程序的代码详解之2.mp4
- 04 WDM驱动程序框架的分析总结.mp4
- 05 KMDF驱动程序框架的分析总结.mp4
- 06 IO请求对象WDFRequest的理论分析.mp4
- 07 IO请求对象WDFRequest的基本操作.mp4
- 08 WDF框架的其他几个重要对象.mp4
- 09 QueueSample的原理分析与讲解.mp4
- 10 QueueSample代码详解之1.mp4
- 11 QueueSample代码详解之2.mp4
- 12 RegSample的原理分析与讲解.mp4
- 13 RegSample代码详解之1.mp4
- 14 RegSample代码详解之2.mp4
- 15 RegSample应用层代码讲解.mp4
- 16 RegSample应用层MFC代码讲解之1.mp4
- 17 RegSample应用层MFC代码讲解之2.mp4
- 18 应用层与驱动层通信.mp4
- 19 IOSample原理2+6=4奇怪现象的详解.mp4
- 20 IOSample的应用层代码解析.mp4
- 21 CancelSample原理与代码的详解.mp4
- 22 CancelSample应用层代码的详解之1.mp4
- 23 CancelSample应用层代码的详解之2.mp4
- 24 EventSample原理与代码的详解.mp4
- 25 EventSample安装调试及应用层代码解析.mp4
- 26 即插即用与电源管理的讲解.mp4
- 27 电源管理的原理分析与代码讲解.mp4
- 06 KMDF过滤驱动 01 WDF过滤驱动的效果演示与原理分析.mp4
- 02 WDF过滤驱动代码详解之1.mp4
- 03 WDF过滤驱动代码详解之2.mp4
- 04 WDF过滤驱动手把手修改INF文件并安装.mp4
- 05 WDF过滤驱驱动双机调试.mp4
- 07 WDF官方文档解读 01 KMDF官方文档解读之1.mp4
- 02 KMDF官方文档解读之2.mp4
- 03 KMDF官方文档解读之3.mp4
- 04 KMDF官方文档解读之4.mp4
- 05 UMDF官方文档解读之1.mp4
- 06 UMDF官方文档解读之2.mp4
- 07 UMDF官方文档解读之3.mp4
- 08 驱动程序的安装及INF文件解析 01 驱动程序安装讲解之1.mp4
- 02 驱动程序安装讲解之2.mp4
- 03 驱动程序安装讲解之3.mp4
- 04 INF文件基本概念讲解.mp4
- 05 INF文件之注册表指令的讲解.mp4
- 06 INF文件之文件指令和服务指令的讲解.mp4
- 07 INF文件之基本域的讲解的讲解.mp4
- 08 INF文件之其他域的讲解.mp4






