dreamsity
驱动小牛
驱动小牛
  • 注册日期2006-09-01
  • 最后登录2013-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望821点
  • 贡献值1点
  • 好评度68点
  • 原创分1分
  • 专家分0分
阅读:1667回复:2

读取文件头导致共享文件夹访问变慢(FILE_COMPLETE_IF_OPLOCKED )

楼主#
更多 发布于:2008-04-30 16:55
请问有人遇到
“在别人访问我的共享文件夹时,我们在IRP_MJ_CREATE中读文件头,如果IRP_MJ_CREATE的标志为FILE_COMPLETE_IF_OPLOCKED ,就有可能会构成OPLOCK锁锁定,导致访问变的很慢”的问题吗?
在OSRONLINE上,找到引发这个问题的原因,但却没有找到合适的解决方法。
请问,有什么好的解决方法吗?
一切都是时间问题!
dreamsity
驱动小牛
驱动小牛
  • 注册日期2006-09-01
  • 最后登录2013-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望821点
  • 贡献值1点
  • 好评度68点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2008-04-30 16:56
在WIN2K的源代码内找到了OPLOCK的切换的代码,但看起来很吃力。
一切都是时间问题!
dreamsity
驱动小牛
驱动小牛
  • 注册日期2006-09-01
  • 最后登录2013-07-04
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望821点
  • 贡献值1点
  • 好评度68点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2008-04-30 17:04
一个可能的解决方法是,在文件打开后,使用FileObject来读文件头,但这样做,如果这次打开是没有读权限的打开,就会导致读取文件头失败。使用FileObject判断出是密文后,如果需要拒绝,只能采用IoCancelFileOpen拒绝文件打开。但IoCancelFileOpen又会引发其他问题,至少使用了这个函数和其他公司的过滤驱动配合起来就有一些隐含的问题。
一切都是时间问题!
游客

返回顶部