EVT_WDF_DEVICE_ARM_WAKE_FROM_SX回调函数 (wdfdevice.h)
[适用于 KMDF 和 UMDF]
驱动程序的 EvtDeviceArmWakeFromSx 事件回调函数臂(即启用)设备,以便它可以在低功率设备状态下触发唤醒信号。 唤醒信号导致设备进入其工作状态(D0),并导致系统进入其工作状态(S0)。
语法
EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;
NTSTATUS EvtWdfDeviceArmWakeFromSx(
[in] WDFDEVICE Device
)
{...}
参数
[in] Device
框架设备对象的句柄。
返回值
如果 EvtDeviceArmWakeFromSx 回调函数遇到错误,则它必须返回 STATUS_SUCCESS NT_SUCCESS(状态)等于 TRUE的其他状态值。 否则,它必须返回一个状态值,NT_SUCCESS(状态)等于 FALSE。
如果 NT_SUCCESS(status) 等于 FALSE,则框架将调用驱动程序的 EvtDeviceDisarmWakeFromSx 回调函数。 (框架不会向 PnP 管理器报告设备故障。
言论
若要注册 EvtDeviceArmWakeFromSx 回调函数,驱动程序必须调用 WdfDeviceInitSetPowerPolicyEventCallbacks。 驱动程序可以注册 EvtDeviceArmWakeFromSx 回调函数或 EvtDeviceArmWakeFromSxWithReason 回调函数,但不能同时注册这两个函数。
此回调函数处理设备特定的作,这些作使设备能够检测在总线上触发唤醒信号的外部事件。 总线驱动程序 EvtDeviceEnableWakeAtBus 回调函数处理特定于总线的作,例如启用 PCI 总线的电源管理事件(PME)信号。
如果驱动程序已注册 EvtDeviceArmWakeFromSx 或 EvtDeviceArmWakeFromSxWithReason 回调函数, 框架在设备仍处于 D0 设备电源状态时调用它,然后总线驱动程序会降低设备的电源状态,但在框架发送 等待/唤醒 IRP 代表驱动程序。
此过程按以下顺序发生:
- 框架确定系统即将进入低功率系统状态。
- 该框架调用驱动程序的 EvtDeviceArmWakeFromSx 或 EvtDeviceArmWakeFromSxWithReason 回调函数。
- 该框架要求驱动程序提供设备的总线,以降低设备的电源。
有关框架何时调用此回调函数的详细信息,请参阅 PnP 和电源管理方案。
如果你的设备不需要特殊硬件作来触发唤醒信号,则无需提供 EvtDeviceArmWakeFromS x 或 EvtDeviceArmWakeFromSxWithReason 回调函数。
有关此回调函数的详细信息,请参阅 支持系统唤醒。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
IRQL | PASSIVE_LEVEL |