WdfDeviceInitSetPowerPolicyEventCallbacks method
[Applies to KMDF and UMDF]
The WdfDeviceInitSetPowerPolicyEventCallbacks method registers a driver's power policy event callback functions.
Syntax
VOID WdfDeviceInitSetPowerPolicyEventCallbacks( [in] PWDFDEVICE_INIT DeviceInit, [in] PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks );
Parameters
- DeviceInit [in]
- 
A caller-supplied pointer to a WDFDEVICE_INIT structure. 
- PowerPolicyEventCallbacks [in]
- 
A pointer to a caller-initialized WDF_POWER_POLICY_EVENT_CALLBACKS structure. 
Return value
None
Remarks
If your driver calls WdfDeviceInitSetPowerPolicyEventCallbacks, it must do so before it calls WdfDeviceCreate. For more information, see Creating a Framework Device Object.
For more information about WdfDeviceInitSetPowerPolicyEventCallbacks, see Power Policy Ownership.
Examples
The following code example initializes a WDF_POWER_POLICY_EVENT_CALLBACKS structure and then calls WdfDeviceInitSetPowerPolicyEventCallbacks.
WDF_POWER_POLICY_EVENT_CALLBACKS powerPolicyCallbacks;
WDF_POWER_POLICY_EVENT_CALLBACKS_INIT(&powerPolicyCallbacks);
powerPolicyCallbacks.EvtDeviceArmWakeFromS0 = PciDrvEvtDeviceWakeArmS0;
powerPolicyCallbacks.EvtDeviceDisarmWakeFromS0 = PciDrvEvtDeviceWakeDisarmS0;
powerPolicyCallbacks.EvtDeviceWakeFromS0Triggered = PciDrvEvtDeviceWakeTriggeredS0;
powerPolicyCallbacks.EvtDeviceArmWakeFromSx = PciDrvEvtDeviceWakeArmSx;
powerPolicyCallbacks.EvtDeviceDisarmWakeFromSx = PciDrvEvtDeviceWakeDisarmSx;
powerPolicyCallbacks.EvtDeviceWakeFromSxTriggered = PciDrvEvtDeviceWakeTriggeredSx;
WdfDeviceInitSetPowerPolicyEventCallbacks(
                                          DeviceInit,
                                          &powerPolicyCallbacks
                                          );
Requirements
| Minimum KMDF version | 1.0 | 
|---|---|
| Minimum UMDF version | 2.0 | 
| Header | 
 | 
| Library | 
 | 
| IRQL | <= DISPATCH_LEVEL | 
| DDI compliance rules | ChildDeviceInitAPI, DeviceInitAPI, DriverCreate, FDOPowerPolicyOwnerAPI, KmdfIrql, KmdfIrql2, NonFDONotPowerPolicyOwnerAPI, PdoDeviceInitAPI | 
See also

