Программирование драйверов Windows

       

IO stack location


Ячейка стека ввода/вывода в пакете IRP. Одна позиция в изменяемой части пакета IRP, называемой стеком ввода/вывода IRP пакета. Ячейка стека сама является составной структурой. Если драйверы объединены в цепочку (называемую стеком устройств, Device Stack(1)), то, как правило, число ячеек стека IRP равно числу устройств в Device Stack перед данным устройством (возможны варианты). Собственно, ячейки стека IRP и предназначены для хранения "переменной" информации при хождении пакета IRP по стеку драйверов (или стеку устройств - на некотором этапе разработчики драйверов перестают делать различия между этими словосочетаниями). Однако хотя информация и "переменная", но имеет вполне определенный формат. При путешествии по процедурам драйвера, те извлекают из "своей" ячейки стека ввода/вывода полезную информацию. В некоторых случаях, передавая IRP пакет вниз по стеку устройств (драйверов), драйверы могут и сохранять там, в пределах "своей" ячейки, некоторые текущие данные - если ожидают, что получат этот IRP пакет при его обратном движении по стеку устройств.



Содержание раздела