This is not really my thing, but as it is Sunday, and you might not get another reply until tomorrow, I’ll do my best.
This first thing is where are you getting this error message, and what do you do that causes it?
I believe what you are trying to do is get a XP SP2 display driver (GDI) to work on Vista? If this is correct, the good news is that I believe that while Vista does have a totally different video driver model, it still supports the Windows 2000 model, so you should be OK here. As far as the compilation part, you lose me. The first thing is, while I am not familiar with the codeproject source code, I would wonder why the X86 macro has to be defined; that seems unusal. The bigger issue is that, to the best of my knowledge neither “DDI_VERSION” nor “NT1_SP1” are WDK macros; assuming that this is correct, redefining them doesn’t do anything, unless they are specific to the codeproject source code, in this case I can’t comment. In the case of the first, I think you probably mean “NTDDI_VERSION;” I don’t know what you mean by the second. From a purely WDF point of view, that is, leaving out the specific source code you are using, if I understand the situation correctly, you should be able to compile for XP SP2 and it should work on Vista, although it will not be of the newer model.
In general, you’re in a tough position - starting from scratch. You’re looking at steep learning curve, particularly as you are not familar with WinDbg. As far as WinDbg goes, this is a very common question - how to use it - but there are no tutorials of which I know, and you’re just going to have to dive in to the documentation and spend some time with it; until you have some more specific questions, there really is no other way, much as it may suck at the moment. Actually, I take back what I just wrote - I believe that there is a WinDbg series actually on codeproject; I have never read it, so I can’t comment on its quality. Still, in the end, you’re just going to have to spend some serious time with it.
Finally, I’m not knocking the article, as I haven’t read it, but it sounds like it does not use the normal WDK build system. If it does not, and really either way, in my opinion, you don’t want to use it as the basis for your first driver; use mirror. While it is probably more complicated, it is “official,” which means that some people on this list will be able to help you, whereas with this one, it’s possible no one is familiar with it. This is important, because, in my opinion, you can count the number of people who comment of video threads on this list easily with one hand. If you were to use mirror, there is at least one person, not I, who I know will be able to tell you all about it, as long as you promise to remember that CLIPOBJ can be NULL.
Please keep in mind that everything in here, other than the recommendation to use mirror, is an amateur opinion.
Good luck,
mm