Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/173941

From BetaArchive Wiki
Knowledge Base

Article ID: 173941

Article Last Modified on 11/1/2006


  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition

This article was previously published under Q173941


When a Windows NT sockets application attempts to resolve a name using Gethostbyname(), your client computer may experience several time-outs if the Domain Name Service (DNS) server is unavailable. These time-outs may last several minutes as your client fails DNS resolution and then tries to use Windows Internet Name Service (WINS) or broadcast methods to successfully resolve the name.

NOTE: These time-outs occur repeatedly during the operation of Microsoft Exchange Server, because the client continues to attempt name resolution during various operations.


Windows NT clients are not properly caching "short names" that have been resolved successfully by the DNS Server.


To resolve this problem, use one of the methods below:

  • To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

    152734 How to Obtain the Latest Windows NT 4.0 Service Pack

  • Edit the ServiceProvider priority so that WINS is used first. NetBIOS over TCP/IP (NetBT) fails quickly if WINS servers are unavailable.

    For additional information, please see the following articles in the Microsoft Knowledge Base:

    ARTICLE-ID: 171567
    TITLE : Windows NT 4.0 ServiceProvider Priority Values Not Applied

    ARTICLE-ID: 139270
    TITLE : How to Change Name Resolution Order on Windows 95 and Windows NT


Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.


Your Windows NT Domain Name Resolver (DNR) should be caching the DNS name for the time-to-live (TTL) provided by the DNS server. This caching assists with the time-outs by allowing the client to use cached names that have been resolved successfully. Repeated queries and the resulting time-outs will not occur until the name's TTL assigned by the DNS server has expired.

If a Windows NT sockets application attempts to resolve a name, the caching is only done for fully qualified domain names (FQDNs). "Short names," or names such as Host instead of, are not cached.

Winsock, the files that provide Windows Sockets to applications, has been modified so that short names are cached. This is done on a per-process basis. For example, when a Microsoft Exchange client is initialized and name resolution is performed through Winsock to the DNS server, two queries are observed. One query is performed in the Exchange process; the other query is performed on behalf of the MAPI spooler process. Subsequent Gethostbyname() requests made by a process are serviced from the cache. The entry will remain in cache for the TTL provided in the name query response.

Additional query words: dns cache DNR

Keywords: kbhotfixserver kbqfe kbbug kbfix kbnetwork KB173941