加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

击败Windows上的CIFS文件缓存/强制“刷新”

发布时间:2020-12-14 05:29:54 所属栏目:Windows 来源:网络整理
导读:我正在修改UNIX系统上的文件并在 Windows机器上访问它们.服务器运行samba,客户端进行了一些缓存.当我在UNIX端修改文件时,查看新版本文件的唯一可靠方法是在Windows资源管理器中右键单击并选择“刷新”. 我正在寻找Windows API相当于在Windows资源管理器中右
我正在修改UNIX系统上的文件并在 Windows机器上访问它们.服务器运行samba,客户端进行了一些缓存.当我在UNIX端修改文件时,查看新版本文件的唯一可靠方法是在Windows资源管理器中右键单击并选择“刷新”.

我正在寻找Windows API相当于在Windows资源管理器中右键单击并选择“刷新”.还有其他问题关于向Explorer发送消息以使其刷新,但这不是我想要的:我不关心Explorer窗口的内容,我宁愿甚至不需要打开目标目录.我只想将缓存失败效果集成到我的程序中,这样我就可以避免看到过时的数据了.

解决方法

CIFS包括更新通知系统.资源管理器为此注册,并将反映Samba发送的任何更改.我不知道有任何其他API机制告诉Windows它需要刷新.

Samba支持Linux inotify,因此它应该自动获取Explorer正在显示的文件夹的任何更改并发送Explorer更新.

您是否正在使用最近版本的Samba,并且Samba是否使用inotify支持构建?这显然只是Linux.对于另一个Unix,您可以实现等效的功能.相关代码位于smbd / notify_internal.c中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读