Summary

The layered architecture of Windows 2000 allows the simplified design of device drivers. Breaking a monolithic driver into smaller, logically distinct pieces makes implementation and maintenance easier, reduces debugging time, and increases the likelihood that some of the software will be reusable.

In this chapter, different methods of stacking drivers on top of one another were presented. Most of the techniques depend on the I/O Manager's standard calling mechanism to send IRPs from one driver to another. When this mechanism proves insufficient, a private interface can be defined between a pair of drivers. In general, private interfaces make the design more fragile and harder to maintain.

The next chapter describes the details necessary ...

Get Windows® 2000 Device Driver Book: A Guide for Programmers, Second Edition, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.