Windows 2000 Terminal Services Incorrectly Closes Files on Remote Shares (272582)



The information in this article applies to:

  • Microsoft Windows 2000 Server SP1
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Advanced Server SP1
  • Microsoft Windows 2000 Advanced Server SP2

This article was previously published under Q272582

SYMPTOMS

You may receive one or more of the following error messages when multiple users on a Terminal Server work with the same files that are located on a network share:
  • Disk or Network Error STATUS_UNEXPECTED_NETWORK_ERROR (0xc00000c4) ERROR_UNEXP_NET_ERR (error 59 in decimal or 0x3b in hexadecimal) STATUS_CONNECTION_DISCONNECTED (0xc000020c) ERROR_NETNAME_DELETED (error 64 in decimal or 0x40 in hexadecimal)

CAUSE

This problem can be caused when the user that first opened the shared file logs off. The Terminal Server incorrectly closes the file handles that it has open to the remote file, so any other programs that had the file open are no longer able to access the file. Note that this problem does not occur if the data files are moved to a local volume on the Terminal Server.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

The following file is available for download from the Microsoft Download Center:
The Q272582_W2K_SP3_X86_EN.exe file contains the following files:
   Mrxsmb.sys
   Rdbss.sys
				
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to Obtain Microsoft Support Files from Online Services

Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file. NOTE: This hotfix addresses scenarios where data files reside on network shares. Executable images must run from a local partition.

WORKAROUND

To work around this problem, move the data files to a local volume on the Terminal Server. If hard-coded drive letters are required by your program, you can use the SUBST command to map these drive letters to a local volume.

STATUS

Microsoft has confirmed that this is a problem in Windows 2000. This problem was first corrected in Windows 2000 Service Pack 3.

MORE INFORMATION

The best way to identify this problem is to look at a trace. In the trace you can see that the Terminal Server initially sends an SMB Close for the file handle of the file that is being used by user A. This happens when the user quits the program. When user A then logs off, the Terminal Server sends an SMB Close for any other file handles that are outstanding on this file that was in use by user A, even if those file handles were not obtained by user A. For example, you might see the following behavior in the trace if multiple users were working with a Microsoft Access database file:
  1. User A quits Access. SMB Close for the file handle for the database file.
  2. User A logs off. SMB close for the file handle that user B obtained to open the database file.

Modification Type:MinorLast Reviewed:9/26/2005
Keywords:kbHotfixServer kbQFE kbbug kbenv kbfix kbOSWin2000fix kbWin2000sp3fix KB272582