Article ID: 840636
Article Last Modified on 6/5/2006
APPLIES TO
- Microsoft Host Integration Server 2000 Standard Edition
- Microsoft Host Integration Server 2000 Service Pack 1
SYMPTOMS
Under stress on a multiple-CPU system, parallel printing to Graphics Device Interface (GDI) can cause output to be either corrupted or can cause GDI to generate an error message with an event ID 9 in the application event logs with information that is similar to the following:
RESOLUTION
Service pack information
To resolve this problem, obtain the latest service pack for Microsoft Host Integration Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
328152 How to obtain the latest service pack for Host Integration Server 2000
Hotfix information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
Date Time Version Size File name ---------------------------------------------------- 21-Apr-2004 22:17 5.0.0.976 20,752 Msg5250.dll 21-Apr-2004 22:17 5.0.0.976 250,128 Ppd3270.dll 21-Apr-2004 22:17 5.0.0.976 139,536 Ppd5250.dll 21-Apr-2004 22:17 5.0.0.976 49,424 Prmngext.dll 21-Apr-2004 22:16 5.0.0.976 209,168 Snacfg.dll 21-Apr-2004 22:17 5.0.0.976 24,848 Snaxlt.dll 21-Apr-2004 22:17 5.0.0.976 282,896 Winvprt.dll 21-Apr-2004 22:17 5.0.0.976 57,616 Pdfcomp.exe 21-Apr-2004 22:17 5.0.0.976 94,480 Snaprint.exe
Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
This problem was corrected in Microsoft Host Integration Server 2000 Service Pack 2.
MORE INFORMATION
This problem occurs because the GDI library is not thread-safe and cannot handle calls from different threads for the same print job. The Snaprint service uses I/O completion port thread pooling to minimize thread usage and to be able to print to 500 printers at the same time. When I/O completion ports are used, thread switching occurs and GDI fails. To correct this problem, the hotfix modifies the Snaprint service to now call the GdiSetBatchLimit function with the dwLimit parameter set to 1 at the start of each thread in the print server to prevent data from being cached.
Additional query words: I/OCP
Keywords: kbbug kbfix kbhostintegserv2000sp2fix kbqfe kbhotfixserver KB840636