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::SetPowerPolicyOwnershipfTrue 参数设置为 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