120 likes | 286 Views
WINDOWS DRIVER MODEL. DRIVER. Un driver o controlador es un software o programa que sirve de intermediario entre un dispositivo de hardware y el sistema operativo.
E N D
DRIVER • Un driver o controlador es un software o programa que sirve de intermediario entre un dispositivo de hardware y el sistema operativo. • Permite extraer el máximo de las funcionalidades del dispositivo para el cual ha sido diseñado, el driver se crea además para que funcione con un sistema operativo especifico. • Los controladores se instalan según el Windows que utiliza tu computadora.
¿QUE ES WDM? • WDM (Windows Driver Model/Modelo de Controlador de Windows) • Es un sistema que da un marco para el desarrollo y ejecución de los controladores de dispositivos de hardware. • Permite que los desarrolladores de controladores para dispositivos puedan escribir sus controladores de forma mas sencilla que su predecesor VxD.
IMPORTANCIA DEL WDM Los desarrolladores pueden: • Crear drivers más robustos con menos esfuerzo. • Escribir drivers para plataformas múltiples. • Esto significa que los desarrolladores pueden crear y manejar una sola base de código fuente, en vez de escribir un driver separado para cada plataforma y esto reduce la cantidad de código que debe ser probado y elimina errores.
WINDOWS DDK • DDK (Driver Development Kit/Paquete de Desarrollo de Drivers) • Es un software para desarrollar drivers para el sistema operativo Windows. • Proporciona ambientes de la estructura, código de la muestra y la documentación para desarrollar drivers del WDM.
WINDOWS DDK La documentación de DDK incluye lo siguiente: Instrucciones para usar las herramientas de desarrollo del ambiente y de la estructura de DDK. Información detallada sobre arquitectura del driver del modo-kernel de Windows. Información de referencia sobre las librerías del modo-kernel. Información Device-specific sobre los drivers de escritura para las clases de dispositivo de Windows. Información sobre la instalación de los dispositivos y de los drivers.
TIPOS DE WDM • Driver de Bus.-cada bus controlauna E/S y brindafuncionalidadporranura, estohacedispositivosindependientes. • Driver de Función.-cada driver controla un dispositivo individual. • Driver de Filtro.-filtro de E/S solicitadopor un dispositivo, unaclase de dispositivos o un bus.
DESVENTAJAS DEL WDM Bastante complicado de aprender. Las interacciones con los eventos energía y el plug and play son difíciles de gestionar. Esto conduce a una variedad de situaciones donde las máquinas no pueden hibernar o despertar correctamente debido a errores en el código del controlador. La cancelación de I/O (Entrada/Salida) es casi imposible de hacerla bien. Miles de líneas de código de soporte son requeridas para cada controlador. No tiene soporte para la escritura de controladores en modo-usuario puro. Múltiples problemas en la calidad de la documentación.
Crear un WDM Driver Antes de empezar, la declaración para rutinas miembros y estructuras es esencial. El driver requerido más importante en la estructura de datos es el de Extensión-Dispositivo (Device-Extension) <PRE id=pre0 style="MARGIN-TOP: 0px; DISPLAY: block">typedefstructtagDEVICE_EXTENSION { PDEVICE_OBJECT DeviceObject; // deviceobjectthis driver creates PDEVICE_OBJECT NextDeviceObject; // next-layereddeviceobject in this // devicestack DEVICE_CAPABILITIES pdc; // devicecapability IO_REMOVE_LOCK RemoveLock; // removal control lockingstructure LONG handles; // # open handles PVOID DataBuffer; // Internal Buffer forRead/Write I/O UNICODE_STRING Device_Description; // DeviceDescription SYSTEM_POWER_STATE SysPwrState; // CurrentSystemPowerState DEVICE_POWER_STATE DevPwrState; // CurrentDevicePowerState PIRP PowerIrp; // CurrentHandlingPower-Related IRP } DEVICE_EXTENSION, *PDEVICE_EXTENSION;</PRE>
Función del WDM http://www.codeproject.com/system/WDM_Driver_development.asp