WdfDeviceSetPowerCapabilities function

[Applies to KMDF and UMDF]

The WdfDeviceSetPowerCapabilities method reports a device's power capabilities.

Syntax

void WdfDeviceSetPowerCapabilities(
  WDFDEVICE                      Device,
  PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
);

Parameters

Device

A handle to a framework device object.

PowerCapabilities

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:

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

   
Target Platform Universal
Minimum KMDF version 1.0
Minimum UMDF version 2.0
Header wdfdevice.h (include Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL "<=DISPATCH_LEVEL"
DDI compliance rules DriverCreate, KmdfIrql, KmdfIrql2

See Also

WDF_DEVICE_POWER_CAPABILITIES

WDF_DEVICE_POWER_CAPABILITIES_INIT

WdfDeviceSetPnpCapabilities