PO_FX_DIRECTED_POWER_DOWN_CALLBACK回调函数 (wdm.h)
PO_FX_DIRECTED_POWER_DOWN_CALLBACK回调函数由客户端驱动程序实现,以代表 DFx(定向 PoFx)处理特定于驱动程序的关闭活动。
语法
PO_FX_DIRECTED_POWER_DOWN_CALLBACK PoFxDirectedPowerDownCallback;
void PoFxDirectedPowerDownCallback(
PVOID Context,
ULONG Flags
)
{...}
参数
Context
提供指向传递给 PoFxRegisterDevice的上下文的指针。
Flags
保留以供将来使用。
返回值
没有
言论
向 PoFx 注册以实现运行时空闲电源管理支持的 WDM 驱动程序需要实现此回调才能添加 DFx 支持。
通过设置 PO_FX_DEVICE_V3 结构的相应成员,然后调用 PoFxRegisterDevice来注册此回调函数的实现。
此回调是在新式待机会话期间调用的,如果此设备或依赖于此设备的依赖项已阻止 DRIPS 条目至少连续两分钟(驱动程序可配置超时,默认 2 分钟),且没有任何激活器中转的软件活动正在运行。
调用此回调时,驱动程序通常会执行以下高级任务:
停止处理新工作。
立即转换为低功率状态。
在系统调用驱动程序 PO_FX_DIRECTED_POWER_UP_CALLBACK之前,保持低功率状态。
实现步骤和顺序可能会有所不同,但可能包括以下一些步骤:
请求 Dx IRP。
Dx IRP 到达后,阻止 I/O 队列。
等待正在进行的作完成。
如果这些作花费的时间过长,可以选择取消这些作。
执行将设备转换为 Dx 所需的作(例如保存硬件状态)。
根据需要进行唤醒的 Arm。
在系统调用 PO_FX_DIRECTED_POWER_UP_CALLBACK之前,请保留在 Dx 中。
合同与 S3/S4 非常相似,尽管没有涉及 S-IRP。
如果涉及设备层次结构,则定向电源框架会要求子设备在父设备之前关闭电源。 对于给定的父设备,由于 权力关系,直接子级(由父级枚举)和间接子级。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1903 |
标头 | wdm.h (包括 Wdm.h) |
另请参阅
定向电源管理框架 简介