WdfDeviceSetPowerCapabilities 函数 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

WdfDeviceSetPowerCapabilities 方法报告设备的电源功能。

语法

void WdfDeviceSetPowerCapabilities(
  [in] WDFDEVICE                      Device,
  [in] PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities
);

参数

[in] Device

框架设备对象的句柄。

[in] PowerCapabilities

指向驱动程序分配 WDF_DEVICE_POWER_CAPABILITIES 结构的指针。

返回值

备注

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

驱动程序通常从以下回调函数之一调用 WdfDeviceSetPowerCapabilities

如果设备的驱动程序堆栈中的多个驱动程序调用 WdfDeviceSetPowerCapabilities,则 Power Manager 将使用驱动程序提供的值,该驱动程序在堆栈中最高。

示例

下面的代码示例初始化WDF_DEVICE_POWER_CAPABILITIES结构,然后调用 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
                              );

要求

   
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
Header wdfdevice.h (包括 Wdf.h)
Library Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 DriverCreate (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、KmdfIrqlExplicit (kmdf)

另请参阅

WDF_DEVICE_POWER_CAPABILITIES

WDF_DEVICE_POWER_CAPABILITIES_INIT

WdfDeviceSetPnpCapabilities