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 |