User-Mode Driver Framework ( UMDF ) es una plataforma de desarrollo de controladores de dispositivos introducida con el sistema operativo Windows Vista de Microsoft , y también está disponible para Windows XP . Facilita la creación de controladores para ciertas clases de dispositivos. [ 1 ]
Descripción general
Los controladores de dispositivos estándar pueden ser difíciles de escribir porque deben manejar una amplia gama de estados del sistema y del dispositivo, especialmente en un entorno de software multihilo. Los controladores de dispositivos mal escritos pueden causar daños graves al sistema (por ejemplo, pantalla azul de la muerte o corrupción de datos), ya que todos los controladores estándar tienen altos privilegios al acceder directamente al kernel. El marco de controladores en modo usuario aísla al kernel de los problemas del acceso directo al controlador, proporcionando en su lugar una nueva clase de controlador con una interfaz de programación de aplicaciones dedicada a nivel de usuario para la gestión de interrupciones y memoria. Si se produce un error, el nuevo marco permite reiniciar el controlador inmediatamente sin afectar al sistema. Esto es particularmente útil para dispositivos que se conectan intermitentemente al sistema o que admiten la conexión en caliente mediante una tecnología de bus como USB o FireWire .
Según Microsoft, los controladores UMDF son más fáciles de escribir y depurar que los controladores en modo kernel. [ 2 ] Sin embargo, UMDF no se utilizaría para dispositivos que requieren un alto rendimiento o que manejan muchos estados .
La primera versión de UMDF se incluyó en Windows Media Player versión 10 el 12 de octubre de 2004. Con nombre en clave "Crescent", fue diseñada para admitir el controlador del Protocolo de Transferencia de Medios ( MTDP ), pero no se proporcionaron interfaces ni documentación públicas para ella. Posteriormente, Microsoft decidió convertir UMDF en una plataforma de desarrollo de controladores de dispositivos. [ 3 ]
Historial de versiones
- User-Mode Driver Framework 1.5-1.9, compatible con Windows XP y versiones posteriores.
- User-Mode Driver Framework 1.11 es compatible con Windows Vista y versiones posteriores, y Windows Server 2008 y versiones posteriores. [ 4 ]
- User-Mode Driver Framework 2.0, que admite Windows 8.1 y versiones posteriores. [ 5 ]
Arquitectura
Un controlador UMDF es una DLL basada en el Modelo de Objetos Componentes (COM) de Microsoft . Sin embargo, UMDF no utiliza COM para cargar, descargar o controlar la concurrencia ; solo lo utiliza como patrón de programación , por ejemplo, aprovechando la interfaz IUnknown de COM . Al iniciarse, UMDF llama a DllGetClassObject para obtener un puntero a una interfaz IClassFactory en el controlador y luego utiliza el método CreateInstance de la interfaz IClassFactory para crear una instancia del objeto de devolución de llamada del controlador.
El objeto controlador es una instancia de la interfaz IWDFDriver proporcionada por el framework . El controlador proporciona un conjunto de funciones de devolución de llamada a través de la interfaz COM IDriverEntry , que es el punto de entrada principal para la personalización del controlador.
Véase también
Referencias
- ↑ Programación de controladores para el UMDF
- ↑ "Ventajas de escribir controladores UMDF" .
- ↑ Charles Torre, Peter Wieland (18 de septiembre de 2006). "Peter Wieland: User Mode Driver Framework" . Channel 9. Microsoft . Consultado el 18 de septiembre de 2006 .
- ↑ Soporte técnico de Microsoft. "Actualización de User-Mode Driver Framework versión 1.11 para Windows Vista, Windows Server 2008, Windows 7 y Windows Server 2008 R2" . Microsoft . Consultado el 1 de diciembre de 2012 .
- ↑ "Preguntas frecuentes sobre el marco de controladores en modo de usuario (controladores de Windows)" . Microsoft . Consultado el 4 de junio de 2014 .
Enlaces externos
- Sitio web oficial
- Blog de Peter Wieland , líder de desarrollo del equipo UMDF en Microsoft.
- Controladores de dispositivos
- Interfaces de programación de aplicaciones de Microsoft
- Software gratuito de Microsoft
- Software que utiliza la licencia MIT.
- Software gratuito exclusivo para Windows