core WDF features:
- 提供objects:driver,device,I/O request objects
- driver通过良好的接口访问objects
- framework管理object的生命周期、跟踪并可删除object
- framework实现了状态机来管理PnP,powermanager,同步,I/O quest,注册表访问,取消请求
- framework管理来自windows的I/O流,并和PnP,powermanager协调I/O queue
- 每个framework一致的对所有windows版本都进行支持
principle:
driver代码应该尽量用于管理device
WDF driver opts in to override WDF default as required,其他由framework来处理
WDF driver 通过framework objects和其他driver或windows通信:I/O request, I/O flow management, synchronization, memory buffers, 硬件资源访问(如注册表和中断)
WDF对不同类型的driver有extentions:UMDF和KMDF为USB设备提供了不同的extensions进行通信
所有驱动都支持的功能会加入framework's DDI