Using the Visual Studio 6.0 Driver Build Environment

This article explores how to use the standard Visual Studio environment while developing device drivers.

provided by: 
Originally published at Internet.com


I've already borrowed so much information from CodeGuru that I've started getting frustrated that I haven't contributed anything myself to the site. Therefore, I respectfully offer this articles to my fellow programmers.

Some time ago, I had to write an NT 4.0 device driver. Since I was already used to the comfort of Visual Studio 6, it was hard to me to fall back to the free build and checked build environments, provided by the DDK. Especially I missed the browser possibilities that Visual Studio provides.

So, I started around digging into the DDK build environment to find out how it works, and if I could extend the environment to be usable within the Visual Studio. My primary goal was to keep the existing environment intact, and furthermore, I want to use this environment within VS 6.

The solution was simpler than I expected. I only need to set up some additional files.

_build.bat

. This *.bat is directly called by VS 6 and has the same command parameters as the DDK setenv.bat. This *.bat will clean up some existing files ( i.e. build.dat which I do wish to rebuild every time ), saves the actual directory ( see PrCHDIR ) and calls the original setenv.bat from the DDK. The _build.bat calls bscmake.exe at the end. This enables me to browse to the source code afterwards. The _build.bat is not project-depended.

PrCDIR.exe

On starting setenv.bat, one is move into the DDK root directory. And this not so good if you want to automate the environment. The small PrCHDIR program prints the actual directory and drive letter. The _build.bat catches it output and stores it into a @temp.bat. Once the setenv.bat has been called, the @temp.bat puts you back into your proper build directory.

I386mk.inc

The DDK build environment use this file which resides in the %DDKROOT%\Inc directory. If you copy this file into your proper build directory, the Build will use this file instead. I extended this file with following lines: !IF "$(ASM_LST)"=="YES" DBGFLAGS=$(DBGFLAGS) /FAcs /Fa$(TARGETPATH)\$(TARGET_DIRECTORY)\$(TARGETNAME).asm !ENDIF !IF "$(GEN_SBR)"=="YES" DBGFLAGS=$(DBGFLAGS) /FR$(TARGETPATH)\$(TARGET_DIRECTORY)\$(TARGETNAME).sbr !END ...

Read article at Internet.com site
Related Articles
- Visual Basic .NET Attributes
Attributes are classes that allow individual developers to extend VS.NET tools without rebuilding VS.NET each time. Many attributes are already available, but most of the interesting ones haven't even been written yet. Perhaps you will do so.
- Visual Basic .NET as a Fully Object-Oriented Language
- Configuring a ClickOnce Deployment
- An Active Server Pages Tutorial, Part 1
- Resizable Docking Window 2
- MSBuild Features for Visual C++
- Interacting with .NET WinForms, Part 1
- Custom MSBuild Task Development with Visual C++
- Automating Repetitive Tasks in Visual Studio
- C# Tips and Tricks
Regional Articles
- Using the Visual Studio 6.0 Driver Build Environment Alabama
- Using the Visual Studio 6.0 Driver Build Environment Alaska
- Using the Visual Studio 6.0 Driver Build Environment Arizona
- Using the Visual Studio 6.0 Driver Build Environment Arkansas
- Using the Visual Studio 6.0 Driver Build Environment California
- Using the Visual Studio 6.0 Driver Build Environment Colorado
- Using the Visual Studio 6.0 Driver Build Environment Connecticut
- Using the Visual Studio 6.0 Driver Build Environment DC
- Using the Visual Studio 6.0 Driver Build Environment Delaware
- Using the Visual Studio 6.0 Driver Build Environment Florida
- Using the Visual Studio 6.0 Driver Build Environment Georgia
- Using the Visual Studio 6.0 Driver Build Environment Hawaii
- Using the Visual Studio 6.0 Driver Build Environment Idaho
- Using the Visual Studio 6.0 Driver Build Environment Illinois
- Using the Visual Studio 6.0 Driver Build Environment Indiana
- Using the Visual Studio 6.0 Driver Build Environment Iowa
- Using the Visual Studio 6.0 Driver Build Environment Kansas
- Using the Visual Studio 6.0 Driver Build Environment Kentucky
- Using the Visual Studio 6.0 Driver Build Environment Louisiana
- Using the Visual Studio 6.0 Driver Build Environment Maine
- Using the Visual Studio 6.0 Driver Build Environment Maryland
- Using the Visual Studio 6.0 Driver Build Environment Massachusetts
- Using the Visual Studio 6.0 Driver Build Environment Michigan
- Using the Visual Studio 6.0 Driver Build Environment Minnesota
- Using the Visual Studio 6.0 Driver Build Environment Mississippi
- Using the Visual Studio 6.0 Driver Build Environment Missouri
- Using the Visual Studio 6.0 Driver Build Environment Montana
- Using the Visual Studio 6.0 Driver Build Environment Nebraska
- Using the Visual Studio 6.0 Driver Build Environment Nevada
- Using the Visual Studio 6.0 Driver Build Environment New Hampshire
- Using the Visual Studio 6.0 Driver Build Environment New Jersey
- Using the Visual Studio 6.0 Driver Build Environment New Mexico
- Using the Visual Studio 6.0 Driver Build Environment New York
- Using the Visual Studio 6.0 Driver Build Environment North Carolina
- Using the Visual Studio 6.0 Driver Build Environment North Dakota
- Using the Visual Studio 6.0 Driver Build Environment Ohio
- Using the Visual Studio 6.0 Driver Build Environment Oklahoma
- Using the Visual Studio 6.0 Driver Build Environment Oregon
- Using the Visual Studio 6.0 Driver Build Environment Pennsylvania
- Using the Visual Studio 6.0 Driver Build Environment Rhode Island
- Using the Visual Studio 6.0 Driver Build Environment South Carolina
- Using the Visual Studio 6.0 Driver Build Environment South Dakota
- Using the Visual Studio 6.0 Driver Build Environment Tennessee
- Using the Visual Studio 6.0 Driver Build Environment Texas
- Using the Visual Studio 6.0 Driver Build Environment Utah
- Using the Visual Studio 6.0 Driver Build Environment Vermont
- Using the Visual Studio 6.0 Driver Build Environment Virginia
- Using the Visual Studio 6.0 Driver Build Environment Washington
- Using the Visual Studio 6.0 Driver Build Environment West Virginia
- Using the Visual Studio 6.0 Driver Build Environment Wisconsin
- Using the Visual Studio 6.0 Driver Build Environment Wyoming
Related Articles
- Visual Basic .NET Attributes
Attributes are classes that allow individual developers to extend VS.NET tools without rebuilding VS.NET each time. Many attributes are already available, but most of the interesting ones haven't even been written yet. Perhaps you will do so.
- Visual Basic .NET as a Fully Object-Oriented Language
- Configuring a ClickOnce Deployment
- An Active Server Pages Tutorial, Part 1
- Resizable Docking Window 2
- MSBuild Features for Visual C++
- Interacting with .NET WinForms, Part 1
- Custom MSBuild Task Development with Visual C++
- Automating Repetitive Tasks in Visual Studio
- C# Tips and Tricks

Rss   Delicious   Digg   Add To My Yahoo   Add To My Google   Bookmark   Search Plugin

Topics:
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML