Handling IRPs: What Every Driver Writer Needs to Know

Updated: August 2, 2006
**
Download

Handling IRPs: What Every Driver Writer Needs to Know

DownloadIRPs.doc
172 KB
Microsoft Word file
Updated: Aug 2, 2006
**

The Microsoft Windows family of operating systems communicates with drivers by sending I/O request packets (IRPs). The data structure that encapsulates the IRP not only describes an I/O request but also maintains information about the status of the request as it passes through the drivers that handle it. Because the data structure serves two purposes, an IRP can be defined as a container for an I/O request or a thread-independent call stack. This document considers IRPs from these perspectives and can help driver writers understand what their drivers must do to respond correctly to I/O requests.

Included in this white paper:

Definition of IRP

Passing an IRP to the Next Lower Driver

Completing an IRP

Synchronous I/O Responses

Asynchronous I/O Responses

Life Cycle of a File Object

Data Transfer Mechanisms

I/O Control Codes

Success, Error, and Warning Status for IRP Completion

Building IRPs

Debugging I/O Problems

Call to Action and Resources


Top of pageTop of page