DOCUMENT:Q173682 13-JUN-2001 [sna] TITLE :Print Service Doesn't Print Jobs Concurrently If PDT Is Used PRODUCT :Microsoft SNA Server PROD/VER:WINDOWS:3.0,3.0 SP1 OPER/SYS: KEYWORDS:kbnetwork ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft SNA Server, versions 3.0, 3.0 SP1 ------------------------------------------------------------------------------- SYMPTOMS ======== Multiple print jobs destined for the same physical printer are sent to the SNA Server print service; the print sessions are configured to use a PDT file. The print service processes only one job at a time until all are printed, rather than spooling multiple jobs at once. You can see this problem in SNA Server Manager when you view the status for the configured print sessions; only one print session at a time is in a spooling state. If a PDT file is not being used for the print sessions, all print sessions that have been sent a print job will be in a spooling state. CAUSE ===== The SNA Server print service calls the StartDocPrinter() API to open a connection to a printer when a print session is configured to use a PDT file. The StartDocPrinter() API returns a printer handle to the print service when the call completes successfully. When multiple print jobs are sent to different print sessions configured to print to the same printer, the print service calls StartDocPrinter() multiple times, using the printer handle that was returned by the initial StartDocPrinter() call to open multiple connections to the printer. The first call to StartDocPrinter() succeeds, but subsequent calls fail with an ERROR_INVALID_PRINTER_STATE error. The print service tries to open the connection to the printer every few seconds for each of the failed connections, so all of the print jobs eventually print as the previous jobs complete. The StartDocPrinter() API does not allow multiple connections to be opened to the same printer using the same printer handle. The printer handle can be reused after the intial print job is completed. STATUS ====== Microsoft has confirmed this to be a problem in SNA Server versions 3.0 and 3.0 Service Pack 1 (SP1). This problem was corrected in the latest SNA Server version 3.0 U.S. Service Pack. For information on obtaining this Service Pack, query on the following word in the Microsoft Knowledge Base (without the spaces): S E R V P A C K MORE INFORMATION ================ With the fix applied, the SNA Server print service always opens a new printer connection for each new print session. Each print session will then get a different printer handle, which allows all print jobs to be processed concurrently when a PDT file is used. Additional query words: ====================================================================== Keywords : kbnetwork Technology : kbAudDeveloper kbSNAServSearch kbSNAServ300 kbSNAServ300SP1 Version : WINDOWS:3.0,3.0 SP1 Issue type : kbbug Solution Type : kbfix ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.