Método IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 (wudfddi.h)

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

Los brazos de función de devolución de llamada OnArmWakeFromS0 de un controlador (es decir, habilitan) un dispositivo para que pueda desencadenar una señal de reactivación mientras está en un estado de dispositivo de bajo consumo, si el sistema permanece en estado de funcionamiento del sistema (S0).

Sintaxis

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

Parámetros

[in] pWdfDevice

Puntero a la interfaz IWDFDevice del objeto de dispositivo que representa uno de los dispositivos del controlador.

Valor devuelto

Si la operación se realiza correctamente, la función de devolución de llamada OnArmWakeFromS0 debe devolver S_OK u otro valor de estado para el que SUCCEEDED(status) sea igual a TRUE. De lo contrario, debe devolver un valor de estado para el que SUCCEEDED(status) es igual a FALSE.

Si SUCCEEDED(status) es igual a FALSE, el marco llama a la función de devolución de llamada IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 del controlador. (El marco no notifica un error de dispositivo al administrador de PnP).

Comentarios

El controlador debe proporcionar una función de devolución de llamada OnArmWakeFromS0 si el controlador admite la interfaz IPowerPolicyCallbackWakeFromS0 .

La función de devolución de llamada OnArmWakeFromS0 controla las operaciones específicas del dispositivo necesarias para permitir que el dispositivo detecte un evento externo que desencadene una señal de reactivación en el bus. El controlador de bus en modo kernel controla las operaciones específicas del bus, como habilitar la señal del evento de administración de energía (PME) del bus PCI.

Si el controlador ha registrado una función de devolución de llamada OnArmWakeFromS0 , el marco lo llama mientras el dispositivo todavía está en el estado de alimentación del dispositivo D0, antes de que el controlador de bus reduzca el estado de alimentación del dispositivo, pero después de que el marco haya enviado un IRP de espera/reactivación en nombre del controlador.

El proceso se produce en la siguiente secuencia:

  1. El marco determina que el dispositivo ha estado inactivo durante un período de tiempo preestablecido.
  2. El marco llama a la función de devolución de llamada OnArmWakeFromS0 del controlador.
  3. El marco solicita al controlador que el bus del dispositivo reduzca la potencia del dispositivo.
Inmediatamente antes de que el dispositivo entre en un estado de bajo consumo, el marco llamará a la función de devolución de llamada IPnpCallback::OnD0Exit del controlador.

Para obtener más información sobre cuándo el marco llama a esta función de devolución de llamada, consulte Escenarios de administración de energía y PnP en UMDF.

No es necesario proporcionar una función de devolución de llamada OnArmWakeFromS0 si el dispositivo:

  • Es un dispositivo USB que admite "suspensión selectiva".
  • No se puede apagar mientras el sistema permanece totalmente alimentado.
  • No requiere operaciones de hardware especiales que permitan al dispositivo desencadenar una señal de reactivación.
Si el dispositivo admite la "suspensión selectiva" USB y si el controlador especifica IdleUsbSelectiveSuspend cuando llama a IWDFDevice2::AssignS0IdleSettings, el marco envía una solicitud de "suspensión selectiva" al controlador de bus USB cuando el dispositivo ha estado inactivo durante un período de tiempo preestablecido.

Para obtener más información sobre esta función de devolución de llamada, consulte Compatibilidad con Power-Down inactivos en controladores basados en UMDF.

Requisitos

Requisito Value
Finalización del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
Plataforma de destino Escritorio
Versión mínima de UMDF 1,9
Encabezado wudfddi.h (incluya Wudfddi.h)

Consulte también

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered