EVT_HIDSPICX_NOTIFY_POWERDOWN回调函数 (hidspicx.h)
EvtHidspicxNotifyPowerdown 回调函数由客户端驱动程序实现,用于在设备即将转换为低功耗状态时接收通知。
语法
EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;
NTSTATUS EvtHidspicxNotifyPowerdown(
WDFDEVICE Device,
BOOLEAN ArmForWake
)
{...}
参数
Device
客户端驱动程序从上一次调用 WdfDeviceCreate 获取的框架设备对象的句柄。
ArmForWake
指示设备是否在即将进行电源转换的目标状态下进行唤醒的布尔值。
返回值
NTSTATUS 指示电源转换准备是否成功。 此方法预计不会在运行时失败,并可能导致 HidSpiCx 设备故障。
注解
客户端驱动程序应实现并提供一个回调,HidSpiCx 将使用该回调来通知客户端即将关闭电源。 此回调的目的是允许类扩展指示客户端停止处理来自设备的中断,因为设备即将进入低功耗状态。 在客户端的 D0Entry WDF 回调发生回调之前,客户端不应恢复处理中断。
此函数的目的是避免在进入睡眠状态时出现这种情况:类扩展向设备发送 SET_POWER SLEEP
命令,并且设备在类扩展和客户端驱动程序完成 Dx IRP 之前断言中断以唤醒。 如果没有额外的回调指示客户端停止硬件处理中断,硬件将发出 SPI 读取以响应唤醒中断,这将违反要求主机在处理来自设备的中断之前先发送 SET_POWER ON
命令的协议。
此函数将由被动 IRQL 中的类扩展调用,在中断处理停止之前,客户端不应返回。
为方便起见,向客户端提供设备是否在总线级别进行唤醒,如果客户端驱动程序不是总线驱动程序,则允许客户端驱动程序避免对命令进行 WAIT_WAKE
监视。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 |
标头 | hidspicx.h |
IRQL | PASSIVE_LEVEL |