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. Nessuna nuova funzionalità viene aggiunta 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, vedere Introduzione con UMDF.]

Un driver onArmWakeFromS0 callback function arm (ovvero abilita) un dispositivo in modo che possa attivare un segnale di riattivazione mentre si trova in uno stato del dispositivo a bassa potenza, se il sistema rimane nello stato di funzionamento 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 funzione callback OnArmWakeFromS0 deve restituire S_OK o un altro valore di stato per cui SUCCESSED(status) è uguale a TRUE. In caso contrario, deve restituire un valore di stato per il quale SUCCESSED(status) è uguale a FALSE.

Se SUCCESSED(status) corrisponde a FALSE, il framework chiama la funzione di callback IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 . Il framework non segnala un errore del dispositivo alla gestione PnP.

Commenti

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

La funzione di callback OnArmWakeFromS0 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 una funzione di callback OnArmWakeFromS0 , 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 è stato inattivo per un periodo di tempo predefinito.
  2. Il framework chiama la funzione di callback onArmWakeFromS0 del driver.
  3. Il framework richiede al conducente il bus del dispositivo di ridurre la potenza del dispositivo.
Immediatamente prima che il dispositivo entri in uno stato di bassa potenza, il framework chiamerà la funzione di callback IPnpCallback::OnD0Exit .

Per altre informazioni su quando il framework chiama questa funzione di callback, vedere Scenari di Messaggistica unificata e Power Management.

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

  • È un dispositivo USB che supporta la "sospensione selettiva".
  • Impossibile 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 "sospensione selettiva" al driver del bus USB quando il dispositivo è stato inattivo per un periodo di tempo preimpostato.

Per altre informazioni su questa funzione di callback, vedere Supporto dell'idle Power-Down nei driver basati su UMDF.

Requisiti

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
Piattaforma di destinazione Desktop
Versione UMDF minima 1,9
Intestazione wudfddi.h (include Wudfddi.h)

Vedi anche

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered