hcl456
驱动牛犊
驱动牛犊
  • 注册日期2007-11-05
  • 最后登录2010-03-24
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望93点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1305回复:0

請教 FltXXXFile 函數和 FsContext->Resource 的關係

楼主#
更多 发布于:2009-06-08 16:30
各位大家好

小弟在 MetadataManager 这个代码中看到一段

    //
    //  Mark the beginning of a file system operation
    //

    FmmBeginFileSystemOperation( InstanceContext );

    status = FltCreateFile( Globals.Filter,
                            InstanceContext->Instance,
                            &InstanceContext->MetadataHandle,
                            FILE_ALL_ACCESS,
                            &objectAttributes,
                            &ioStatus,
                            (PLARGE_INTEGER) NULL,
                            FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN,
                            FILE_SHARE_READ,
                            (CreateIfNotPresent ? FILE_OPEN_IF : FILE_OPEN),
                            0L,
                            NULL,
                            0L,
                            0 );

    //
    //  Mark the end of a file system operation
    //

    FmmEndFileSystemOperation( InstanceContext );

其中 FmmBeginFileSystemOperation 看来应该是先把原本的 Resource 释放掉
才进行 FltCreateFile 的动作
是不是在 minifilter 中的文件操作都需要做类似的动作?
因为最近常常遇到开启文件时发生deadlock的问题不知道是不是跟这个有关?

麻烦各位帮忙看看 感激不尽
游客

返回顶部