Re: Win32::Printer::Enum::Printer($server)
- From: "Sisyphus" <sisyphus1@xxxxxxxxxxxxxxxxx>
- Date: Fri, 24 Jun 2005 20:59:32 +1000
"Brian McCauley" <nobull@xxxxxxxx> wrote in message
news:d9e9bm$bbs$1@xxxxxxxxxxxxxxxxxxxxx
> Has anyone ever managed to get Win32::Printer::Enum::Printer($server) to
> enumerate printers on a server?
>
> I've tried $server with a plain server name e.g. "MYBOX" and "\\\\MYBOX"
> nither give any response. (Note I'm using an accound with Administrator
> priv at MYBOX).
>
> Looking at MSDN it implies that the parameter to EnumPrinters() should
> be "Print Provider!!\\Machine" so I tried
>
> "win32spl.dll!!\\\\MYBOX"
>
> and
>
> "win32spl!!\\\\MYBOX"
>
> and
>
> "LanMan Print Services!!\\\\MYBOX"
>
> Still Win32::Printer::Enum::Printer() stubbonly returns nothing.
>
Can't help a lot, if at all - I don't have a printer. (If you get stuck you
might find some help on ActiveState's perl-win32-users list.)
In the Printers() function I see the following code:
my $return = Win32::Printer::_EnumPrinters($flag, $server);
unless (defined($return))
{croak "ERROR: Cannot enumerate printers!
${\Win32::Printer::_GetLastError()}";
}
That code seems a bit suss to me. If I call it as 'Printers("rubbish");', I
too find that it runs without output, though, of course, the domain named
"rubbish" doesn't even exist. I suspect that '(defined($return))' should be
replaced simply with '($return)'.
If EnumPrinters() fails, I think that _EnumPrinters() still returns a
defined (but untrue) value.
Anyway, you might find it useful to replace the above code with:
my $return = Win32::Printer::_EnumPrinters($flag, $server);
unless ($return)
{croak "$flag : $server: ERROR: Cannot enumerate printers!
${\Win32::Printer::_GetLastError()}";
}
With that change I get:
8 : \\rubbish : ERROR: Cannot enumerate printers! The RPC server is
unavailable.
at try.pl line 5
which looks sane to me.
Hth.
Cheers,
Rob
.
- Follow-Ups:
- Re: Win32::Printer::Enum::Printer($server)
- From: nobull
- Re: Win32::Printer::Enum::Printer($server)
- References:
- Win32::Printer::Enum::Printer($server)
- From: Brian McCauley
- Win32::Printer::Enum::Printer($server)
- Prev by Date: Re: installing LWP::UserAgent on windows
- Next by Date: Re: Win32::Printer::Enum::Printer($server)
- Previous by thread: Win32::Printer::Enum::Printer($server)
- Next by thread: Re: Win32::Printer::Enum::Printer($server)
- Index(es):
Relevant Pages
|