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

另请参阅

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3

WdfDeviceAssignS0IdleSettings