IWDFDevice3::AssignS0IdleSettingsEx 方法 (wudfddi.h)
[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 UMDF 1 支援有限, Windows 10。 通用 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 |