阅读:1304回复:0
請教 FltXXXFile 函數和 FsContext->Resource 的關係
各位大家好
小弟在 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的问题不知道是不是跟这个有关? 麻烦各位帮忙看看 感激不尽 |
|