Skip to content

Latest commit

 

History

History
79 lines (58 loc) · 3.24 KB

nc-wdm-po_fx_directed_power_up_callback.md

File metadata and controls

79 lines (58 loc) · 3.24 KB
UID title description tech.root ms.date keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.lib req.dll req.irql req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library targetos f1_keywords topic_type api_type api_location api_name
NC:wdm.PO_FX_DIRECTED_POWER_UP_CALLBACK
PO_FX_DIRECTED_POWER_UP_CALLBACK (wdm.h)
The PO_FX_DIRECTED_POWER_UP_CALLBACK callback function is implemented by the client driver to handle driver-specific power up activities on behalf of DFx.
kernel
01/19/2023
PO_FX_DIRECTED_POWER_UP_CALLBACK callback function
wdm.h
Wdm.h
Windows 10, version 1903
Windows
PO_FX_DIRECTED_POWER_UP_CALLBACK
wdm/PO_FX_DIRECTED_POWER_UP_CALLBACK
apiref
UserDefined
wdm.h
PO_FX_DIRECTED_POWER_UP_CALLBACK

-description

The PO_FX_DIRECTED_POWER_UP_CALLBACK callback function is implemented by the client driver to handle driver-specific power up activities on behalf of DFx (Directed PoFx).

-parameters

-param Context

Supplies a pointer to the context passed in to PoFxRegisterDevice.

-param Flags

Reserved for future use.

-remarks

WDM drivers that register with PoFx for runtime idle power management support need to implement this callback to add DFx support.

Register your implementation of this callback function by setting the appropriate member of the PO_FX_DEVICE_V3 structure and then calling PoFxRegisterDevice.

This callback is invoked when the system determines the device needs to power up after having previously being powered down in the PO_FX_DIRECTED_POWER_DOWN_CALLBACK callback function. The device may need to be powered up when the system exits Modern Standby, activators start to run, or a hardware-initiated wake occurs.

When this callback is invoked, the driver typically performs the following high-level tasks:

  • Request a D0 IRP to power up the device.

  • After the D0 IRP completes, call PoFxReportDevicePoweredOn.

  • Unblock I/O queues and start processing requests normally.

Once the driver completes the Directed power up call, it can resume runtime-idle (RTD3) behavior.

The contract is very similar to S0, although no S-IRPs are involved.

Note that if a device hierarchy is involved, the directed power framework asks the child devices to power down before the parent device. For a given parent device, direct children (ones enumerated by the parent) and indirect children due to power relations are considered.

-see-also

Introduction to the Directed Power Management Framework

PO_FX_DIRECTED_POWER_DOWN_CALLBACK