Compartir a través de


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 nuevos controladores UMDF deben escribirse mediante 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 a UMDF.]

El método GetSystemPowerAction devuelve la acción de energía 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 siguiente sección Comentarios.

Observaciones

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 sale) un estado de baja potencia.

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 está entrar en un estado de baja potencia o volver a su estado de trabajo.

El valor que GetSystemPowerAction depende de las siguientes situaciones:

  • 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 está escribiendo el estado de baja potencia. Por ejemplo, el método devuelve powerActionSleep si el equipo está escribiendo su estado de baja potencia 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 la razón por la que el equipo entró en el estado de baja potencia. 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 de inactividad de bajo consumo o vuelve a su estado de trabajo (D0) cuando el controlador llama a GetSystemPowerAction, mientras que el resto del sistema permanece en su estado de trabajo (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, consulte 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 Valor
fin del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
de la plataforma de destino de Escritorio
versión mínima de UMDF 1.9
encabezado de wudfddi.h (incluya Wudfddi.h)
DLL de WUDFx.dll

Consulte también

IWDFDevice2