-
WDM(Windows Driver Model)和WDF(Windows Driver Foudation)的区别
- 2000/XP/2003下,Windows采用WDM驱动模型,开发2000/XP/2003的驱动开发包为:DDK。
- Vista及以后版本,Windows采用WDF驱动模型,对应的开发包:WDK。
- WDK可以看做是DDK的升级版本,现在一般的WDK是包含以前DDK相关的功能,现在XP下也可以用WDK开发驱动,WDK能编译出2000-2008的各种驱动。
- DDK(Driver Developer Kit)和WDK(Windows Driver Kit)的区别
- wdf驱动框架对WDM进行了一次封装。例如对于Pnp管理和电源管理,基本上都由WDF框架做了,而WDF的功能驱动几乎不要对它进行特殊的处理。
- WDF 驱动采用队列进行IO处理,而WDM中将所有的IO操作都用默认的队列进行处理,如果要进行IRP同步,必须使用StartIO。
- WDF是面向对象的,而WDM是面向过程的,WDF提供对象的封装,如将IRP封装成WDFREQUEST,对象提供方法和Event。