Condividi tramite


Metodo IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 (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.]

Un driver OnArmWakeFromS0 le braccia della funzione di callback (ovvero abilita) un dispositivo in modo che possa attivare un segnale di riattivazione mentre è in uno stato di dispositivo a basso consumo, se il sistema rimane nello stato di lavoro del sistema (S0).

Sintassi

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

Parametri

[in] pWdfDevice

Puntatore all'interfaccia IWDFDevice dell'oggetto dispositivo che rappresenta uno dei dispositivi del driver.

Valore restituito

Se l'operazione ha esito positivo, la OnArmWakeFromS0 funzione di callback deve restituire S_OK o un altro valore di stato per cui SUCCEEDED(stato) è uguale TRUE. In caso contrario, deve restituire un valore di stato per il quale SUCCEEDED( stato) è uguale a FALSE.

Se SUCCEEDED(status) è uguale a FALSE, il framework chiama la funzione di callback del driver IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0. Il framework non segnala un errore del dispositivo al gestore PnP.

Osservazioni

Il driver deve fornire una funzione di callback OnArmWakeFromS0 se il driver supporta l'interfaccia IPowerPolicyCallbackWakeFromS0.

La OnArmWakeFromS0 funzione di callback gestisce operazioni specifiche del dispositivo necessarie per consentire al dispositivo di rilevare un evento esterno che attiva un segnale di riattivazione sul bus. Il driver del bus in modalità kernel gestisce operazioni specifiche del bus, ad esempio l'abilitazione del segnale di power management event (PME) del bus PCI.

Se il driver ha registrato un OnArmWakeFromS0 funzione di callback, il framework lo chiama mentre il dispositivo è ancora nello stato di alimentazione del dispositivo D0, prima che il driver del bus abbassa lo stato di alimentazione del dispositivo, ma dopo che il framework ha inviato un IRP di attesa/riattivazione per conto del driver.

Il processo si verifica nella sequenza seguente:

  1. Il framework determina che il dispositivo è rimasto inattivo per un periodo di tempo preimpostato.
  2. Il framework chiama la funzione di callback del driver OnArmWakeFromS0.
  3. Il framework richiede al driver del bus del dispositivo di ridurre la potenza del dispositivo.
Immediatamente prima che il dispositivo entri in uno stato di basso consumo, il framework chiamerà la funzione di callback del driver IPnpCallback::OnD0Exit.

Per altre informazioni sui casi in cui il framework chiama questa funzione di callback, vedere Scenari di risparmio energia e PnP in UMDF.

Non è necessario fornire un OnArmWakeFromS0 funzione di callback se il dispositivo:

  • Dispositivo USB che supporta la "sospensione selettiva".
  • Non può essere spento mentre il sistema rimane completamente alimentato.
  • Non richiede operazioni hardware speciali che consentono al dispositivo di attivare un segnale di riattivazione.
Se il dispositivo supporta la "sospensione selettiva" USB e se il driver specifica IdleUsbSelectiveSuspend quando chiama IWDFDevice2::AssignS0IdleSettings, il framework invia una richiesta di sospensione selettiva al driver del bus USB quando il dispositivo è inattivo per un periodo di tempo predefinito.

Per altre informazioni su questa funzione di callback, vedere Supporto dei Power-Down inattivo in Driver basati su UMDF.

Fabbisogno

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
piattaforma di destinazione Desktop
versione minima di UMDF 1.9
intestazione wudfddi.h (include Wudfddi.h)

Vedere anche

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered