Los drivers permiten que cada dispositivo y cada hardware diferente pueda funcionar perfectamente, en conjunción con el sistema operativo. En ocasiones, los fabricantes de los mismos los actualizan para ofrecer la mejor experiencia, aunque no siempre puede resultar sencillo crearlos.

Es por ello que durante el día de ayer, Microsoft liberó un framework de código abierto llamado Driver Module Framewok (DMF). Este permitiría a los desarrolladores escribir de forma simple y estructurada drivers Windows Driver Framework (WDF) y compartir código entre los diferentes.

Al desarrollar Drivers para Surface, el equipo de dispositivos de Microsoft desarrolló este Framework para uso interno. Ahora lo está liberando para que otros OEM desarrollen y soporten los drivers ofreciendo la mayor calidad con toda la eficiencia y sostenibilidad posible.

A typical design of a WDF driver.Además, Microsoft ha explicado algunas diferencias clave entre el WDF tradicional y este nuevo WDF.

  • WDF se comunica con DMF, mientras que DMF se comunica con el driver.
  • El contexto del dispositivo (en verde) existe independientemente de cada módulo y en el código de cada driver específico. Cada pequeño contexto del dispositivo mantiene los elementos que necesita el módulo.
  • Las llamadas a WDF (en rojo) existen independientemente de cada módulo y en el código del cliente. WDF llama a otro driver. DMF intercepta la llamada y divide cada módulo en un árbol de módulos instanciados. Cada módulo conserva la llamada por si coincide.
  • Finalmente, mira las flechas. Las flechas muestran específicamente el flujo entre los módulos y el código de cliente. En este ejemplo, el código de cliente puede comunicarse con tres módulos: ACPI, Botón y Transmisión. No puede comunicarse con GPIO, FIFO, Lista o Hilo. ACPI no puede comunicarse con FIFO, etc. Incluso sin mirar al código fuente, se sabe dónde coincide cada flujo en el driver.

Key differences between a traditional WDF and DMF-based WDF driver.Esta es la información que da Microsoft sobre este nuevo Framework, y que esperemos que empiecen a utilizar más desarrolladores para tener un trabajo más sencillo y que funcionen mejor, pudiendo ofrecer un mayor soporte en el dispositivo.