基于WDF的驱动开发
WDF的开发需要遵循一定的规则,开发实现时需要考虑较多的细节,由于篇幅有限,笔者凭着自己的经验暂且稍做列举,后续将写一篇针对WDF驱动开发的文章。
安信接Windows驱动开发外包
PNP和电源管理(WDF已经帮忙封装了大部分的接口);
各种对象:驱动对象,设备对象,WDF对象,文件对象,队列对象;
驱动上下文:有时称为设备扩展,用于存储特定设备对象的相关信息的数据结构;
对象的释放:需要考虑不同性质对象释放的时机;
中断请求级别:处理不当易导致蓝屏;
分页与非分页内存;
同步锁:回调同步锁、框架等待锁、自旋锁、中断锁等;
日志跟踪记录: 调试的必备,可以采用 WPP(Windows软件追踪预处理器)或简单的 DebugPrint 输出
与应用程序的通讯:控制代码、IRQ,请求队列
WDF的开发需要遵循一定的规则,开发实现时需要考虑较多的细节,由于篇幅有限,笔者凭着自己的经验暂且稍做列举,后续将写一篇针对WDF驱动开发的文章。
安信接Windows驱动开发外包
PNP和电源管理(WDF已经帮忙封装了大部分的接口);
各种对象:驱动对象,设备对象,WDF对象,文件对象,队列对象;
驱动上下文:有时称为设备扩展,用于存储特定设备对象的相关信息的数据结构;
对象的释放:需要考虑不同性质对象释放的时机;
中断请求级别:处理不当易导致蓝屏;
分页与非分页内存;
同步锁:回调同步锁、框架等待锁、自旋锁、中断锁等;
日志跟踪记录: 调试的必备,可以采用 WPP(Windows软件追踪预处理器)或简单的 DebugPrint 输出
与应用程序的通讯:控制代码、IRQ,请求队列