Win32 Api Programming Books : Programming the Microsoft Windows Driver Model

Programming the Microsoft Windows Driver Model


Written for advanced C/C++ programmers, Walter Oney s Programming the Microsoft Windows Driver Model is a technically astute and clearly presented guide to writing custom Windows 2000 device drivers. The author s command of the details of the new Windows Driver Model (WDM) standard is what makes this book such a clear success. (Because the WDM is rich in kernel and system services, the trick is often knowing how to use what s available, rather than doing everything yourself.) The author presents a solid overview of the WDM architecture and breaks down the process of writing custom device drivers into manageable pieces, from the basics of loading device drivers, to creating and processing I/O request packets. The book is very good at exposing kernel system calls, design principles and programming techniques (such as managing synchronisation and handling errors). Technically detailed, but very clearly organised, the author also provides nerd alerts for extremely technical material. The book shows you what you ll need to provide in order to create WDM drivers that co-operate fully with Windows 2000 (and Windows 98). Features like Plug and Play (PnP), Windows power management, and the new Windows Management Instrumentation (WDM) standard get full attention here. To get you started, the author provides plenty of sample code (plus a custom Visual C++ AppWizard that generates skeleton code for a default WDM driver). Examples for working with the S5933 PCI chip set (and other simple hardware) let you see WDM drivers in action. The process of writing device drivers certainly has changed from the early days of DOS. But armed with this handy and thorough book, C/C++ programmers can successfully create drivers for custom hardware that take full advantage of all the features of the powerful new WDM standard. --Richard Dragan, Amazon.com Topics covered: Windows Driver Model (WDM) overview and driver structure, kernel mode, physical, filter, function and bus drivers, loading device drivers (DDs), driver objects, Windows 98 compatibility, kernel mode programming basics, error handling, memory management, synchronisation, interrupt request levels, kernel synchronisation objects, I/O request packets (IRPs), completion routines, plug and play (PnP) basics, reading and writing data, direct memory access (DMA) transfers, power management, error logging, watchdog timers, Windows Management Instrumentation (WMI), Universal Serial Bus (USB): bulk transfer and isochronous pipes, installing DDs: INF files, property pages and registry keys. --Sarah Taylor

Excellent reference - As an experienced developer writing device drivers for Windows, I bought this as reference material and can thoroughly recommend it.The writing style is highly accessible, saying what to do and then the reason/theory why. I find the examples helpful with sensible annotations - certainly not a book of listings. The author doesn t run from describing details that you need! The second edition copy I have comes with a CD with a searchable copy of the book and the sample code. The author has a web site for errata and updates too.Recommended!

Must Read Book For all Programmers Writing System Level Code - This is a must read book for all Software Professionals writing System Level Code. It tells you how to program Hardware devices. Though there might hardly be any need to write programs for the hardware that one might be required but still it would be a nice hands on if one wants to develop programs for his own hardware for which pre built programs are not already written. To learn quicker one must have a good hands on experience in writing programs using Assembly Language and also using some high level language like C/C++. In short a must read for all software professionals wanting to enhance their programming skills, because the ultimate aim of building a software is executing which can only be done with proper, good programming.




Programming the Microsoft Windows Driver Model