Compartir a través de


Un dispositivo vuelve a su estado de trabajo (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 que se encuentra en un estado de bajo consumo vuelve a su estado de funcionamiento si se produce una de las siguientes acciones:

  • El dispositivo detecta un evento externo y desencadena una señal de reactivación en su bus. El controlador de bus en modo kernel detecta la señal de reactivación.

  • El dispositivo ha estado inactivo y un controlador llama a IWDFDevice2::StopIdle.

  • El estado de energía del sistema ha cambiado de un estado de baja potencia a su estado de funcionamiento (S0).

En cada una de estas situaciones, el controlador de bus en modo kernel restaura el dispositivo (un dispositivo secundario del bus) a su estado de trabajo (D0).

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

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

  2. 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::OnDisarmWakeFromS0 o IPowerPolicyCallbackWakeFromSx::OnDisarmWakeFromSx .

  3. El marco reinicia todas las colas de E/S administradas por energía del dispositivo y llama a sus funciones de devolución de llamada IQueueCallbackIoResume::OnIoResume (si es necesario).

  4. Si el controlador usa E/S autoadministrada, el marco llama a la función de devolución de llamada IPnpCallbackSelfManagedIo::OnSelfManagedIoRestart .

Para ver un diagrama que muestra estos pasos, consulte A User Plugs in a Device (Un usuario conecta un dispositivo).