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 (所需的操作,例如保存硬件状态) 。

  • 必要时用于唤醒的臂。

  • 调用 PoFxCompleteDirectedPowerDown

  • 保留在 Dx 中,直到系统调用 PO_FX_DIRECTED_POWER_UP_CALLBACK

尽管不涉及 S-IRP,但协定与 S3/S4 非常相似。

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

要求

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

另请参阅

导向式电源管理框架简介

PO_FX_DIRECTED_POWER_UP_CALLBACK