- I/O request packet
I/O request packets (IRPs) are kernel mode structures that are used by
Windows Driver Model (WDM) andWindows NT device driver s to communicate with each other and with theoperating system . They are data structures that describe I/O requests, and can be equally well thought of as "I/O request descriptors" or similar. Rather than passing a large number of small arguments (such as buffer address, buffer size, I/O function type, etc.) to a driver, all of these parameters are passed via a single pointer to this persistent data structure. The IRP with all of its parameters can be put on a queue if the I/O request cannot be performed immediately. I/O completion is reported back to the I/O manager by passing its address to a routine for that purpose, IoCompleteRequest. The IRP may be repurposed as a special kernel APC object if such is required to report completion of the I/O to the requesting thread.IRPs are typically created by the I/O Manager in response to I/O requests from user mode. However, IRPs are sometimes created by the plug-and-play manager, power manager, and other system components, and can also be created by drivers and then passed to other drivers.
The I/O request packet mechanism is also used by the VMS operating system, and was used by Digital's RSX family of operating systems before that.
ee also
*
Architecture of Windows NT References and external links
* [http://www.microsoft.com/technet/archive/winntas/training/ntarchitectoview/ntarc_6.mspx?mfr=true Whitepaper on Windows I/O model]
* [http://technet2.microsoft.com/windowsserver/en/library/2e81a334-ece5-4210-815a-6a2ea33f61151033.mspx?mfr=true How Device Drivers work]
Wikimedia Foundation. 2010.