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 分钟),且没有任何激活器中转的软件活动正在运行。

调用此回调时,驱动程序通常会执行以下高级任务:

实现步骤和顺序可能会有所不同,但可能包括以下一些步骤:

  • 请求 Dx IRP。

  • Dx IRP 到达后,阻止 I/O 队列。

  • 等待正在进行的作完成。

  • 如果这些作花费的时间过长,可以选择取消这些作。

  • 执行将设备转换为 Dx 所需的作(例如保存硬件状态)。

  • 根据需要进行唤醒的 Arm。

  • 调用 PoFxCompleteDirectedPowerDown

  • 在系统调用 PO_FX_DIRECTED_POWER_UP_CALLBACK之前,请保留在 Dx 中。

合同与 S3/S4 非常相似,尽管没有涉及 S-IRP。

如果涉及设备层次结构,则定向电源框架会要求子设备在父设备之前关闭电源。 对于给定的父设备,由于 权力关系,直接子级(由父级枚举)和间接子级。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1903
标头 wdm.h (包括 Wdm.h)

另请参阅

定向电源管理框架 简介

PO_FX_DIRECTED_POWER_UP_CALLBACK