zzq191
驱动中牛
驱动中牛
  • 注册日期2001-08-09
  • 最后登录2018-05-29
  • 粉丝17
  • 关注0
  • 积分1041分
  • 威望716点
  • 贡献值0点
  • 好评度318点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1821回复:5

请教CcPinRead导致蓝屏

楼主#
更多 发布于:2007-08-07 20:36
我在对一个目录下的文件进行重命名操作,文件系统中调用CcPinRead,出现这样现象,如果这个目录下的FileSize比较大,操作结果导致蓝屏,但如果FileSize比较小则操作没有问题,不过我最大是0x40000,也就是按这个和分段pin的,
看看传入的参数看不出问题,蓝屏错误提示是读错误
        if (!CcPinRead(ParentFcb->FileObject,                        &FileOffset,
                      DirentEnumSrc.ViewLength - DirentEnumSrc.ViewOffset,
                      PIN_WAIT | PIN_EXCLUSIVE,
                      &SrcBcb,
                      &SrcBuffer))
        {
            try_return(Status = STATUS_ACCESS_DENIED);
        }
我查了一天也没有看出为什么会蓝屏;
随能告诉我,你们碰到这个问题吗?是什么原因导致的?怎么来解决的?
QQ:416331891,承接windows下应用和驱动的开发,雅虎通:zzq191, Email:zzq191@21cn.com
zzq191
驱动中牛
驱动中牛
  • 注册日期2001-08-09
  • 最后登录2018-05-29
  • 粉丝17
  • 关注0
  • 积分1041分
  • 威望716点
  • 贡献值0点
  • 好评度318点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-08-11 16:41
加FsRtlEnterFileSystem这个问题解决不彻底,还是会出错的
QQ:416331891,承接windows下应用和驱动的开发,雅虎通:zzq191, Email:zzq191@21cn.com
zzq191
驱动中牛
驱动中牛
  • 注册日期2001-08-09
  • 最后登录2018-05-29
  • 粉丝17
  • 关注0
  • 积分1041分
  • 威望716点
  • 贡献值0点
  • 好评度318点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-08-16 10:50
如何才能保证CcPinRead成功啊,不成功至少也不能蓝屏啊
QQ:416331891,承接windows下应用和驱动的开发,雅虎通:zzq191, Email:zzq191@21cn.com
qch1685
驱动牛犊
驱动牛犊
  • 注册日期2004-07-22
  • 最后登录2010-07-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望4点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-17 23:00
用windbg了吗?
zzq191
驱动中牛
驱动中牛
  • 注册日期2001-08-09
  • 最后登录2018-05-29
  • 粉丝17
  • 关注0
  • 积分1041分
  • 威望716点
  • 贡献值0点
  • 好评度318点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2007-08-18 13:33
用SofeICE的,dump文件用windbg看过的
QQ:416331891,承接windows下应用和驱动的开发,雅虎通:zzq191, Email:zzq191@21cn.com
zzq191
驱动中牛
驱动中牛
  • 注册日期2001-08-09
  • 最后登录2018-05-29
  • 粉丝17
  • 关注0
  • 积分1041分
  • 威望716点
  • 贡献值0点
  • 好评度318点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2007-08-20 09:45
我实验了一下,先把offset设置成FileSize,即指定到文件尾巴上,再调用CcPinRead,能成功,再CcUnPinData后,再把offset设置到其他位置调用CcPinRead就不会蓝屏,能执行成功了。
为什么必须先做一次pin文件尾巴呢?
谁能解析一下。
QQ:416331891,承接windows下应用和驱动的开发,雅虎通:zzq191, Email:zzq191@21cn.com
游客

返回顶部