EVT_WDF_DEVICE_ARM_WAKE_FROM_SX función de devolución de llamada (wdfdevice.h)

[Se aplica a KMDF y UMDF]

Los brazos de función de devolución de llamada de evento EvtDeviceArmWakeFromSx de un controlador (es decir, habilitan) un dispositivo para que pueda desencadenar una señal de reactivación mientras se encuentra en un estado de dispositivo de bajo consumo. La señal de reactivación hace que el dispositivo entre en su estado de trabajo (D0) y hace que el sistema entre en su estado de trabajo (S0).

Sintaxis

EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtWdfDeviceArmWakeFromSx;

NTSTATUS EvtWdfDeviceArmWakeFromSx(
  [in] WDFDEVICE Device
)
{...}

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

Valor devuelto

Si la función de devolución de llamada EvtDeviceArmWakeFromSx no encuentra ningún error, debe devolver STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(status) es igual a TRUE. De lo contrario, debe devolver un valor de estado para el que NT_SUCCESS(status) es igual a FALSE.

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

Comentarios

Para registrar una función de devolución de llamada EvtDeviceArmWakeFromSx , un controlador debe llamar a WdfDeviceInitSetPowerPolicyEventCallbacks. Los controladores pueden registrar una función de devolución de llamada EvtDeviceArmWakeFromSx o una función de devolución de llamada EvtDeviceArmWakeFromSxWithReason , pero no ambas.

Esta función de devolución de llamada 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. La función de devolución de llamada EvtDeviceEnableWakeAtBus del controlador de autobús 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 un controlador ha registrado una función de devolución de llamada EvtDeviceArmWakeFromSx o EvtDeviceArmWakeFromSxWithReason , el marco lo llama mientras el dispositivo sigue en estado de alimentación del dispositivo D0, antes de que el controlador de autobús 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 secuencia siguiente:

  1. El marco determina que el sistema está a punto de entrar en un estado de sistema de bajo consumo.
  2. El marco llama a la función de devolución de llamada EvtDeviceArmWakeFromSx o EvtDeviceArmWakeFromSxWithReason del controlador.
  3. El marco solicita al controlador que el bus del dispositivo reduzca la potencia del dispositivo.
Inmediatamente antes de que un dispositivo entre en un estado de baja potencia, el marco llama a la función de devolución de llamada EvtDeviceD0Exit 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.

No es necesario proporcionar una función de devolución de llamada EvtDeviceArmWakeFromSx o EvtDeviceArmWakeFromSxWithReason si el dispositivo no requiere operaciones de hardware especiales que permitan al dispositivo desencadenar una señal de reactivación.

Para obtener más información sobre esta función de devolución de llamada, consulte Compatibilidad con el reactivación del sistema.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfdevice.h (incluya Wdf.h)
IRQL PASSIVE_LEVEL

Consulte también

EvtDeviceArmWakeFromS0

EvtDeviceArmWakeFromSxWithReason

EvtDeviceDisarmWakeFromSx