基本概念
开发Windows平台的应用程序离不开微软提供的SDK,同样开发Windows驱动,也离不开微软提供的类似SDK的开发包。但是驱动模型的发展经历了几个过程,每个过程都有不同的驱动开发包,所以导致很多初学者容易弄混。
历史旧模型
驱动模型 驱动开发包 驱动扩展名
Vxd Windows 95 DDK .vxd
WDM(Windows Driver Model) DDK(Device Development Kit) .sys Windows 2000/XP/2003
以上全部忽略。
当前模型
驱动模型WDF (Windows Driver Foudation),驱动开发包 WDK(Windows Device Kit),其 驱动扩展名为 .sys 。支持的系统是 Windows Vista及以后的版本 。 是在 WDM的基础上 进行了建模和封装,提供了面向对象和事件驱动的驱动程序开发框架,特点是显著降低了开发难度。
WDF驱动模型有两种框架
WDF有KMDF(内核模式的驱动程序)和UMDF(用户模式的驱动程序)两种模式:
KMDF = Kernel-Mode Driver Framework
UMDF = User-Mode Driver Framework
WDF提供了两个框架:KMDF(内核模式驱动程序框架)和UMDF(用户模式驱动程序框架)。
1、内核模式驱动程序 KMDF(Kernel-Mode DriverFramework):