你目前正处于脱机状态,正在等待 Internet 重新连接

当您通过网络保存文件时出现文件锁定或拒绝访问错误消息

Support for Windows XP has ended

Microsoft ended support for Windows XP on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
症状
当您尝试保存使用通用命名约定 (UNC) 路径打开的文件(如 Microsoft Excel 工作簿)时,您可能会收到与以下某一条消息类似的错误消息:
Cannot read file. File is locked
拒绝访问
Lock Error
事件查看器中可能包含下面的事件:

类型: 信息
来源: 弹出应用程序
类别: 无
事件 ID: 26
用户: N/A
描述: 弹出应用程序: Windows - 延迟写入失败: Windows 无法保存文件 name_of_the_file_you_want_to_save 的所有数据。数据可能已丢失。这个错误可能是由计算机硬件或网络连接故障引起的。请将这个文件存到别的地方。有关更多信息,请参见位于 http://support.microsoft.com 的帮助和支持中心。

原因
当重定向程序刷新文件内容并向具有只读访问权限的文件句柄(而非具有写入访问权限的文件句柄)写入数据时,就会出现此问题。当重定向程序收到的一个机会锁定中断的值为“无”时,它便清除文件的缓存,但不会撤销对文件缓存的初始化。当出现设置文件结尾时,重定向程序还需要清除和撤销初始化,因为机会锁定中断是异步的。因为它没有撤销文件缓存的初始化,所以它会向不正确的文件句柄写入数据。
解决方案

Service Pack 信息

要解决此问题,请获取最新的 Microsoft Windows XP Service Pack。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322389 如何获取最新的 Windows XP Service Pack

修补程序信息

Microsoft 目前提供了一个受支持的修补程序。但是,此修补程序仅用于修复本文所述的问题。请仅将此修补程序应用于出现这一特定问题的系统。此修补程序可能还会接受进一步的测试。因此,如果这个问题没有给您造成严重的影响,我们建议您等待包含此修补程序的下一个 Service Pack。

要解决此问题,请向 Microsoft 在线客户服务提交请求以获取该修补程序。要提交联机请求以获取该修补程序,请访问下面的 Microsoft 网站:注意:如果发生其他问题或需要进行任何疑难解答,则您可能需要创建单独的服务请求。对于此特定修补程序无法解决的其他支持问题和事项,将照常收取支持费用。要创建单独的服务请求,请访问下面的 Microsoft 网站: 此修补程序的英文版具有下表中列出的文件属性(或更新的属性)。这些文件的日期和时间按协调世界时 (UTC) 列出。当您查看文件信息时,相应的时间将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”工具中的“时区”选项卡。

Windows XP SP1 (Windows XP Tablet PC Edition)

日期        时间  版本          大小      文件名 -------------------------------------------------------------- 30-Jan-2003 21:41 5.1.2600.1164 400,896   Mrxsmb.sys 30-Jan-2003 21:41 5.1.2600.1164 154,880   Rdbss.sys

Windows XP 64-Bit Edition

日期         时间  版本          大小      文件名 ------------------------------------------------------------- 30-Jan-2003  21:41 5.1.2600.1164 1,259,392 Mrxsmb.sys 30-Jan-2003  21:41 5.1.2600.1164 489,216   Rdbss.sys

替代方法
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。 要解决此问题,请禁用文件服务器上的机会锁定:
  1. 单击“开始”,然后单击“运行”。
  2. 在“打开”框中,键入 regedit,然后按 Enter。
  3. 在“注册表编辑器”中,找到注册表中的以下子项:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\LanmanServer\Parameters
  4. 在右窗格中,单击“EnableOplocks”,然后按 Enter。
  5. 在“数值数据”框中,键入 0,然后按 Enter。
  6. 退出注册表编辑器。
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。 此问题最早在 Microsoft Windows XP Service Pack 2 中得到了解决。
更多信息
有关机会锁定的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
296264在 Windows 2000 中配置机会锁定
此问题的跟踪记录表明,文件至少打开了两次,并且系统不恰当地向只读的文件句柄写入了数据。描述此问题的跟踪记录类似于:
96  CLIENT SMB: C NT create &amp; X, File = \newshare.xlsSMB: Desired Access = 0x00020089 	  (Read Data,Read EA,Read Attributes)97 SERVER SMB: R NT create &amp; X, FID = 0x5	  SMB: Oplock Level = Batch<content removed that displays the client program reading and locking the		  file, but the file is not closed>450 CLIENT SMB: C NT create &amp; X, File = \newshare.xls	   SMB: Desired Access = 0x0002019F 	   (Read/Write Data, Read/Write EA, Read/Write Attributes)451 SERVER SMB: R NT create &amp; X, FID = 0xc007	   SMB: Oplock Level = NONE<content removed that displays the client program reading, locking,  writing		  and flushing data on this file handle>585 CLIENT SMB: C write &amp; X, FID = 0x5, Write 0xc00 at 0x00005000		PID = 0xFEFF TID = 0x1002 MID = 0x4400 UID = 0x0801586 SERVER SMB: R write &amp; X - NT error, System, Error, Code = (34)		  STATUS_ACCESS_DENIED
注意:位于帧 585 的 0xFEFF 的进程标识符 (PID) 表示当前使用该只读文件句柄的客户端系统进程。它不显示将数据写入磁盘的客户端程序。
属性

文章 ID:812937 - 上次审阅时间:12/01/2007 02:00:00 - 修订版本: 5.2

  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Tablet PC Edition
  • kberrmsg kbbug kbfix kbqfe kbenv kbwinxpsp2fix kbwinxppresp2fix kbhotfixserver KB812937
反馈