| ||||||||||||||||||
|
There is a newer edition of this item:
|
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 synchronization and handling errors). There are also "nerd alerts" that point out extremely technical material.
This book shows you what you'll need to create WDM drivers that cooperate 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. There is plenty of sample code (plus a custom Visual C++ AppWizard that generates skeleton code for a default WDM driver) to get you started. 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
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; synchronization; interrupt request levels, kernel synchronization 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.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
68 of 75 people found the following review helpful:
1.0 out of 5 stars
WDM Newbies Warning: Use this book at your own risk!,
By BugBuster "BugBuster" (Eugene, OR United States) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: Programming the Microsoft Windows Driver Model (Microsoft Programming Series) (Paperback)
If you already know how to write WDM device drivers, you may or may not need this book.If you do not know how to write WDM device drivers, you would do yourself From page 184: ..."In fact, sometimes the easiest way to commence a new operation is to store "Fake and interrupt?" This term is not defined or explained anywhere in the book that I could "...the same spin lock that protects your ISR," is explained 121 pages later on page 305, If you want to spend your time sorting through this mess You have been warned.
61 of 67 people found the following review helpful:
3.0 out of 5 stars
Not for beginners,
This review is from: Programming the Microsoft Windows Driver Model (Microsoft Programming Series) (Paperback)
Having read this book half way, I believe it is intended for experienced developers instead of for beginners in device programming. Rather than offering a structural and formal introduction to the subject, it stresses on tricks and hints on selected topics like synchronization, pnp, read/write, etc. I now go for the DDK documentation for a more fundamental treatment. It cleared up instantly some of the questions built up as I read through the first five chapters of the book, like how a user mode application calls up the kernal mode driver. Nevertheless the author does give an authoritative insight in WDM programming. Incidentally, it is a matter of taste whether you like his informal writing style. As a beginner at the moment, I rated this book three stars. I might rate it differently when I returned to the book later.
18 of 18 people found the following review helpful:
5.0 out of 5 stars
If you're serious about WDM, you need this book!,
This review is from: Programming the Microsoft Windows Driver Model (Microsoft Programming Series) (Paperback)
Walter Oney is an expert who doesn't talk down to you. There's a lot of gold in this well-written book, but to extract it happily you'll need a strong background in Windows programming, including first and foremost a couple of years of professional driver-writing experience for Win9X/NT platforms; in a few places, some knowledge of COM and MFC will also be helpful. Plug and Play, power management, and USB issues are covered in detail, as well as driver basics (from an advanced perspective), the intricacies of cancelling IRPs, etc.I like Oney's approach to teaching -- he concentrates on the logic of the few dozen basic steps needed to write a driver, leaving it to the samples on the accompanying CD to flesh out the skeleton. This has the advantage of highlighting the mechanics, and the often convoluted reasoning behind them, without sacrificing completeness. He identifies and analyzes many potential race conditions and other pitfalls that you might not think of on your own. One of the best things about the book is the tips and sidebars. Some examples: why you should use the PAGED_CODE macro and Driver Verifier when using Soft-Ice/W on Win2k; the hazards of using DDK "function calls" that are actually macros; how to ship a single binary for both Win2000 and Win98, given that Win98 doesn't support some key functions (such as those involving IO_REMOVE_LOCK) -- the book suggests writing a VDD with stubs for the missing functions, as explained in Appendix A. The sample code also contains very instructive workarounds for the shortcomings of Win98. Another strong point is the DEVQUEUE code that Oney has developed to extend the standard Windows driver model to handle PlugandPlay. In addition to including the code on the CD, he gives a detailed and highly instructive discussion in the text. DEVQUEUE is a useful tool that can be taken over as-is in your own projects. Once you've finished this book, you'll be writing much more solid code and have enough technique to pick and choose among methods of your choice, rather than feeling cornered and boxed-in. Oney maintains a web site with errata and updates for the book and code samples (for instance, the stub VDD is now replaced by a filter driver to avoid the need to reboot).
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|