WdfDeviceAssignSxWakeSettings 函数 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

WdfDeviceAssignSxWakeSettings 方法提供有关设备在设备和系统都处于低功耗状态时触发唤醒信号的能力的驱动程序信息。

语法

NTSTATUS WdfDeviceAssignSxWakeSettings(
  [in] WDFDEVICE                              Device,
  [in] PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
);

参数

[in] Device

框架设备对象的句柄。

[in] Settings

指向调用方提供的 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 结构的指针。

返回值

如果操作成功, WdfDeviceAssignSxWakeSettings 将返回STATUS_SUCCESS。 其他返回值包括:

返回代码 说明
STATUS_INVALID_DEVICE_REQUEST
调用驱动程序不是设备的电源策略所有者。
STATUS_INVALID_PARAMETER
检测到无效 的“设置” 值。
STATUS_INFO_LENGTH_MISMATCH
WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 结构的大小不正确。
STATUS_POWER_STATE_INVALID
总线驱动程序指示设备无法触发唤醒信号,或者 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 结构包含无效的设备电源状态。
 

该方法可能会返回其他 NTSTATUS 值

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

注解

有关详细信息,请参阅 支持系统唤醒

示例

下面的代码示例初始化 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 结构,然后调用 WdfDeviceAssignSxWakeSettings。 该示例使用 WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT设置的 默认设置。

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS  wakeSettings;
NTSTATUS  status = STATUS_SUCCESS;

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT(&wakeSettings);

status = WdfDeviceAssignSxWakeSettings(
                                       device,
                                       &wakeSettings
                                       );
if (!NT_SUCCESS(status)) {
    return status;
}

要求

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

另请参阅

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

WdfDeviceAssignS0IdleSettings