Building NT drivers




Easy Code version 1.06.0.0001 and later add the new Classic NT driver (sys) project type, which allows you to get into 32-bit driver programming. When you choose a Classic NT driver (sys) project type, a basic structure is created and the minimum required files are also added (ntddk.h and ntoskrnl.exe). This driver default code can be built without errors, but it just does nothing.

In addtiion to the usual .h files located at \GoAsm\Include (the GoAsm headers must be installed), driver programming requires some extra .h files which can be found in the \EasyCode.Go\Include folder. So, in order to avoid errors when programming a driver, please take into account the following considerations:


Although Easy Code gives the necessary support, driver programming is not an easy task, specially for being debugged, and most programming errors go into a blue screen (BSOD). If you like to get into driver programming, you can find a good tutorial for beginners at Kernel Mode Drivers website.

Also, you can find a simple 32-bit driver example (ECPDriver), which gets all processes running in the system, and a little application to test it (ECPDrvTest). Both have been programmed by Héctor A. Medina and are located in the \EasyCode.Go\Examples folder. You can get another 32-bit driver example by clicking the following link:

Another driver example coded for GoAsm


REMARKS: The Easy Code driver project type only supports 32-bit NT driver programming (.sys) for Windows NT and later, so there is no support for Windows 95/98/ME drivers (.vxd).

SPECIAL THANKS: Héctor Antonio Medina who has worked very hard to make possible that Easy Code can include the necessary support for driver programming.