Método IWDFDevice2::GetSystemPowerAction (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.

El método GetSystemPowerAction devuelve la acción de alimentación del sistema, si existe, que se está produciendo actualmente para el equipo.

Sintaxis

POWER_ACTION GetSystemPowerAction();

Valor devuelto

GetSystemPowerAction devuelve un valor de enumerador con tipo POWER_ACTION. El valor indica la acción de alimentación del sistema que se está produciendo actualmente para el equipo. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Comentarios

El método GetSystemPowerAction permite a un controlador determinar si se está produciendo la transición de energía de un dispositivo porque el dispositivo está inactivo (o despertando) o porque todo el equipo entra (o deja) un estado de baja energía.

El controlador debe llamar a GetSystemPowerAction solo desde las funciones de devolución de llamada de eventos a las que llama el marco cuando el dispositivo entra en un estado de baja potencia o vuelve a su estado de trabajo.

El valor que devuelve GetSystemPowerAction depende de las situaciones siguientes:

  • Si el equipo entra en un estado de bajo consumo cuando el controlador llama a GetSystemPowerAction, el método devuelve el motivo por el que el equipo entra en estado de baja potencia. Por ejemplo, el método devuelve PowerActionSleep si el equipo está escribiendo su estado de baja energía S1, S2 o S3.
  • Si el equipo vuelve a su estado de funcionamiento (S0) desde un estado de baja potencia cuando el controlador llama a GetSystemPowerAction, el método devuelve el motivo por el que el equipo entró en el estado de baja energía. Por ejemplo, el método devuelve PowerActionSleep si el equipo deja su estado de baja potencia S1, S2 o S3.
  • Si el equipo está encendido (después de haberse desactivado) cuando el controlador llama a GetSystemPowerAction, el método devuelve PowerActionNone.
  • Si el dispositivo entra en un estado inactivo de bajo consumo o vuelve a su estado de funcionamiento (D0) cuando el controlador llama a GetSystemPowerAction, mientras que el resto del sistema permanece en su estado de funcionamiento (S0), el método devuelve PowerActionNone.
  • Si el equipo y el dispositivo están en sus estados de trabajo cuando el controlador llama a GetSystemPowerAction, el método devuelve PowerActionNone.
Para obtener más información sobre los estados de baja potencia, consulta Un dispositivo entra en un estado de Low-Power.

Ejemplos

En el ejemplo de código siguiente se obtiene la interfaz IWDFDevice2 y, a continuación, se llama a GetSystemPowerAction.

   IWDFDevice2 *pDevice2 = NULL;
    HRESULT hrQI = pDevice->QueryInterface(IID_PPV_ARGS(&pDevice2));
    if (SUCCEEDED(hrQI))
    {
        POWER_ACTION powerAction = pDevice2->GetSystemPowerAction();
    }
...
    SAFE_RELEASE(pDevice2);

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)
Archivo DLL WUDFx.dll

Consulte también

IWDFDevice2