This book should not be the only source of information you use to learn about driver programming. It emphasizes the features that I think are important; but you might need information I don't provide, or you might have a different way of learning than I do. I don't explain how the operating system works except insofar as it bears on what I think one needs to know to effectively write drivers. If you're a deductive learner, or if you simply want more theoretical background, you might want to consult one of the additional resources listed below. If you're standing in a bookstore right now trying to decide which book to buy, my advice is to buy all of them: a wise craftsperson never skimps on his or her tools. Besides, books on specialized subjects like driver writing often go out of print before their useful life expires.
Art Baker, The Windows NT Device Driver Book: A Guide for Programmers (Prentice Hall, 1997).
Chris Cant, Writing Windows WDM Device Drivers (R&D Press, 1999).
Edward N. Dekker and Joseph M. Newcomer, Developing Windows NT Device Drivers: A Programmer's Handbook (Addison-Wesley, 1999).
Rajeev Nagar, Windows NT File System Internals: A Developer's Guide (O'Reilly & Associates, 1997).
Peter G. Viscarola and W. Anthony Mason, Windows NT Device Driver Development (Macmillan, 1998).
Dekker and Newcomer's book went to press as the Beta 2 release of Windows 2000 appeared and contains just two chapters on WDM drivers. My publishing schedule was such that I wasn't able to look at Chris Cant's book. Nagar's book, while nominally concerned with file system drivers, contains a great deal of material that's generally applicable to writing kernel-mode drivers of any kind. I don't believe in trying to evaluate another book on the same subject as my own, inasmuch as you'd have a perfect right to doubt my objectivity, so I simply present this list for you to use as you wish.
David A. Solomon, Inside Windows NT, Second Edition (Microsoft Press, 1998).
Microsoft Systems Journal occasionally has articles of interest to driver developers. Windows Developer Journal usually has at least one relevant article in each issue.
The comp.os.ms-windows.programmer.nt.kernel-mode newsgroup provides a forum for technical discussion on kernel-mode programming issues. This is the place to go for support from your peers.
I conduct public and on-site seminars on WDM programming. Visit my Web site at http://www.oneysoft.com for more information and schedules. Most other authors in this subject area conduct seminars as well. This is how we pay our bills. Once again, I won't presume to offer any evaluation. And I'm sure you'll forgive me for not giving explicit pointers to information about my competition!