WdfDeviceSetPowerCapabilities function (wdfdevice.h)
[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
[in] Device
A handle to a framework device object.
[in] PowerCapabilities
A pointer to a driver-allocated WDF_DEVICE_POWER_CAPABILITIES structure.
Return value
None
Remarks
A bug check occurs if the driver supplies an invalid object handle.
A driver typically calls WdfDeviceSetPowerCapabilities from within one of the following callback functions:
-
EvtDeviceD0Entry (if the PreviousState parameter's value is WdfPowerDeviceD3Final)
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
Requirement | Value |
---|---|
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(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |