IRP Processing Examples

The following sections describe how IRPs might be processed in two prototype drivers. One is a prototype of a lowest-level driver for a mass storage device. The other is a prototype for an intermediate-level mirror driver, which would exist above the lowest-level driver in a stack of storage drivers. (A mirror driver duplicates all write requests to multiple driver, and alternates read requests among the duplicate drives.)

Processing IRPs in a Lowest-Level Driver

Processing IRPs in an Intermediate-Level Driver

To learn more about creating and sending IRPs, see Different ways of handling IRPs – cheat sheet.