Chapter 1 NT Drivers

This chapter contains the following information:
1.1 Kinds of Drivers in Windows NT
1.2 NT Driver Design Goals
1.2.1 Portability

1.2.2 Configurability

1.2.3 Always Preemptible and Always Interruptible

1.2.4 Multiprocessor-safe

1.2.5 Object-based

1.2.6 Packet-driven I/O with Reusable IRPs

1.2.7 Supporting Asynchronous I/O

Figure 1.1 illustrates the major components of the Microsoft® Windows NT® operating system environment.

Figure 1.1 Windows NT® Component Overview

As Figure 1.1 shows, this environment includes some components that run in user mode and others that run in kernel mode. File system, intermediate, and device drivers are shown at the lower left, included with the kernel-mode I/O Manager.

This chapter describes what Windows NT kernel-mode drivers are, summarizes the design goals for kernel-mode drivers, and explains how Windows NT kernel-mode drivers necessarily differ from other operating systems’ drivers in order to meet these design goals.

For more general information about the Windows NT operating system environment, see Inside Windows NT, published by Microsoft Press.