[适用于 KMDF 和 UMDF]
WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT 函数初始化驱动程序的 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 结构。
语法
VOID WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(
[out] PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings,
[in] WDF_POWER_POLICY_S0_IDLE_CAPABILITIES IdleCaps
);
参数
[out] Settings
指向驱动程序分配 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 结构的指针。
[in] IdleCaps
WDF_POWER_POLICY_S0_IDLE_CAPABILITIES类型枚举器。
返回值
没有
言论
首先,WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT 函数对指定的 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 结构进行零,并设置结构的 大小 成员。
然后,该函数将结构的 IdleTimeout 成员设置为 IdleTimeoutDefaultValue,将 UserControlOfIdleSettings 成员设置为 IdleAllowUserControl,并将已启用 成员 设置为 WdfUseDefault。
此外,该函数将 PowerUpIdleDeviceOnSystemWake 成员设置为 WdfUseDefault,并将 IdleTimeoutType 成员设置为 DriverManagedIdleTimeout。
此外,该函数将 ExcludeD3Cold 成员设置为 WdfUseDefault。
接下来,该函数将结构的 IdleCaps 成员设置为 IdleCaps 参数指定的值。
最后,如果 IdleCaps 参数指定 IdleUsbSelectiveSuspend 或 IdleCanWakeFromS0,则函数会将 DxState 成员设置为 PowerDeviceMaximum。 如果 IdleCaps 参数指定 IdleCannotWakeFromS0,则函数会将 DxState 成员设置为 PowerDeviceD3。
例子
有关使用 WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT的代码示例,请参阅 WdfDeviceAssignS0IdleSettings。
要求
| 要求 | 价值 |
|---|---|
| 目标平台 | 普遍 |
| 最低 KMDF 版本 | 1.0 |
| 最低 UMDF 版本 | 2.0 |
| 标头 | wdfdevice.h (包括 Wdf.h) |