1

I am planning to write a Windows(XP, Vista and 7) Virtual printer driver using C/C++. So I wanted to know which is the best IDE out there which I can use for this. From what I have read Windows Driver Kit 8(WDK-8) is much more integrated with the new Visual Studio 2012 but drivers for windows XP are not supported with WDK-8. So I was hoping if somebody could suggest me about which version would work out best for me.

Since Visual Studio is pretty expensive, so I don't want to buy it unless it has some advantages over using Eclipse in my case.

Also, if I need to use Visual Studio, then which version of visual studio would suffice for a single developer like me: Professional, Premium or Ultimate ?

ThinkingStiff
  • 64,767
  • 30
  • 146
  • 239
mabicha
  • 337
  • 2
  • 7
  • 16
  • What features are "must haves"? For most c i would use Emacs or a similar text editor – Daniel Casserly Jun 05 '12 at 10:06
  • Which kind of virtual printer driver do you need? AFAIK printer drivers, in contrast to display drivers, - can run in user mode. – valdo Jun 05 '12 at 10:11
  • 1
    Look at the [BizSpark program](http://www.microsoft.com/bizspark/About/Default.aspx) and this is a [comparison chart](http://www.microsoft.com/visualstudio/en-us/products/2010-editions/product-comparison) for Visual Studio Editions – Steve Jun 05 '12 at 10:13
  • @DanielCasserly: Thanks! I was just looking for an environment where coding and debugging would be simpler i.e. I can step through the code and see value of variables, etc – mabicha Jun 05 '12 at 14:06
  • @Valdo: Thanks! Yeah, I am planning to write a user mode printer driver itself. – mabicha Jun 05 '12 at 14:10
  • @Steve: Thanks for the references! I had looked BizSpark program before but I don't have a company registered right now, I am just working towards it. I had looked at the comparison chart before but it does not mention anything specific to driver development. – mabicha Jun 05 '12 at 14:14

3 Answers3

1

before VS 2012, the Visual Studio has no advantages than Eclipse. Almost all driver is built in command line mode, and use the windbg as debugger, so the VS is just an editor.

in the VS 2012, it build a template to WDF driver, it is easy to create a driver from template. But I don't think it is a reason to by the expensive VS.

RolandXu
  • 3,566
  • 2
  • 17
  • 23
  • Thanks for your response! Yeah, I agree. Do you happen to know, if there is a way to integrate WDK tools into eclipse like compiler, linker, debugger, etc ? – mabicha Jun 05 '12 at 14:17
  • @Manas I don't use eclipse, so don't know it. – RolandXu Jun 05 '12 at 14:33
  • @RolandXu i install WDK after installing VS2012Ultimate but there is no template for WDF driver.i repair VS but not affected – AminM Apr 08 '14 at 12:35
1

Take a look at DDKBuild.

http://www.hollistech.com/Resources/ddkbuild/ddkbuild.htm

I use Visual Studio 2012 in combination with DDKBuild to compile drivers - when errors show up I can see them in the Error List window and can get taken straight to the right line in the driver source...saves a bunch of time!

I've set up various SolutionConfigurations for different driver options that I want e.g. running a PreFast pass, compiling as 32bit, 64bit, for different OS targets, etc - makes it super easy to switch between Release and Debug, or the static analysis tools.

Basically you create a new Visual Studio Makefile Project in Visual studio, then set the NMAKE|Build Command Line to something like this:

ddkbuild -WIN7 -prefast checked . -cZ
or
ddkbuild -WIN7XP checked . -cZ
or
ddkbuild -WIN7XP free . -cZ
etc

I haven't used it myself, but for a more powerful way to leverage Visual Studio to do driver development, take a look at VisualDDK

http://visualddk.sysprogs.org/

Colin Smith
  • 12,375
  • 4
  • 39
  • 47
1

Visual Studio 2013 Community Edition is free and can be used as an IDE for the drivers

Addy
  • 731
  • 5
  • 15