> Free MS’s software is not open source.
And open source software is not always free. Example: Eclipse, gcc, gdb as part of a proprietary development kit (and alternatively licensed).
But Visual Studio is not only editor! it is a project organizer and build system. You can deliver source to customers in form of VS solution, so they just hit F7 and it builds.
You can explore the solution tree, by projects and folders. You have configurations. Neat.
So, IMHO the question how to build a driver with Visual studio is not just about editing. It is most likely about adding a driver project into a VS solution which already may have: interface DLLs, apps, tests, setup projects and so on. why? because people rarely need a bare driver. They typically want it in a package.
So, before ever reaching for (either) ddkbuild.bat, I take a paper and pencil (you can use your iPad
and draw a diagram of VS solution configurations vs. driver configuration.
For example: the app is same 32-bit, but target OS can be x86 and x64, XP and Win7. Thus, driver must be x86 and x64, and maybe separate binaries for NT6 and NT5.
The user could add x64 as a solution configuration, just for the driver.
Or, they can wish to have only Release and Debug configurations for all, and build all possible driver binaries. Whatever they want.
Then you create these configurations for the driver project in the VS config manager, and bind these to the solution configurations, with few mouse clicks, as usual.
Then you hack up a small wrapper .bat file, which purpose is translate the selected project configuration into one or more runs of dkbuild.bat, with appropriate arguments (target OS, checked/free) and also throws in some INCLUDES, C_DEFINES etc. from the containing solution.
Ah, and it also knows where is your WDK, for ddkbuild.bat.
Start from defining the WDK path - in an environment variable or macro in VS property sheet. Pass it to ddkbuild.bat and also to the VS intellisense path.
Now… enjoy writing the driver, in vim, SI or whatever 
–pa