C++ 不带OPLOCK/机会锁定的文件创建

C++ 不带OPLOCK/机会锁定的文件创建,c++,caching,networking,file-io,smb,C++,Caching,Networking,File Io,Smb,我正在寻找一种在SMB2 Windows共享上打开/创建文件的方法,而无需请求oplock SMB2\u oplock\u LEVEL\u租约。使用标志FILE\u flag\u NO\u缓冲的FileCreate不会影响行为 禁用重定向程序中的机会锁定不是选项 有没有一种方法可以影响fileopen/filecreate不请求oplock?有一种棘手的方法可以实现这一点。打开同一文件以从其他应用程序读取。如果在主文件创建之前执行此操作,则不应请求oplock。如果在主文件创建之后执行相同的操作

我正在寻找一种在SMB2 Windows共享上打开/创建文件的方法,而无需请求oplock SMB2\u oplock\u LEVEL\u租约。使用标志FILE\u flag\u NO\u缓冲的FileCreate不会影响行为

禁用重定向程序中的机会锁定不是选项


有没有一种方法可以影响fileopen/filecreate不请求oplock?

有一种棘手的方法可以实现这一点。打开同一文件以从其他应用程序读取。如果在主文件创建之前执行此操作,则不应请求oplock。如果在主文件创建之后执行相同的操作,则其oplock应该会被服务器破坏

老实说,我不是绝对肯定赢的行为,但尝试imho是明智的


祝你好运,你不能这么做。Windows atomaticaly在文件系统级别上管理操作克隆。

我现在在中进行了测试。firest应用程序的open请求并获取netmon中的oplock。对于第二个打开的同一台机器,不同的应用程序甚至没有创建一个网络包。redirecor完全处理oplock和cached文件。你见过不同的行为吗?