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)
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