编写简单的 WDF 驱动程序

您所在的位置:网站首页 i/o框架 编写简单的 WDF 驱动程序

编写简单的 WDF 驱动程序

2023-10-14 15:49| 来源: 网络整理| 查看: 265

编写简单的 WDF 驱动程序 项目 06/15/2023

本主题介绍编写Kernel-Mode驱动程序框架 (KMDF) 驱动程序所需的最少功能。 从 UMDF 版本 2 开始,需要相同的最小功能来编写User-Mode驱动程序框架 (UMDF) 驱动程序。

在创建新的 KMDF 或 UMDF 驱动程序时,必须选择一个不多于 32 个字符的驱动程序名称。 此长度限制在 wdfglobals.h 中定义。 如果驱动程序名称超过最大长度,驱动程序将无法加载。

每个基于框架的驱动程序都包含 一个 DriverEntry 例程和一组事件回调函数,框架在发生特定于对象的事件时调用这些函数。 例如,基于框架的简单驱动程序可能包括:

DriverEntry 例程,在加载驱动程序时调用,调用 WdfDriverCreate。

EvtDriverDeviceAdd 事件回调函数,当即插即用 (PnP) 管理器报告检测到硬件标识符 (ID) 与驱动程序支持的硬件 ID 匹配的设备时,框架将调用该函数。

通过提供 INF 文件指定驱动程序支持的硬件 ID,操作系统在首次将其中一台设备连接到计算机时使用该文件来安装驱动程序。 有关系统如何使用 INF 文件和硬件 ID 的详细信息,请参阅 安装程序如何选择驱动程序。

驱动程序的 EvtDriverDeviceAdd 回调函数调用 WdfDeviceCreate ,为检测到的设备创建框架设备对象。

当 I/O 管理器向驱动程序发送 I/O 请求时,框架调用的请求处理程序,例如 EvtIoDefault 回调函数。

当 I/O 管理器向驱动程序发送 I/O 请求时,框架会将请求置于 I/O 队列中,然后通过调用请求处理程序通知驱动程序。

驱动程序必须为每个设备创建至少一个 I/O 队列,以便驱动程序可以接收设备的 I/O 请求。 为了创建 I/O 队列,驱动程序调用 WdfIoQueueCreate,这将创建框架队列对象并注册设备的请求处理程序。

有关编写基于框架的驱动程序的详细信息,请参阅 使用框架开发驱动程序。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3