Microsoft KB Archive/169131

From BetaArchive Wiki
Knowledge Base


Print Setup Dialog Box May Take a Long Time to Display When the Default Printer Name Is More Than 32 Characters Long

Article ID: 169131

Article Last Modified on 11/1/2006



APPLIES TO

  • 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 Q169131

SYMPTOMS

Applications that use the print setup common dialog take a long time, 40 to 60 seconds, to display the print setup dialog box. This delay only occurs when the default printer name is longer than 32 characters.

CAUSE

This problem occurs when an application uses the common dialog (Comdlg32.dll) routine for print setup (PrintDlg) and specifies a truncated default print queue name. Because the truncated print queue name does not really exist on the target print server, Windows NT attempts to reach the print queue over every installed network redirector until they all timeout (usually 40 to 60 seconds). After all attempts have timed out in the redirectors, Comdlg32.dll assumes the print queue name was specified incorrectly and substitutes the default print queue port name, which is never truncated.

MORE INFORMATION

PrintDlg can be called in two distinct modes:

  • To retrieve the current default print queue information.


  • To open the print settings dialog optionally specifying the default printer name.

If an application uses PrintDlg to retrieve the default print queue name and the default printer name is longer than 32 characters, the name will be truncated.

For example, a 34 character print queue name such as

   \\Red_dog\pq-mc0838-hplj4sib-3-081
                


would be truncated to 31 characters such as

   \\Red_dog\pq-mc0838-hplj4sib-3-
                


Truncation of long print queue names occurs because the print queue name variable in Comdlg32.dll is limited to 32 characters in length. This limitation has it's roots in the Windows 3.x products where the maximum length for a device name was 32 characters and is documented in the Win32 SDK (Software Development Kit).

RESOLUTION

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




STATUS

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.


Keywords: kbhotfixserver kbqfe kbbug kbfix kbprint kbqfe KB169131