Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Driver Wizard

0.00/5 (No votes)
29 Dec 2002 1  
Driver wizard integrated to the Visual Studio IDE that generates an NT driver project.

Sample Image - DriverWizard.jpg

Introduction

I came across an article QuickSYS which implements an NT driver framework. That article demonstrates a MFC application that gets a project name as a parameter and creates Visual C++ workspace with NT driver framework. I decided to copy the NT driver framework source and to put it in the Visual Studio project wizard as seen above. This is simpler rather than running an external executable application that generates the code for you.

So if you want to write an NT driver, all you have to do is to open Visual Studio and to choose "Driver AppWizard" option. That's all.

How to add custom wizard to Visual Studio IDE

Template wizards have .awx extensions. If you build my source, then the custom wizard is automatically added to the Microsoft Visual Studio\Common\msdev98\Template directory. Once in this directory, my custom AppWizard becomes a project type and shows up on the Projects tab in the New dialog box.

Comment

Visual Studio custom AppWizard always generates a MFC-based project initially. Therefore, I had to override CustomizeProject method in order to change the created project settings. I customized the created NT driver project settings by using the methods of IBuildProject and IConfiguration such as AddToolSettings and RemoveToolSettings.

Furthermore, since driver projects must have the DDK (Driver Development Kit) installed, I assume that the environment variable ddkroot is defined for the DDK installed path. The driver project compilation and linkage depends on that environment variable.

Links regarding drivers

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here