Chapter 4  Basic Driver Structure

This chapter contains the following information:

4.1  Standard NT Driver Routines

4.2  Device Drivers’ Staged IRP Processing

4.3  Intermediate Drivers’ Staged IRP Processing

4.4  Designing and Developing an NT Driver

4.4.1  Naming Device Objects

4.4.2  Choosing Names for NT Driver Routines

4.4.3  Starting Design

4.4.4  Starting Development

The basic structure of any Windows NT® kernel-mode driver consists of a set of required standard driver routines, plus some number of optional standard routines and internal routines, as determined by the type of driver and the driver’s designer. The common set of standard routines allows these drivers to process IRPs by calling NT support routines.

This chapter presents an overview of the standard routines for NT drivers, so that driver writers can determine the following:

·The set of standard driver routines they must implement to process IRPs

·The set of standard driver routines they can implement, depending on the nature of the underlying device or the functionality required of each driver

·How, in general, to begin the design and development of a new NT driver

For specific information about any of the support routines mentioned in this chapter, see the Kernel-mode Driver Reference. For specific information about the required functionality of each standard routine, see Chapters 5 through 15.