IWDFDevice3::AssignS0IdleSettingsEx 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]
AssignS0IdleSettingsEx 方法提供驱动程序提供的信息,当设备处于空闲状态且系统处于工作 (S0) 状态时,框架将使用这些信息。
语法
HRESULT AssignS0IdleSettingsEx(
[in] PWUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleSettings
);
参数
[in] IdleSettings
指向 通过调用WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT 宏初始化 的WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 结构的指针。
返回值
如果操作成功,方法将返回S_OK。 否则,此方法返回 Winerror.h 中定义的错误代码之一。
注解
驱动程序可以在驱动程序调用 IWDFDriver::CreateDevice 后随时调用 AssignS0IdleSettingsEx。 在调用 IWDFDriver::CreateDevice 之前,驱动程序必须调用 IWDFDeviceInitialize::SetPowerPolicyOwnership ,并将 fTrue 参数设置为 TRUE。 有关此调用序列的示例,请参阅 IWDFDriver::CreateDevice。
如果驱动程序多次调用 AssignS0IdleSettingsEx ,请遵循 AssignS0IdleSettings 的“备注”部分中所述的规则。
有关空闲关闭电源的详细信息,请参阅 支持基于 UMDF 的驱动程序中的空闲 Power-Down。
示例
下面的代码示例初始化 WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS 结构,并将空闲超时值设置为 10 秒。 然后,该示例获取 IWDFDevice3 接口并调用 AssignS0IdleSettingsEx。
IWDFDevice3 *pIWDFDevice3 = NULL;
HRESULT hr;
WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS idleSettings;
WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(
&idleSettings,
IdleCanWakeFromS0
);
idleSettings.IdleTimeout = 10000;
//
// Get a pointer to the IWDFDevice3 interface.
//
hr = pIWDFDevice->QueryInterface(__uuidof(IWDFDevice3),
(void**) &pIWDFDevice3);
if (SUCCEEDED(hr))
{
hr = pIWDFDevice3->AssignS0IdleSettingsEx(&idleSettings
);
}
...
SAFE_RELEASE(pIWDFDevice3);
要求
要求 | 值 |
---|---|
结束支持 | 在 UMDF 2.0 及更高版本中不可用。 |
目标平台 | 桌面 |
最低 UMDF 版本 | 1.11 |
标头 | wudfddi.h |
DLL | WUDFx.dll |