Chapter 2 Layered I/O, IRPs, and I/O Objects

This chapter contains the following information:
2.1 End-user I/O Requests and NT File Objects

2.1.1 Points to Consider about User I/O Requests

2.2 IRPs and Driver-specific I/O Stack Locations
2.2.1 Points to Consider about Processing IRPs
2.3 NT Driver Objects and Standard Driver Routines
2.3.1 NT Object Opacity

2.3.2 Driver Object Entry Points

2.3.3 Other Standard NT Driver Routines

2.3.4 Points to Consider about NT Standard Driver Routines

2.4 Device Configurations and Layered NT Drivers
2.4.1 Interactive Devices

    2.4.1.1 Video Adapter Configurations and Driver Layers

    2.4.1.2  Keyboard and Mouse Configurations and Driver Layers

2.4.2 Parallel and Serial Devices and Driver Layers

2.4.3 Sound Device and Driver Layers

2.4.4 Mass-storage Devices and Driver Layers

    2.4.4.1 AT Disk Devices

    2.4.4.2 Floppy Devices

    2.4.4.3 SCSI Devices

2.4.5 Points to Consider about Adding NT Drivers

2.5  NT Objects with Device, Configuration, or Layer Dependencies
2.5.1 Video Driver’s Device Objects

2.5.2 Keyboard and Mouse Drivers’ Device Objects

2.5.3 Parallel and Serial Drivers’ Device Objects

2.5.4 Sound Driver’s Device Objects

2.5.5 AT Disk Driver’s Device and Controller Objects

2.5.6 Floppy Driver’s Device Objects

2.5.7 SCSI Drivers’ Device Objects

2.5.8 Points to Consider about NT Objects

Every operating system has an implicit or explicit I/O model for handling the flow of data to and from peripheral devices. The Windows NT® executive I/O model has the following general features:

This chapter introduces the NT I/O model, supplying an overview of how kernel-mode drivers fit into the system, of how NT drivers process IRPs, of the system-defined standard driver routines, of common device configurations and corresponding layered drivers, and of the NT objects that represent devices, drivers, and system I/O hardware.