Programació de controladors NT (drivers)




L'Easy Code versió 1.06.0.0001 i posteriors incorporen el nou tipus de projecte Driver NT clàssic (sys), el qual us permet introduir-vos a la programació de controladors (drivers) de 32 bits. Quan es tria un projecte del tipus Driver NT clàssic (sys), es crea l'estructura bàsica i també s'afegeixen els mínims fitxers que es necessiten (ntddk.h i ntoskrnl.exe). Aquest codi predeterminat de driver es pot compilar sense errors, però simplement no fa res.

A més dels fitxers .h usuals que es troben a la carpeta \GoAsm\Include (les 'GoAsm headers' han d'estar instal·lades), la programació de drivers requereix alguns fitxers .h addicionals que es poden trobar a la carpeta \EasyCode.Go\Include. En conseqüència, i per tal d'evitar errors en la programació de drivers, tingueu en compte les següents consideracions:


Tot i que l'Easy Code proporciona el suport necessari, la programació de drivers no és gens fàcil, especialment a l'hora de depurar el codi, i la majoria d'errors de programació acaben produint una pantalla blava (BSOD). Si voleu iniciar-vos en aquest tipus de programació, podeu trobar un bon tutorial per a principiants a la web Kernel Mode Drivers.

També podeu trobar un simple exemple de driver de 32 bits (ECPDriver), que obté tots els processos que hi ha engegats al sistema, i un petit programa per a provar-lo (ECPDrvTest). Tots dos han estat programats per Héctor A. Medina i es troben a la carpeta \EasyCode.Go\Examples. Podeu obtenir un altre exemple de driver de 32 bits fent clic a l'enllaç següent:

Un altre exemple de driver per a GoAsm


OBSERVACIONS: El tipus de projecte driver de l'Easy Code només contempla la programació de drivers NT de 32 bits (.sys) per a Windows NT i posteriors, per la qual cosa no hi ha cap suport per a drivers de Windows 95/98/ME (.vxd).

AGRAÏMENTS: Héctor Antonio Medina, qui amb el seu constant treball, ajuda i assessorament ha fet possible que l'Easy Code inclogui el suport necessari per a la programació de drivers.