Windows Driver Model (WDM) , un marco para controladores de dispositivos (también conocido como Win32 Driver Model y Windows NT Driver Model ), se introdujo en Windows 98 y Windows 2000 para reemplazar el obsoleto VxD que se usaba en versiones anteriores de Windows como Windows 95 y Windows 3.1 .
El modelo de controlador de Microsoft Windows define un modelo de controlador para Windows 98, Windows 2000 y sistemas operativos posteriores, estandarizando los requisitos y reduciendo el código. De acuerdo con el concepto de WDM, los controladores pueden ser compatibles con binarios . Entonces, por ejemplo, un controlador x86 escrito para Windows 98 puede funcionar con Windows Me , Windows 2000 e incluso Windows Vista . Los controladores WDM están diseñados para la compatibilidad con versiones anteriores, por lo que dicho controlador puede ejecutarse en una versión posterior de Windows que la que se escribió originalmente. Pero esto también significa que el controlador no podrá utilizar las nuevas funciones de la nueva versión del marco WDM. Los controladores WDM son en su mayoría incompatibles con versiones anteriores . Esto significa que no hay garantía de que dicho controlador se ejecute en una versión de Windows anterior a aquella para la que fue escrito. Por ejemplo, Windows XP puede usar un controlador escrito para Windows 2000, pero ese controlador no puede usar las nuevas funciones agregadas en Windows XP. Sin embargo, un controlador escrito para Windows XP puede o no funcionar en Windows 2000.
Los controladores WDM se comunican entre sí a través de paquetes de solicitud de E/S (IRP).
La tecnología WDM se desarrolló para aumentar la funcionalidad y facilitar la escritura de controladores para Windows. Aunque WDM se diseñó principalmente para la compatibilidad binaria y a nivel de fuente entre Windows 98 y Windows 2000, a menudo esto no siempre se espera y, por lo tanto, se desarrollan controladores específicos para cada sistema operativo por separado.
Los controladores WDM generalmente están diseñados para ampliar las capacidades estándar del controlador principal.
Los sistemas operativos basados en Windows 98 (Windows 98, Windows 98 Segunda edición y Windows Me) pueden usar los estándares de controlador WDM y VxD . Ambos modelos de controladores pueden proporcionar capacidades únicas y diferentes para el mismo dispositivo. Sin embargo, el estándar WDM más nuevo generalmente ofrece más opciones. Por ejemplo, si un sintonizador de TV usa un controlador VxD, puede capturar una imagen con una resolución de 384 × 288 píxeles. El mismo sintonizador de TV con un controlador WDM puede capturar una imagen de 768 × 576 píxeles.
El modelo de controlador de Windows, aunque es una mejora significativa con respecto a su predecesor VxD y el modelo de controlador de Windows NT, ha sido criticado por los desarrolladores de controladores [1] , principalmente por las siguientes razones:
También hubo muchos problemas debido a la calidad de la documentación y los ejemplos proporcionados por Microsoft.
Debido a estos problemas, Microsoft ha lanzado un nuevo marco de reemplazo de WDM llamado Windows Driver Foundation , que incluye el marco de controlador de modo kernel (KMDF) y el marco de controlador de modo de usuario (UMDF). Windows Vista admite tanto WDM como el nuevo Windows Driver Foundation. KMDF también está disponible para descargar para Windows XP e incluso Windows 2000, mientras que UMDF solo está disponible para Windows XP.