Net traces show access denied from SPOOLSS
Our network is typical of many big corporate nets: we use MS's point and
print technology where we share printers off the servers and clients use the
print connections to print from. As do many other places, we use several
logical printers to point to the same physical printer for print priority and
duplex control. For instance, PTR1 for the typical print job and PTR1DUP for
the higher priority or duplexed job. That's when we noticed something strange:
On print jobs, the client side typically request a OpenPrinterEx request of
the server's spooler SPOOLSS. We've noticed that on some requests, not all,
the return from the server is ACCESS_DENIED. On receiving this, the client
then re-requests an OpenPrinteEx call with sufficient privileges and the
request is then granted. Now for one call, that's not an excessive amount of
traffic. But, typically of MS's SPOOLS service on the client side, a print
request for one print connection then starts the client side SPOOLS
enumerating ALL connected printer for a change_id request, which requires the
handle to the server printer. Therefore, all print connections go through
this ACCESS_DENIED first request, then resubmitting the OpenPrinterEx call
with suffucient access. Has anyone noticed this and why does the cleint side
SPOOLS do this - it seems a terrible waste of net resources, especially if
you have many clients with many attached printers.
date: Fri, 22 Jul 2005 06:46:01 -0700
author: John P