Chapter 2
In the first chapter, I described the basic architecture of the Microsoft Windows 2000 and Microsoft Windows 98 operating systems. I introduced the idea that a device driver is a container for a collection of subroutines that the operating system can call upon to carry out various activities related to a hardware device. This chapter is about the basic contents of one of those driver containers. I'll discuss how device drivers are layered and how that layering comes about. I'll also discuss the DriverEntry and AddDevice functions that every WDM driver includes. In later chapters, I'll tell you about the other types of subroutines that will be part of the driver for your device.