gpt4 book ai didi

windows - 在 Windows 上击败 CIFS 文件缓存/强制 "refresh"

转载 作者:可可西里 更新时间:2023-11-01 14:14:07 28 4
gpt4 key购买 nike

我在 UNIX 系统上修改文件并在 Windows 机器上访问它们。服务器运行 samba,客户端进行了一定量的缓存。当我在 UNIX 端修改文件时,查看文件新版本的唯一可靠方法是在 Windows 资源管理器中右键单击并选择“刷新”。

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

最佳答案

CIFS 包含更新通知系统。 Explorer 为此注册,并将反射(reflect) Samba 发送给它的任何更改。我不知道有任何其他 API 机制可以告诉 Windows 它需要进行刷新。

Samba 支持 Linux inotify,因此它应该自动获取资源管理器显示的文件夹的任何更改并发送资源管理器更新。

您是否使用足够新的 Samba 版本,并且 Samba 是否支持 inotify?这显然仅适用于 Linux。对于另一个 Unix,您可以实现等效的功能。相关代码在smbd/notify_internal.c

关于windows - 在 Windows 上击败 CIFS 文件缓存/强制 "refresh",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4071183/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com