Guest
|
Posted:
Fri Oct 28, 2005 4:51 pm Post subject:
Print Job manipulation on a cluster |
|
|
Hi all - I wonder if anyone can point me in the right direction on this
issue...
I have a system which monitors print jobs on the windows spooler and is
able to move them between print queues. It uses the spooler API to do
this.
My problem is that, in a clustered environment, printers are added to
the virtual cluster server, not the node itself, which means that when
my program (which will be running at any one time on a specific node)
looks for attached printers it doesn't find any, since no printers are
locally attached.
I *am* able to find those printers if my program (using for example
OpenPrinter) looks for a printer by referencing it as
"\\ClusterName\PrinterName" but the problem then is that I cannot use
AddJob etc. to create a new job on such a printer because AddJob
doesn't allow you to add a job to a network print spooler - although of
course in this case it isn't *really* a network printer.
I guess what I fundamentally need is for my program to believe it is
running on a machine called 'ClusterName' rather that 'NodeMachineName'
- then the clustered spooler would look like a local spooler and I
would be able to manipulate it using the spooler api.
Is there any way of doing such a thing?
Many thanks to everyone who's taken the trouble to at least read this
far!
Bob. |
|
Alan Morris [MSFT]
Guest
|
Posted:
Fri Oct 28, 2005 8:50 pm Post subject:
Re: Print Job manipulation on a cluster |
|
|
You can either run his program as a Clustered service (and then has to be
made cluster aware), or use StartDocPrinter/WritePrinter/EndDocPrinter
instead of AddJob/ScheduleJob.
--
Alan Morris
Windows Printing Team
Search the Microsoft Knowledge Base here:
http://support.microsoft.com/default.aspx?scid=fh;[ln];kbhowto
This posting is provided "AS IS" with no warranties, and confers no rights.
<bobgateaux@yahoo.com> wrote in message
news:1130510485.346927.23670@z14g2000cwz.googlegroups.com...
| Quote: | Hi all - I wonder if anyone can point me in the right direction on this
issue...
I have a system which monitors print jobs on the windows spooler and is
able to move them between print queues. It uses the spooler API to do
this.
My problem is that, in a clustered environment, printers are added to
the virtual cluster server, not the node itself, which means that when
my program (which will be running at any one time on a specific node)
looks for attached printers it doesn't find any, since no printers are
locally attached.
I *am* able to find those printers if my program (using for example
OpenPrinter) looks for a printer by referencing it as
"\\ClusterName\PrinterName" but the problem then is that I cannot use
AddJob etc. to create a new job on such a printer because AddJob
doesn't allow you to add a job to a network print spooler - although of
course in this case it isn't *really* a network printer.
I guess what I fundamentally need is for my program to believe it is
running on a machine called 'ClusterName' rather that 'NodeMachineName'
- then the clustered spooler would look like a local spooler and I
would be able to manipulate it using the spooler api.
Is there any way of doing such a thing?
Many thanks to everyone who's taken the trouble to at least read this
far!
Bob.
|
|
|