WdfDeviceSetPowerCapabilities method
[Applies to KMDF and UMDF]
The WdfDeviceSetPowerCapabilities method reports a device's power capabilities.
Syntax
VOID WdfDeviceSetPowerCapabilities( [in] WDFDEVICE Device, [in] PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities );
Parameters
- Device [in]
-
A handle to a framework device object.
- PowerCapabilities [in]
-
A pointer to a driver-allocated WDF_DEVICE_POWER_CAPABILITIES structure.
Return value
None.
A bug check occurs if the driver supplies an invalid object handle.
Remarks
A driver typically calls WdfDeviceSetPowerCapabilities from within one of the following callback functions:
-
EvtDeviceD0Entry (if the PreviousState parameter's value is WdfPowerDeviceD3Final)
If more than one driver in the device's driver stack call WdfDeviceSetPowerCapabilities, the power manager uses the values that are supplied by the driver that is highest in the stack.
Examples
The following code example initializes a WDF_DEVICE_POWER_CAPABILITIES structure and then calls WdfDeviceSetPowerCapabilities.
WDF_DEVICE_POWER_CAPABILITIES powerCaps; WDF_DEVICE_POWER_CAPABILITIES_INIT(&powerCaps); powerCaps.DeviceD1 = WdfTrue; powerCaps.WakeFromD1 = WdfTrue; powerCaps.DeviceWake = PowerDeviceD1; powerCaps.DeviceState[PowerSystemWorking] = PowerDeviceD1; powerCaps.DeviceState[PowerSystemSleeping1] = PowerDeviceD1; powerCaps.DeviceState[PowerSystemSleeping2] = PowerDeviceD2; powerCaps.DeviceState[PowerSystemSleeping3] = PowerDeviceD2; powerCaps.DeviceState[PowerSystemHibernate] = PowerDeviceD3; powerCaps.DeviceState[PowerSystemShutdown] = PowerDeviceD3; WdfDeviceSetPowerCapabilities( device, &powerCaps );
Requirements
Minimum KMDF version | 1.0 |
---|---|
Minimum UMDF version | 2.0 |
Header |
|
Library |
|
IRQL | <=DISPATCH_LEVEL |
DDI compliance rules | DriverCreate, KmdfIrql, KmdfIrql2 |
See also