Cómo Escribir Controladores

Tabla de contenido:

Cómo Escribir Controladores
Cómo Escribir Controladores

Video: Cómo Escribir Controladores

Video: Cómo Escribir Controladores
Video: Como escribir partituras con tu Controlador MIDI 2024, Marcha
Anonim

Un conjunto de controladores proporciona el trabajo unificado con todos los dispositivos de una computadora personal en Windows, así como algunas otras funciones del sistema operativo. Para escribir controladores, debe tener un buen conocimiento de la programación, los principios del kernel y varios subsistemas de Windows.

Cómo escribir controladores
Cómo escribir controladores

Necesario

Kit de desarrollo de controladores de Windows

Instrucciones

Paso 1

Descargue la distribución del Kit de desarrollo de controladores de Windows (DDK) de microsoft.com (disponible para suscriptores de MSDN) e instálela en su computadora. Este paquete contiene todas las herramientas necesarias para desarrollar y crear controladores (compilador, enlazador, archivos de encabezado, bibliotecas), así como documentación completa.

Paso 2

Estudie en detalle toda la documentación disponible sobre escritura de controladores para Windows. Utilice la información de referencia del DDK y el tema relacionado de MSDN (msdn.microsoft.com). Debe comprender completamente todos los aspectos del modelo de controlador de Windows (WDM) y comprender los conceptos arquitectónicos básicos. Debe comprender claramente las diferencias entre los controladores en modo de usuario y en modo kernel, los controladores de dispositivo y los controladores del sistema de archivos. Necesita conocer las características de las diferentes clases de controladores, sus tipos (controladores de bus, filtros, controladores funcionales) y subtipos (controladores de pantalla, módems, dispositivos de red, puertos serie y paralelo, dispositivos de almacenamiento). Preste especial atención a los principios de E / S impulsadas por paquetes con IRP reutilizables, administración de memoria, manejo de excepciones y la aplicación correcta de objetos de sincronización.

Paso 3

Defina claramente la funcionalidad del controlador que se está desarrollando. Con base en esto, determine a qué tipo y clase pertenece.

Paso 4

Seleccione un lenguaje de programación. Tradicionalmente, los controladores en modo kernel se implementan en C. Los controladores en modo usuario generalmente se desarrollan en C ++. Hay varias excepciones a estas reglas. Por ejemplo, los minicontroladores de cliente para transmisiones de audio y video, los controladores de audio WDM para los minipuertos en modo kernel, los controladores WIA y, a veces, los controladores de pantalla están escritos en C ++.

Paso 5

Cree un proyecto que implemente el código auxiliar del controlador. Explore el directorio DDK con ejemplos. Encuentre el proyecto de demostración del controlador correcto. Si no puede encontrar un ejemplo adecuado, cree los archivos usted mismo que contengan el código fuente requerido y cree archivos de script. Por ejemplo, al desarrollar un controlador en modo kernel, debe implementar la función DriverEntry, que contiene el código de inicialización, así como algunas rutinas estándar (como AddDevice, StartIo, etc.).

Paso 6

Implemente la funcionalidad del controlador. Agregue código a las funciones creadas en el paso anterior. Agregue lógica para manejar solicitudes de E / S, etc.

Recomendado: