共用方式為


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

另請參閱

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3

WdfDeviceAssignS0IdleSettings