I've been reading quite a bit for the last couple of months and I compiled my list of the 5 Windows development books that I want to complete:
1) Windows Internals (finished): The classic book by Mark Russinovich and David Solomon is now in its 5th edition. I've read the 4th one and I think that it's a must-read for every windows developer.
2) Developing Drivers with the Windows Driver Foundation (finished): I just finished the book and I think that its the best book currently available to windows driver developers, especially for beginners. I'll write a review shortly, however I think that it's definately the most complete and at the same time easier to read book on windows drivers.
3) Advanced Windows Debugging (not started): After John Robbins decided not to write a debugging book for Win32 programming, I was wondering which book would take its place. I've read lots of good reviews about this book and I have it in my bookcase, so I'm eager to read it. Just with a first glance it seems to be exactly what I was searching for.
4) Windows via C/C++ (not started): This is the latest version for "Programming Applications for Microsoft Windows". It covers application development in Windows. I've taken a class by Jeffrey Richer and I know that he's definately both a good developer and a good teacher, so I'm waiting to read it.
5) Programming the Windows Driver Model (half-read): This is the most tough-to-read and most advanced book in windows driver development. It covers many aspects of windows in depth, however I don't feel that I'm ready to read it yet. I've tried a couple of times in the past and I failed miserably. I think that really understanding this book means that your level is definately above intermediate.
Of course, there are other books, like Subverting the Windows Kernel, however these are my top choices. I'd love to hear your comments, as well as your top choices.
I've been a Russinovich fan for quite some time so I definitly second your choice for his book.
As for the others, I'm going to give them a shot. Maybe we'll have the opportunity to compare notes.
Thanks for the list. I am definitely checking all five of these out!
I have a question about "Developing Drivers with the Windows Driver Foundation"; does it provide any knowledge that is useful to someone who uses the previous driver model?
And another question - assuming that I have a clean sheet in front of me, and I have to develop a kernel mode driver, will anyone not out of their mind NOT choose WDF? i.e. why should they choose WDF?
I am a newbie in this area, and my fear is that while attempting to get my hands on the WDF I will make a mess in my head. Is this a real risk?
Uhm... I made a mistake; in that comment, assume that the clean sheet is not in front of me, but in front of "anyone not out of their mind" :-)
if you're a newbie then definately WDF is the best way to start and the WDF book that you mention is a must have.
WDF is much simpler than WDM and many people, who have been writing WDM code, are now switching to WDF. The WDF book doesn't go into the WDM internals, however you don't need them, in order to start developing WDF drivers.
I'm missing Developing Windows NT Device Drivers:A Programmer's Handbook by Edward N. Dekker / Joseph M. Newcomer, Addison-Wesley; ISBN 9780768682250!
Although a vintage book, it has tons of detailed and accurate data on the Windows kernel!
As this post is related to 2008, I have a suggestion for anyone who is interested in driver & kernel research stuff & those who is interested in developing security products like robust antivirus systems .
This time by Bill Blunden . "Rootkit arsenal" is a must-read book for anyone that is involved with driver development .
so this book is a quite interesting in order to learning windows internals, processor architecture & writing effective kernel codes with good real world examples .