Marco de controlador de modo de usuario - User-Mode Driver Framework
Desarrollador (es) | Microsoft |
---|---|
Versión inicial | 12 de octubre de 2004 |
Lanzamiento estable | 2.27 / 24 de marzo de 2019
|
Repositorio | github |
Escrito en | C , C ++ |
Sistema operativo | Microsoft Windows |
Tipo | Plataforma de desarrollo de controladores de dispositivos |
Licencia | Licencia MIT |
Sitio web | docs |
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
- Marco de controlador de modo de usuario 1.5-1.9, compatible con Windows XP y versiones posteriores.
- Marco de controlador de modo de usuario 1.11, compatible con Windows Vista y versiones posteriores, y Windows Server 2008 y versiones posteriores.
- User-Mode Driver Framework 2.0, que es compatible con Windows 8.1 y versiones posteriores.
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
- Sitio web oficial
- Blog de Peter Wieland : desarrollador líder en el equipo de UMDF de Microsoft