windows-server-2008-r2 – LockFile成功但ReadFile失败

前端之家收集整理的这篇文章主要介绍了windows-server-2008-r2 – LockFile成功但ReadFile失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道这听起来像是一个编程问题,但事实并非如此.请跟我说:

我的客户遇到了一个我无法解释的奇怪问题:程序使用共享模式下打开的共享SMB驱动器(Windows 2008R2服务器)上的文件.

文件内部执行更新之前,程序将使用LockFile锁定特定的部分,读取数据,将所需的更改写入这些部分,然后解锁它们.

这样做是为了确保同一程序的多个实例可以覆盖彼此的更改.

在我的客户案例中,该程序(在所有其他位置表现良好多年)成功锁定文件,但在同一句柄上对ReadFile的后续调用失败,GetlastError返回错误64指定的网络名称不再可用

因此,我的问题:

Windows SMB客户端或服务器中是否存在可能导致此类问题的设置?

对我来说它看起来像一个乐观的锁,但Windows默认情况下不执行乐观锁(它确实是opportunistic locks).

我的第一个怀疑是这个问题是由反病毒软件(卡巴斯基)造成的,但网站管理员发誓所有AV都在这个网络路径上排除了,无论是在客户端还是在文件服务器上.

客户端操作系统是Windows XP,7,2003和2008R2的混合(通过终端服务).它似乎只发生在重负荷的时候(每个人都进来的早晨,或者每个人都退出的时候).

好吧,答案比我想象的要简单得多:服务器NIC的故障设备驱动程序显然是导致所有这些问题的原因.

猜你在找的Windows相关文章