认识一下WDF

概念

WDF(Windows Driver Framework, Windows驱动框架)包含UMDF(User Mode Driver Framework, 用户模式驱动框架)和KMDF(Kernel Mode Driver Framework, 内核模式驱动框架)。

内容概括:

WDF是基于对象的框架,它包含:驱动对象、设备对象、IO请求对象、队列对象、目标对象等。
框架管理对象的生命周期。
框架为对象提供上下文空间、同步锁等手段,使容易安全的操作对象。
框架提供PME(Property/Method/Event)编程接口,它们的样子像Wdfxxx(),都是WDF框架提供的编程接口,把那些函数叫做“框架DDI接口”。
WDF封装了WDM,它实现了PNP与电源管理状态机,开发者只要提供简单的PNP与电源事件回调就能实现想要的功能。
WDF可以简便处理IO请求,使用IO请求对象能实现异步、同步处理,取消请求处理也很容易。通过IO队列,能实现多个IO请求串行、并行和手动处理,支持PNP和电源管理。

框架与其它模块的交互

内核对用户程序是透明的,用户程序不知道内核,用户程序通过Win32 API或更高级的用户层API跟WDF内核驱动交互。用户程序使用CreateFile与CloseHandle来打开关闭句柄,使用ReadFile、WriteFile和DeviceIoControl进行IO操作。
内核将收到用户程序的请求封装成IRP,再将IRP发给对应设备处理,并对设备处理的结果进行处理。
WDF框架就是一个内核库形式的WDM驱动,提供DDI接口给WDF驱动。WDF实现了各种IRP命令的分发函数。
WDF最大作用是实现对象模块、IO模块和PNP电源模块。
WDF能兼容不同的windows系统,同一个代码,不需要修改或者修改很少,就可以编译出支持不同windows系统的驱动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值