Compartir a través de


El administrador de PnP redistribuye los recursos del sistema (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 Windows 11, versión 22H2 : actualización de ejemplos de controladores de mayo de 2022.

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

Si un usuario agrega un dispositivo a un sistema y el dispositivo requiere recursos del sistema que el administrador de PnP ya ha asignado a otro dispositivo, el administrador de PnP intenta reasignar recursos.

Durante este proceso, el administrador de PnP detiene los dispositivos y los quita de sus estados de trabajo (D0). A continuación, entrega nuevas listas de recursos a los dispositivos para que puedan reiniciarse con los nuevos recursos.

Al redistribuir recursos, el administrador de PnP no modificará la asignación de recursos de un dispositivo si uno de los controladores basados en UMDF del dispositivo ha proporcionado una función de devolución de llamada IPnpCallback::OnQueryStop y la función de devolución de llamada ha vetado la reasignación.

Secuencia de apagado
Para cada función basada en UMDF y controlador de filtro que admita el dispositivo que se detiene, 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.

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

  4. El marco llama a la función de devolución de llamada IPnpCallbackHardware::OnReleaseHardware del controlador (si existe) pasando la lista de recursos de hardware que el administrador de PnP ha asignado al dispositivo.

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

Secuencia de encendido
Para cada función basada en UMDF y controlador de filtro que admita el dispositivo, el marco hace lo siguiente, en secuencia, un controlador cada 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 IPnpCallbackHardware::OnPrepareHardware del controlador (si existe), pasando la lista de recursos de hardware que el administrador de PnP ha asignado al dispositivo.

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

  3. El marco reinicia todas las colas de E/S administradas por energía del dispositivo.

  4. Si el controlador usa E/S autoadministrado, 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).