Пакети запитів вводу-виводу (, IRP) — це структури режиму ядра, які використовуються Windows Driver Model (WDM) та драйверами пристроїв Windows NT для взаємодії один з одним та з операційною системою. Це структури даних, що описують запити вводу-виводу, і їх так само можна розглядати як «дескриптори запитів вводу-виводу» або подібним чином. Замість передавання драйверу великої кількості невеликих аргументів (таких як адреса буфера, розмір буфера, тип функції вводу-виводу тощо), усі ці параметри передаються через єдиний вказівник на цю постійну структуру даних. IRP з усіма його параметрами можна помістити в чергу, якщо запит вводу-виводу не може бути виконаний негайно. Завершення вводу-виводу повідомляється назад диспетчеру вводу-виводу передаванням його адреси спеціально призначеній для цього процедурі IoCompleteRequest. IRP може бути повторно використаний як спеціальний об'єкт асинхронного виклику процедури (APC) ядра, якщо це потрібно для повідомлення потоку, що надіслав запит, про завершення вводу-виводу.
IRP зазвичай створюються диспетчером вводу-виводу у відповідь на запити вводу-виводу з режиму користувача. Однак IRP іноді створюються диспетчером plug and play, диспетчером живлення та іншими системними компонентами, а також можуть створюватися драйверами та потім передаватися іншим драйверам.
Механізм пакетів запитів вводу-виводу також використовується операційною системою Digital Equipment Corporation VMS, а до цього використовувався в сімействі операційних систем Digital RSX-11. Пакет запиту вводу-виводу в RSX-11 називається блоком параметрів директиви (), оскільки він також використовується для системних викликів, відмінних від викликів вводу-виводу.
Див. також Архітектура Windows NT
Примітки
Посилання Whitepaper on Windows I/O model
IRP (Windows Drivers)