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。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
调用驱动程序不是设备的电源策略所有者。 |
|
检测到无效 的“设置” 值。 |
|
WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS 结构的大小不正确。 |
|
总线驱动程序指示设备无法触发唤醒信号,或者 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) |