NAME
Win32::EnumPrinters - Enumerate printers in Windows.
SYNOPSIS
use Win32::EnumPrinters qw(EnumPrinters);
my @printers = EnumPrinters();
DESCRIPTION
This module wraps Win32 EnumPrinters
and some related functions.
Output C data structures are converted to Perl hashes. The names used for their slots are as in C but with any type declaration or structure name prefixes (i.e p
for pointer, dw
for DWORD
, dm
for DEVMODE
, etc.) removed.
CONSTANTS
Any constant accepted by the supported functions in input parameters or included in output data can be imported by the module. For instance:
use Win32::EnumPrinters qw(PRINTER_ATTRIBUTE_RAW_ONLY);
The constants have both an integer and a string value (in a similar fashion to $!
). The string value is the C constant name lower-cased and with any common prefix removed. For instance, PRINTER_ATTRIBUTE_QUEUED
is both queued
and 1
.
Enumeration values returned from the supported functions follow the same rule.
The following tags can also be used at import time to pick sets of constants:
attribute => PRINTER_ATTRIBUTE_*
dmbin => DMBIN_*
dmcollate => DMCOLLATE_*
dmcolor => DMCOLOR_*
dmdfo => DMDFO_*
dmdisplayflags => DM_*
dmdither => DMDITHER_*
dmdo => DMDO_*
dmdup => DMDUP_*
dmfield => DM_*
dmicm => DMICM_*
dmicmethod => DMICMMETHOD_*
dmmedia => DMMEDIA_*
dmnup => DMNUP_*
dmpaper => DMPAPER_*
dmres => DMRES_*
dmtt => DMTT_*
enum => PRINTER_ENUM_*
formflag => FORM_*
status => PRINTER_STATUS_*
stringtype => STRING_*
FUNCTIONS
The following functions can be imported from the module:
- @printers = EnumPrinters($flags, $name, $level)
-
See EnumPrinters.
- $name = GetDefaultPrinter()
-
See GetDefaultPrinter.
- @forms = EnumForms($printer_name, $level)
-
See EnumForms.
SEE ALSO
Win32::Printer and Win32::Printer::Enum provide similar functionality, but they are not thin wrappers around the C/C++ functions.
AUTHOR
Salvador Fandiño, <sfandino@yahoo.com>
COPYRIGHT AND LICENSE
Copyright (C) 2017 by Qindel Formación y Servicios SL
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.1 or, at your option, any later version of Perl 5 you may have available.