存档

文章标签 ‘疑问’

IRP完成例程的一点疑问

2011年2月26日 没有评论

(对驱动的学习一直是断断续续,最近又重新开始看驱动,对完成例程和IRP以及IO堆栈有了新的认识,具体请看《IO_STACK_LOCATION与IRP的一点笔记》)
通常使用完成例程有三步:

  1. 调用IoCopyCurrentIrpStackLocationToNext()函数,把当前的IRP栈数据复制一份到下一层。
  2. 调用IoSetCompletionRoutine()函数,为IRP设置完成例程。
  3. 调用IoCallDriver()函数,把IRP传递到下一层驱动对象。

完成例程的返回值有STATUS[......]

继续阅读