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) |
库 | Wdf01000.sys(KMDF):WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
DDI 符合性规则 | DriverCreate(kmdf)、FDOPowerPolicyOwnerAPI(kmdf)、KmdfIrql(kmdf)、KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、NonFDONotPowerPolicyOwnerAPI(kmdf) |