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

前端之家收集整理的这篇文章主要介绍了击败Windows上的CIFS文件缓存/强制“刷新”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在修改UNIX系统上的文件并在 Windows机器上访问它们.服务器运行samba,客户端进行了一些缓存.当我在UNIX端修改文件时,查看新版本文件的唯一可靠方法是在Windows资源管理器中右键单击并选择“刷新”.

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

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

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

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

猜你在找的Windows相关文章