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.
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 |