Programming the Microsoft® Windows® Driver Model and over one million other books are available for Amazon Kindle. Learn more

Buy Used
Used - Good See details
$4.37 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Kindle Edition
 
   
Have one to sell? Sell yours here
Programming the Microsoft  Windows  Driver Model (Microsoft Programming Series)
 
 
Start reading Programming the Microsoft® Windows® Driver Model on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming the Microsoft Windows Driver Model (Microsoft Programming Series) [Paperback]

Walter Oney (Author)
3.9 out of 5 stars  See all reviews (14 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Kindle Edition $28.72  
Paperback --  
There is a newer edition of this item:
Programming the Microsoft Windows Driver Model Programming the Microsoft Windows Driver Model 3.9 out of 5 stars (14)
Out of Print--Limited Availability

Book Description

Microsoft Programming Series November 13, 1999
Microsoft’s new driver model for Windows 98 and Windows 2000 supports Plug and Play, provides power management capabilities, and expands on the driver/minidriver approach. Written by device-driver expert Walter Oney in cooperation with the Windows DDK team, this book provides extensive practical examples, illustrations, advice, and line-by-line analysis of code samples to clarify real-world driver-programming issues. Topics covered include:• An introduction to the Windows Driver Model architecture• Programming techniques, including error handling, memory and data-structure management, and registry and file access• Synchronization and driver development in a multitasking, multiprocessor environment• Creating and processing I/O request packets• Taking advantage of Windows 98 and Windows 2000 Plug and Play support • Techniques for reading from and writing to devices• Installation and power management• Creating filter drivers, controlling hardware, and logging errors • Windows Management Instrumentation (WMI)• Developing device drivers for the new universal serial bus (USB) architecture• Installing WDM drivers• Understanding Windows 98 compatibilityAn electronic version of this book is available on the companion CD.

Editorial Reviews

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.


Product Details

  • Paperback: 626 pages
  • Publisher: Microsoft Press (November 13, 1999)
  • Language: English
  • ISBN-10: 0735605882
  • ISBN-13: 978-0735605886
  • Product Dimensions: 9 x 7.2 x 1.6 inches
  • Shipping Weight: 2.8 pounds
  • Average Customer Review: 3.9 out of 5 stars  See all reviews (14 customer reviews)
  • Amazon Best Sellers Rank: #1,564,385 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

14 Reviews
5 star:
 (8)
4 star:
 (1)
3 star:
 (2)
2 star:
 (2)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
3.9 out of 5 stars (14 customer reviews)
 
 
 
 
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!, June 14, 2002
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
a big favor by avoiding this book. It is so carelessly edited and
organized that I would feel justified in billing Walter Oney and his
publishers back for the time I have wasted dealing with things like this:

From page 184: ..."In fact, sometimes the easiest way to commence a new operation is to store
some state information in your device extension and then fake an
interrupt. Since either of these approaches needs to be carried out under
protection of the same spin lock that protects your ISR..."

"Fake and interrupt?" This term is not defined or explained anywhere in the book that I could
find within an hour's search.

"...the same spin lock that protects your ISR," is explained 121 pages later on page 305,
where it says "...(because the I/O Manager automatically allocates [a spin
lock] for you.)"

There are 26 pages of errata downloadable from Oney's web site. I printed
out the file, and I have to check it every page or two to make sure the
information on the page I am reading is correct.

If you want to spend your time sorting through this mess
while introducing yourself to a topic as arcane as WDM, be my guest.

You have been warned.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


61 of 67 people found the following review helpful:
3.0 out of 5 stars Not for beginners, March 22, 2000
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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


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!, September 16, 2000
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).

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
First Sentence:
Souvenir shops in many of the cities I visit sell posters depicting the world from the local perspective. Read the first page
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Microsoft Windows, Power Manager, Basic Programming Techniques, Object Manager, Device Manager, Anchor Chips, Event Viewer, Configuration Manager, Service Function Description, Microsoft Press, Peripheral Component Interconnect, Second Edition, Driver Verifier, Installing Device Drivers, Modified Public Default Unrestricted, Device Driver Book, Prentice Hall, Microsoft Visual, Device Driver Kit, Device Parameters, Device Type Default Security, Macro Description, Minor Function Code Description, Name My Device Object
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:



Books on Related Topics (learn more)

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject