Handling IRPs

This section describes how kernel-mode drivers handle I/O request packets (IRPs). It contains the following sections:

Overview of the Windows I/O Model

End-User I/O Requests and File Objects

The Life of an I/O Request

I/O Stack Locations

I/O Status Blocks

Passing IRPs down the Driver Stack

Creating IRPs for Lower-Level Drivers

Queuing and Dequeuing IRPs

Completing IRPs

Canceling IRPs

Reusing IRPs

Device Type-Specific I/O Requests

Using I/O Control Codes

Using IRP Priority Hints

IRP Major Function Codes

IRP Processing Examples