Using the Visual Studio 6.0 Driver Build Environment Oxon Hill MD

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

Local Companies

Em Solutions Inc
703-413-3106
1421 Jefferson Davis Hwy
Arlington, VA
CGH Technologies, Inc.
(202) 580-7400
600 Maryland Ave., SW
Washington, DC
Advanced Systems Development Inc
703-998-3900
2800 S Shirlington RD
Arlington, VA
Computer Consultants Corporation
(202) 785-8000
818 18th St., NW
Washington, DC
Nustrat, LLC
(202) 332-8862
700 12th St. N.W. Suite 700
Washington, DC
Intelligent Software Solutions
703-416-4111
2001 Jefferson Davis Hwy
Arlington, VA
21st Century Systems
703-418-9333
2611 Jefferson Davis Hwy
Arlington, VA
FronTech
703-9080651
4900 Leeseburg Pike
Alexandria, VA
The Carrington Group, Inc
(202) 726-4441
1818 New York Ave., NE Suite 115
Washington, DC
LimeLeap Solutions
(202) 728-0900
1101 15th St., NW
Washington, DC

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

Featured Local Company

Intelligent Software Solutions

703-416-4111
2001 Jefferson Davis Hwy
Arlington, VA

Related Local Events
National Facilities Management & Technology (NFMT)
Dates: 3/16/2010 - 3/28/2010
Location: Baltimore Convention Center
Baltimore, MD
View Details

DC Chamber Technology Series: Session 4
Dates: 12/10/2009 - 12/10/2009
Location: Robert H. Smith School at the Ronald Reagan Building and International Trade Center
Washington, DC
View Details

CSI 2009: The Next Phase In Security
Dates: 10/24/2009 - 10/30/2009
Location: Gaylord National Resort and Convention Center
National Harbor, MD
View Details

3rd Carbon Capture and Sequestration Summit
Dates: 9/14/2009 - 9/15/2009
Location: Omni Shoreham Hotel
Washington, DC
View Details

ACIs 3rd Annual Carbon Capture and Sequestration Summit
Dates: 9/14/2009 - 9/15/2009
Location: Omni Shoreham Hotel
Washington, DC
View Details

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