1 / 11

WINDOWS DRIVER MODEL

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.

etienne
Download Presentation

WINDOWS DRIVER MODEL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WINDOWS DRIVER MODEL

  2. 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.

  3. ¿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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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>

  10. Estructura para crea un WDM

  11. Función del WDM http://www.codeproject.com/system/WDM_Driver_development.asp

More Related