Proceso de host del controlador UMDF
En este tema se describe el proceso de host del controlador de User-Mode Driver Framework (UMDF) y cómo funciona con otros componentes de UMDF. Se aplica a las versiones 1 y 2 de UMDF.
El proceso de host del controlador (Wudfhost.exe) es un proceso secundario del servicio de administrador de controladores. Wudfhost.exe normalmente se ejecuta en la cuenta LocalService , que tiene privilegios mínimos en el equipo local. Una instancia de Wudfhost.exe carga uno o varios archivos DLL del controlador UMDF, además de los archivos DLL del marco. El proceso de host del controlador proporciona un entorno en tiempo de ejecución que controla la comunicación entre el controlador (IPC) entre el administrador de controladores y el reflector, así como el envío de E/S, la carga de controladores, la capa de controladores y la administración del grupo de subprocesos.
El administrador de controladores puede crear varias instancias simultáneas de Wudfhost.exe, como se indica a continuación:
Si el controlador UMDF se creó con la versión 1.11 y se ejecuta en Windows 8, de forma predeterminada, el administrador de controladores crea una única instancia de Wudfhost que puede hospedar varias pilas de dispositivos. Esta técnica se denomina agrupación de dispositivos.
Si el controlador UMDF se creó con la versión 2 y se ejecuta en Windows 8.1 o Windows 10, la agrupación también está activada de forma predeterminada.
Si el controlador se creó con la versión 1.9 o anterior de UMDF, el marco crea una instancia independiente del proceso de host (Wudfhost) para cada pila de dispositivos.
Para obtener más información sobre la agrupación de dispositivos, consulte Uso de la agrupación de dispositivos en controladores UMDF.
Cada proceso de Wudfhost.exe se ejecuta en su propio espacio de direcciones y, por tanto, está aislado de los procesos de aplicación y de otras instancias del host del controlador. Los controladores UMDF que se ejecutan en el mismo proceso (agrupación de dispositivos) comparten un espacio de direcciones y no están aislados entre sí.
Puede cargar controladores creados con las versiones 1 y 2 de UMDF simultáneamente, ya sea en el mismo proceso de host o en diferentes procesos de host. Por ejemplo, de forma predeterminada, el administrador de controladores cargaría un controlador UMDF 1.11 y un controlador UMDF 2 en el mismo proceso de host en un equipo que ejecuta Windows 8.1 o posterior.
Sin embargo, no puede cargar controladores umDF versión 1 y 2 en la misma pila de dispositivos. Por ejemplo, no se puede cargar un controlador de filtro de la versión 1 de UMDF por encima de un controlador de funciones de la versión 2 de UMDF.
Para ver un diagrama que muestra cómo se relaciona el host del controlador con otros componentes de UMDF, consulte Información general sobre UMDF.