Sell Back Your Copy
For a $1.81 Gift Card
Trade in
Have one to sell? Sell yours here
Developing Windows NT Device Drivers: A Programmer's Handbook
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

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

Developing Windows NT Device Drivers: A Programmer's Handbook [Hardcover]

Edward N. Dekker (Author), Joseph M. Newcomer (Author)
4.2 out of 5 stars  See all reviews (14 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Hardcover --  
Paperback $51.09  

Book Description

0201695901 978-0201695908 April 9, 1999 1
Developing Windows NT Device Drivers: A Programmer's Handbook offers programmers a comprehensive and in-depth guide to building device drivers for Windows NT. Written by two experienced driver developers, Edward N. Dekker and Joseph M. Newcomer, this book provides detailed coverage of techniques, tools, methods, and pitfalls to help make the often complex and byzantine "black art" of driver development straightforward and accessible. This book is designed for anyone involved in the development of Windows NT Device Drivers, particularly those working on drivers for nonstandard devices that Microsoft has not specifically supported. Because Windows NT does not permit an application program to directly manipulate hardware, a customized kernel mode device driver must be created for these nonstandard devices. And since experience has clearly shown that superficial knowledge can be hazardous when developing device drivers, the authors have taken care to explore each relevant topic in depth. This book's coverage focuses on drivers for polled, programmed I/O, interrupt-driven, and DMA devices.The authors discuss the components of a kernel mode device driver for Windows NT, including background on the two primary bus interfaces used in today's computers: the ISA and PCI buses. Developers will learn the mechanics of compilation and linking, how the drivers register themselves with the system, experience-based techniques for debugging, and how to build robust, portable, multithread- and multiprocessor-safe device drivers that work as intended and won't crash the system. The authors also show how to call the Windows NT kernel for the many services required to support a device driver and demonstrate some specialized techniques, such as mapping device memory or kernel memory into user space. Thus developers will not only learn the specific mechanics of high-quality device driver development for Windows NT, but will gain a deeper understanding of the foundations of device driver design. 0201695901B04062001


Editorial Reviews

Amazon.com Review

Developing Windows NT Device Drivers is an authoritative and clearly written resource on how to write device drivers for Windows NT. The book begins with an excellent high-level overview of how Windows NT device drivers work and how to create them. The text concentrates on "generic" device drivers written in C and excludes specialized drivers for graphics, file system, and network hardware.

Eventually, the book turns to device registers, device memory, and different PC busses (such as PCI). A section on I/O Request Packets (IRPs) and interrupt handling within Windows NT shows how to do asynchronous I/O. The authors offer a simple "Hello World" example for a device driver and present various debugging techniques.

Subsequent chapters deepen the reader's knowledge on topics such as device I/O, synchronization (including spin locks), device-driver initialization and cleanup, and direct memory access (DMA). These chapters also instruct you on how to access hardware ports and interrupt processing (a crucial topic) and how to move device memory into system memory (along with a working example). Discussion of more specialized topics--ISA and PCI busses, serialization, driver threads, and the advantages of the new "layered" driver model--follows.

Authors Edward Dekker and Joseph M. Newcomer offer plenty of excellent real-world advice. (Material on how to log device-driver events and manage the infamous Windows "Blue Screen of Death" is indispensable.) They present a "hardware simulator" that lets readers develop device drivers without an actual hardware device. The book closes with information on Windows 2000, universal serial bus (USB) devices, the Win32 driver model, and over 300 pages of reference material, including device-driver kernel functions. Overall, this comprehensive text provides a solid introduction to the way Windows NT device drivers interact with hardware; it gives you all you need to start building custom device drivers. --Richard Dragan

Review

"A gentle introduction... an attempt to encapsulate everything and will be fairly high in the pile of documentation on your workbench" -- Dr. Dobb's Electronic Review of Computer Books

Read the full review for this book.

Compared to other Windows NT device-driver development books, Developing Windows NT Device Drivers is hardware-oriented. A lot of real hardware-related information is presented, including small circuit diagrams and views about throwing hardware at debug problems with extender cards and bus/logic analyzers using products from various tool vendors such as Vmetro and Catalyst Enterprises. A lot of products are mentioned, including libraries and debugging tools from vendors such as Bluewater Systems and Compuware/NuMega.

Dekker and Newcommer could have subtitled this book, "My life in device-driver development." There are a lot of digressions, including brief and mostly interesting references to DEC system-10, RS/6000, Windows 3.x, CP/M, and a CMU symmetric multiprocessor research project. Everything related to driver development gets a mention, even if briefly, according to the authors, "for completeness." The authors appear to be quite fond of footnotes, many of which are off topic comments. A lot of the asides include general advice, from which compiler to use (Microsoft will have no sympathy, if you don't use Visual C++) to which books to read on specific buses. (They like the mindshare books, as do I.) The authors are adamant on some subjects such as ISA plug-and-play (just don't do it) and Hungarian notation. I never trust other people's code and take it at face value. If you don't like Hungarian notation, ignore it. --Regan Russell, Dr. Dobb's Electronic Review of Computer Books -- Dr. Dobb's Electronic Review of Computer Books


Product Details

  • Hardcover: 1280 pages
  • Publisher: Addison-Wesley Professional; 1 edition (April 9, 1999)
  • Language: English
  • ISBN-10: 0201695901
  • ISBN-13: 978-0201695908
  • Product Dimensions: 9.6 x 7.7 x 2.1 inches
  • Shipping Weight: 4.4 pounds
  • Average Customer Review: 4.2 out of 5 stars  See all reviews (14 customer reviews)
  • Amazon Best Sellers Rank: #1,528,557 in Books (See Top 100 in Books)

More About the Authors

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

 

Customer Reviews

14 Reviews
5 star:
 (9)
4 star:
 (1)
3 star:
 (2)
2 star:
 (2)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.2 out of 5 stars (14 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

10 of 10 people found the following review helpful:
4.0 out of 5 stars One of the bests, October 31, 1999
By A Customer
This review is from: Developing Windows NT Device Drivers: A Programmer's Handbook (Hardcover)
I have written some VxDs before I read this book. And the book introduced fairly well about the writing NT device drivers. And I had the confidence that I could wirte the driver right away once I read the book. But, it seems somewhat difficult for the beginners because it misses the detailed explanation for some issues. I guess the authors of the book should have spent some more pages for vitual memory and multi-processors when the book got already more than 1000 pages. Some more pages won't kill.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful:
5.0 out of 5 stars My Savior, May 16, 2001
This review is from: Developing Windows NT Device Drivers: A Programmer's Handbook (Hardcover)
I'm a high school intern and I knew nothing about drivers (other than installing them) 3 months ago. Now I have completed 2, an ISA and Parallel port driver. This book is really great for people new to the DDK and need a good foundation. The examples are clear, and the pace of the book is pretty slow (but steady). Once you get past the first 9-10 chapters you can pretty much skim for parts you need. The tips are especially helpful, as to why C++ OOP isn't suitable, to why 2 computers are absolutely necessary. Even if you plan on making WDM drivers, this book will be helpful. Oney's WDM book is really useless for beginners, and the DDK almost has no redeeming value, other than being very very heavy (oh, wait thats not good either). The net is surprisingly lacking of driver programming pages. Get this book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


18 of 24 people found the following review helpful:
2.0 out of 5 stars Note: The Book does not cover many types of drivers!, July 28, 2000
This review is from: Developing Windows NT Device Drivers: A Programmer's Handbook (Hardcover)
I just received the book and I immediately turned to the index to search for NETWORK DRIVERS. Nope. Well, the introduction chapter will tell you "what we don't cover" (this important omission should of been mentioned in the online book excerpts):

The book does not cover: File Drivers, Network Drivers, Graphic Drivers and User Mode Drivers.

One would think that in this day of age of Communications, High End Speed Games, etc, that a rather large book titled "Developing Windows NT Device Drivers" would cover these important device drivers. At a minimum, its should of covered NDIS Device Drivers. It does not.

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



What Other Items Do Customers Buy After Viewing This Item?


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
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

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
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject