dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
阅读:1019回复:2

两种setinformation的区别??

楼主#
更多 发布于:2007-11-27 18:02
我用filespy发现,设置文件长度时,IRP_MJ_SET_INFOMATION,有两种标志:

第一种:0x830,即IRP_DEFER_IO_COMPLETION和IRP_READ_OPERATION 和IRP_WRITE_OPERATION的组合, 这种标志的IRP是由应用程序发出的

第二种:0x42,即IRP_SYNCHRONOUS_PAGING_IO和IRP_PAGING_IO的组合,这种标志的IRP是system发出的。(内存管理器??)


IRP_DEFER_IO_COMPLETION这个标志在微软文档和google上都搜不到,哪位大牛能帮忙解释下,这两种设置文件长度IRP的区别???
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-11-27 19:11
如果FileObject被Cleanup后,只有IRP_PAGING_IO标志的Irp才能Set Information,除此以外没啥区别,有区别的是SetFile.AdvanceOnly。
dionysus77
驱动小牛
驱动小牛
  • 注册日期2006-11-15
  • 最后登录2011-12-18
  • 粉丝0
  • 关注0
  • 积分27分
  • 威望392点
  • 贡献值0点
  • 好评度177点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-11-28 12:24
谢谢老大阿,我现在只处理0x42的setinfomation,vc不能用的问题解决拉:)
游客

返回顶部