硬件通知

Windows 为通知组件(如 LED 和振动机制)的硬件不可知支持提供基础结构。 此支持是通过引入 Kernel-Mode 驱动程序框架(KMDF)类扩展,专门用于支持快速开发客户端驱动程序的硬件通知组件。 KMDF 类扩展本质上是一个 KMDF 驱动程序,它为给定的设备类提供一组定义的功能,类似于 Windows 驱动程序模型(WDM)中的端口驱动程序。 本部分概述了硬件通知类扩展的体系结构。

有关 KMDF 的其他信息,请参阅 使用 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

注册客户端驱动程序时传递给类扩展的硬件通知客户端驱动程序注册数据包。 包含版本信息和客户端驱动程序回调函数。