GetTextbooks.com  
 Compare Prices & Save up to 90%
Search by ISBN, title, author, etc ...

Login | Sign up | Settings | My Wish List 


Programming the Microsoft Windows Driver Model, Second Edition

by Walter Oney

ISBN-10: 9780735618039
ISBN-10: 0-7356-1803-8
ISBN-13: 9780735618039
ISBN-13: 978-0-7356-1803-9
Paperback
2003-01-16
Microsoft Press


Find Lowest Price

Editorials


Product Description
Clarifies real-world driver programming issues for Microsoft Windows XP, Windows 2000, and Windows 98 through extensive practical examples, illustrations, advice, and code samples.

Amazon.com Review
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 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.


Reviews


A Must Have
I've been working on Linux kernel driver for sometime and recently started porting my driver to Windows platform, which is totally new to me. I started by going through DDK online manual for over a month, during which I spent a ton of energy trying to find the Windows counterparts of the functions I'm using in Linux driver. Then I came across this book, which is saving me a lot.

That's right, this book is no newbie one, but it is definitley well-written, organized, and neat if compared to "Linux Device Driver 3rd", if you happen to have one.

Strongly recommend this book if you are a serious DDK writter. And BTW, use this book with DDK online manual intensively.

Expecting the 3rd edition!

Great book for my needs given my experience.
Oney's book provided the right overview and explanations I needed to get up to speed. I didn't expect a man to pop out of his book and do the work for me. Most any serious development is never done by the purchase of a book alone.

I do recall certain areas where I mumbled a little, where I'd wished he'd elaborated and/or expanded a little more, but this is meant only to hint at a slight criticism.

Oney's book was used in helping to produce successful results for real-world commercial software development. Thanks Mr. Oney!


Be careful
I am borrowing a copy of this book at work, and I agree with the other reviewers that its helpful, and it doesnt "talk down"

But it can get quite rambly, the IO Request Chapter is a great example of this.

That being said I actually tried to include his DEVQUEUE in my driver code im using at work...Ive been programming for 10+ years so im not a slouch.

Problems:
1) C code written using C++ rules. This is annoying.
2) Doesn't compile at tighter warning levels...LOTS of warnings
3) Bug in DEVQUEUE initialization sent me on an IRP goosechase for good part of a day, and YES I did download his code service packs first. Watch out for stallcount being initialized to 1, StartNextPacket will refuse to run unless you change this to zero.


Success Story
This book was a valuable resource for my successful driver development project.

For newbie's, the book is a great companion to the DDK. The text provides simple and concise sample code. The examples on the CD-ROM are a great way to start exploring driver programming concepts using a kernel debugger. The DDK samples are far too complicated for understanding the fundamentals, so use the book to get started and then the DDK samples will be much easier to comprehend.

I recommend that you read through the entire book at a high enough level that you don't get caught up in the details. Next, find the chapter and sample driver that is most appropriate for your task and get started. Throughout the rest of development, you'll reference various parts of the book to understand the details and avoid the hidden pitfalls in kernel mode programming.

For experts, the book provides comprehensive treatment of the topic. It's full of tips and suggestions based on real-world experience. Many of the driver components on the CD-ROM can be integrated into real drivers in order to reduce development time and complexity. If you are creating a production driver that you intend to ship to real customers, the book will also provide you many options for creating a top-notch user experience during the install process. WHQL and driver security issues are addressed as well.

The author updates the CD-ROM sources in service packs located on the web site. These updates are based on his continuing work and feedback from readers.


Hard going
This book is written in an extremely hard to read style, with long and convoluted sentences.

The writing style is almost unbearably boring. It you thought Hardy's "Return of the Native" was too fast paced, this is the book for you!

It also tends to explain the micro details without clearly explaining how it all fits together. In this respect, it almost assumes you have read and understood the Device Driver Kits, although the reader will be generally looking for help getting started with the DDKs.

There also seem to be a lot of omissions, in that it does not do a very good job of getting you started. Want to write a winmodem driver? This book gives you no idea where to start.

Having said all that, you probably need this book if you are writing a WDM driver. It does have a lot of useful information and tips. However it assumes you are a guru already.



Home | Browse | Professors | Merchants | Webmasters | Contact Us

[ Canada | United Kingdom ]

[ CDs | DVDs ]

Copyright © 2003-2008 GetTextbooks.com