Compartir a través de


Un dispositivo entra en un estado de Low-Power (UMDF 1)

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.

Los ejemplos de UMDF 1 archivados se pueden encontrar en la actualización de ejemplos de controladores de Windows 11, versión 22H2 - mayo de 2022.

Para obtener más información, consulta Introducción con UMDF.

Un dispositivo deja su estado de trabajo (D0) y entra en un estado de baja potencia si se produce una de las siguientes acciones:

  • El dispositivo está inactivo (es decir, no se tiene acceso) y es capaz de entrar en un estado de inactividad de bajo consumo mientras el sistema permanece en estado de funcionamiento (S0).

  • El estado de energía del sistema ha cambiado de su estado de trabajo (S0) a un estado de bajo consumo. (Los controladores pueden llamar a IWDFDevice2::GetSystemPowerAction para determinar el motivo del cambio en el estado de energía del sistema).

Para cada función basada en UMDF y el controlador de filtro que admite el dispositivo, el marco hace lo siguiente, en secuencia, un controlador a la vez, empezando por el controlador que es más alto en la pila de controladores:

  1. Si el controlador usa E/S autoadministrado, el marco llama a la función de devolución de llamada IPnpCallbackSelfManagedIo::OnSelfManagedIoSuspend .

  2. El marco detiene todas las colas de E/S administradas por energía del dispositivo y llama a sus funciones de devolución de llamada IPnpCallbackSelfManagedIo::OnSelfManagedIoStop (si existen).

  3. Si el controlador es el propietario de la directiva de energía del dispositivo, el marco llama a su función de devolución de llamada IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 o IPowerPolicyCallbackWakeFromSx::OnArmWakeFromSx .

  4. El marco llama a la función de devolución de llamada IPnpCallback::OnD0Exit del controlador (si existe).

Para ver un diagrama que muestra estos pasos, consulte la figura de eliminación ordenada en Un usuario desconecta un dispositivo.