WDF驱动程序模型
2022-04-15
82
0
WDF驱动程序模型定义了一个面向对象的事件驱动环境,在这个环境中,驱动程序代码管理特定于设备的功能,而在发生会影响设备操作的事件时,微软公司提供的一个框架则会调用驱动程序进行响应。
驱动程序模型包含以下内容。
- KMDF和UMDF都要实现的一个对象模型。
- KMDF和UMDF都使用的一个即插即用和电源管理实现。
- 一个I/O模型,框架用它来处理与操作系统的交互,管理I/O流、即插即用以及电源管理 请求。
- 内核模式驱动程序和用户模式驱动程序都使用的一个版本控制策略。
- 内核模式驱动程序和用户模式驱动程序都使用的一致的安装技术。
这种设计有以下几个重要优势。
- 由框架实现公共功能和默认行为,所以厂商编写的驱动程序就变得更小,开发和调试起来也会更快。
- 微软公司可以修改操作系统的内部数据结构,却不会造成驱动程序不兼容。
- 驱动程序开发人员和硬件厂商与操作系统每个新版本变化或更新分离开来。
每个框架都可以跟踪驱动程序、操作系统和设备的状态,从而大大消除了驱动程序中通常需要的许多复杂逻辑,尤其是与即插即用和电源管理有关的逻辑。
WDF模型提供了一致且可扩展的驱动程序开发接口。两个框架都遵守命名、参数类型和用 法、对象层次结构以及默认值的约定。所有设备类型都需要或共有的功能现在成为每个整体框架 的组成部分,所以驱动程序开发人员为一类设备编写驱动程序所积累的知识,在为另一类设备编 写驱动时能够继续应用。