Marco de controlador de modo de usuario - User-Mode Driver Framework

Marco de controlador de modo de usuario (UMDF)
Desarrollador (es) Microsoft
Versión inicial 12 de octubre de 2004 ; Hace 16 años  ( 12 de octubre de 2004 )
Lanzamiento estable
2.27 / 24 de marzo de 2019 ; Hace 22 meses  ( 24/03/2019 )
Repositorio github .com / microsoft / Windows-Driver-Frameworks
Escrito en C , C ++
Sistema operativo Microsoft Windows
Tipo Plataforma de desarrollo de controladores de dispositivos
Licencia Licencia MIT
Sitio web docs .microsoft .com / es-es / windows-hardware / drivers / wdf / descripción general-del-umdf

User-Mode conductor Marco ( UMDF ) es una plataforma de desarrollo de controladores de dispositivo introducido por primera vez con Microsoft 's Windows Vista sistema operativo , y también está disponible para Windows XP . Facilita la creación de controladores para ciertas clases de dispositivos.

Visión general

Los controladores de dispositivos estándar pueden ser difíciles de escribir porque deben manejar una amplia gama de estados de dispositivos y sistemas, particularmente en un entorno de software multiproceso. Los controladores de dispositivos mal escritos pueden causar daños graves a un sistema (por ejemplo, BSoD y corrupción de datos) ya que todos los controladores estándar tienen altos privilegios al acceder al núcleo directamente. El marco del controlador en modo de usuario aísla el kernel de los problemas de acceso directo al controlador, en lugar de proporcionar una nueva clase de controlador con una interfaz de programación de aplicaciones dedicada a nivel de usuario de interrupciones y administración de memoria. Si ocurre un error, el nuevo marco permite un reinicio inmediato del controlador sin afectar el sistema. Esto es particularmente útil para dispositivos que están conectados intermitentemente al sistema o admiten intercambio en caliente a través de una tecnología de bus como USB o FireWire .

Según Microsoft, los controladores UMDF son más sencillos de escribir y depurar que los controladores en modo kernel. Sin embargo, UMDF no se usaría para dispositivos de alto rendimiento o con alto estado.

La primera versión de UMDF se envió como parte de Windows Media Player versión 10 el 2004-10-12. Con el nombre en código "Crescent", fue diseñado para admitir el controlador del Protocolo de transferencia de medios y no se proporcionaron interfaces públicas ni documentación para él. Más tarde, Microsoft decidió convertir UMDF en una plataforma de desarrollo de controladores de dispositivos.

Historial de versiones

Arquitectura

Un controlador UMDF es una DLL basada en el Modelo de objetos componentes (COM) de Microsoft. Sin embargo, UMDF no usa COM para cargar, descargar o controlar la simultaneidad ; solo usa COM como patrón de programación , por ejemplo, explotando la interfaz IUnknown de COM . Al inicio, UMDF llama a DllGetClassObject para obtener un puntero a una interfaz IClassFactory en el controlador y luego usa el método CreateInstance de la interfaz IClassFactory para crear una instancia del objeto de devolución de llamada del controlador.

El objeto de controlador es una instancia de la interfaz IWDFDriver proporcionada por el marco . El controlador proporciona un conjunto de devoluciones de llamada a través de la interfaz COM IDriverEntry , que es el principal punto de entrada para la personalización del controlador.

Ver también

Referencias

enlaces externos