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 (所需的操作,例如保存硬件状态) 。
必要时用于唤醒的臂。
保留在 Dx 中,直到系统调用 PO_FX_DIRECTED_POWER_UP_CALLBACK。
尽管不涉及 S-IRP,但协定与 S3/S4 非常相似。
如果涉及设备层次结构,定向电源框架会要求子设备在父设备之前关闭电源。 对于给定的父设备,将考虑直接子 (父) 枚举的子设备,以及由于 权力关系 而导致的间接子设备。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1903 |
标头 | wdm.h (包括 Wdm.h) |