Metodo IWDFDevice3::AssignS0IdleSettingsEx (wudfddi.h)
[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedi Introduzione a UMDF.]
Il metodo AssignS0IdleSettingsEx fornisce informazioni fornite dal driver usate dal framework quando un dispositivo è inattiva e lo stato del sistema è funzionante (S0).
Sintassi
HRESULT AssignS0IdleSettingsEx(
[in] PWUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleSettings
);
Parametri
[in] IdleSettings
Puntatore a una struttura WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS inizializzata da una chiamata alla macro WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT.
Valore restituito
Il metodo restituisce S_OK se l'operazione ha esito positivo. In caso contrario, questo metodo restituisce uno dei codici di errore definiti in Winerror.h.
Osservazioni
Un driver può chiamare AssignS0IdleSettingsEx in qualsiasi momento dopo che il driver chiama IWDFDriver::CreateDevice. Prima di chiamare IWDFDriver::CreateDevice, il driver deve chiamare IWDFDeviceInitialize::SetPowerPolicyOwnership con il parametro fTrue impostato su TRUE. Per un esempio di questa sequenza di chiamata, vedere IWDFDriver::CreateDevice.
Se il driver chiama AssignS0IdleSettingsEx più volte, seguire le regole descritte nella sezione Osservazioni di AssignS0IdleSettings.
Per altre informazioni sul risparmio di energia inattivo, vedere supporto di Power-Down inattivo in Driver basati su UMDF.
Esempi
Nell'esempio di codice seguente viene inizializzata una struttura WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS e viene impostato un valore di timeout di inattività di 10 secondi. L'esempio ottiene quindi l'interfaccia di IWDFDevice3 e chiama 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);
Fabbisogno
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
piattaforma di destinazione | Desktop |
versione minima di UMDF | 1.11 |
intestazione | wudfddi.h |
dll | WUDFx.dll |