zhtjia
驱动牛犊
驱动牛犊
  • 注册日期2007-10-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分187分
  • 威望74点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:1274回复:1

大家进来看一下呀!

楼主#
更多 发布于:2007-12-05 22:53
最近写一个键盘过滤器,在IRP_MJ_READ例程里设了完成例程,可是为什么在完成例程中的第一个参数
pDeviceObject却是0,哪位高人给解释一下这是什么原因?
在下感激不尽!先谢谢了!!!
驱网无线,快乐无限
bamu1984z
驱动牛犊
驱动牛犊
  • 注册日期2006-09-18
  • 最后登录2008-07-24
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望78点
  • 贡献值0点
  • 好评度76点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-12-11 22:39
完成例程使用的设备对象指针参数就是I/O堆栈单元中DeviceObject域中的指针。通常IoCallDriver设置该值。有时,在创建IRP时还同时创建一个额外的堆栈单元,以便能向完成例程传递参数而不用创建一个额外的上下文结构。如果此时创建者不去设置这个额外的DeviceObject域,那么完成例程得到的设备对象指针将为NULL。
游客

返回顶部