irp请求包.pptVIP

  • 3
  • 0
  • 约 21页
  • 2016-01-09 发布于湖北
  • 举报
irp请求包.ppt

WDM驱动程序设计 IRP的总体结构 Windows操作系统使用一种称为I/O请求包(IRP)的数据结构与内核模式驱动程序通信。Windows驱动程序中几乎所有的I/O操作都是包驱动的。 一个I/O请求包由一个IRP首部加一系列的栈单元组成。每个栈单元是一个IO_SATCK_LOCATION结构。 驱动程序栈与I/O栈单元之间的关系 栈单元数组(I/O堆栈)中的每个堆栈单元都对应一个将处理该IRP的驱动程序。 IRP首部的结构 IRP首部的重要字段 IRP首部的重要字段 IRP首部的重要字段 IRP首部的重要字段 IRP首部的重要字段 IO_STACK_LOCATION的结构 栈单元的重要字段 栈单元的重要字段 将IRP发往派遣例程 IoCallDriver函数 派遣例程的职责 派遣例程的职责 IRP的完成 辅助函数 Status的取值 优先级推进 * I/O请求包(IRP) IRP首部 栈单元1 栈单元2 栈单元3 … … 当前栈单元 MdlAddress(PMDL):指向一个内存描述符表(MDL),它描述了一个与该请求关联的用户模式缓冲区。在驱动程序与用户模式程序之间利用“直接I/O方式”进行通信时,驱动程序利用该字段访问用户模式的虚拟内存。 AssociatedIrp:是一个三指针联合(union)。其中,与NT式驱动程序相关的指针是Asso

文档评论(0)

1亿VIP精品文档

相关文档