硬件通知
Windows 为通知组件(如 LED 和振动机制)提供与硬件无关的支持的基础结构。 实现此支持的方式是引入内核模式驱动程序框架 (KMDF) 类扩展,该扩展专用于硬件通知组件,因此可以快速开发客户端驱动程序。 KMDF 类扩展实质上是 KMDF 驱动程序,它为给定的设备类提供一组定义的功能,类似于 Windows 驱动程序模型 (WDM) 中的端口驱动程序。 此部分概述硬件通知类扩展的体系结构。
有关 KMDF 的其他信息,请参阅 Using WDF to Develop a Driver(使用 WDF 来开发驱动程序)。
若要提供对硬件通知的支持,需要:
枚举
HWN_CLX_EXPORT_INDEX 定义导出表中每个硬件通知导出的位置。 |
函数
HWN_CLIENT_GET_STATE 由客户端驱动程序实现以获取硬件通知组件状态。 当用户请求状态信息时,会调用它。 |
HWN_CLIENT_INITIALIZE_DEVICE 由客户端驱动程序实现,并且由于调用 EVT_WDF_DEVICE_PREPARE_HARDWARE 而调用。 |
HWN_CLIENT_QUERY_DEVICE_INFORMATION 由客户端驱动程序实现以检索硬件通知组件属性。 |
HWN_CLIENT_SET_STATE 由客户端驱动程序实现以设置硬件通知组件状态。 当用户想要更改驱动程序的状态时,会调用它。 |
HWN_CLIENT_START_DEVICE 由客户端驱动程序实现以启动硬件通知组件。 它是由于调用 EVT_WDF_DEVICE_D0_ENTRY 的结果调用的。 |
HWN_CLIENT_STOP_DEVICE 由客户端驱动程序实现以启动硬件通知组件。 它是由于调用 EVT_WDF_DEVICE_D0_EXIT 而调用的。 |
HWN_CLIENT_UNINITIALIZE_DEVICE 由客户端驱动程序实现,在调用 EVT_WDF_DEVICE_RELEASE_HARDWARE 后作为调用调用。 此回调函数取消初始化硬件通知组件。 |
HwNProcessAddDevicePostDeviceCreate 创建 I/O 队列。 应在调用客户端驱动程序的 EVT_WDF_DRIVER_DEVICE_ADD 回调函数并创建设备对象后调用它。 |
HwNProcessAddDevicePreDeviceCreate 为 Windows Driver Foundation (WDF) 提供设备准备/发布和进入/退出回调,以便将设备转换为不同的状态。 |
HwNRegisterClient 向 类扩展注册硬件通知客户端驱动程序及其回调函数。 |
HwNUnregisterClient 使用 类扩展注销硬件通知客户端驱动程序及其回调函数。 卸载客户端驱动程序时应调用此函数。 |
结构
CLIENT_DEVICE_INFORMATION 硬件通知回调HWN_CLIENT_QUERY_DEVICE_INFORMATION使用CLIENT_DEVICE_INFORMATION结构返回客户端设备驱动程序提供的硬件通知总数。 |
HWN_CLIENT_REGISTRATION_PACKET 注册客户端驱动程序时传递给类扩展的硬件通知客户端驱动程序注册数据包。 包含版本信息和客户端驱动程序回调函数。 |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈