PRINTER_INFO_2
The PRINTER_INFO_2
structure specifies detailed printer information.
typedef struct _PRINTER_INFO_2 { // pri2
LPTSTR pServerName;
LPTSTR pPrinterName;
LPTSTR pShareName;
LPTSTR pPortName;
LPTSTR pDriverName;
LPTSTR pComment;
LPTSTR pLocation;
LPDEVMODE
pDevMode;
LPTSTR pSepFile;
LPTSTR pPrintProcessor;
LPTSTR pDatatype;
LPTSTR pParameters;
PSECURITY_DESCRIPTOR pSecurityDescriptor;
DWORD Attributes;
DWORD Priority;
DWORD DefaultPriority;
DWORD StartTime;
DWORD UntilTime;
DWORD Status;
DWORD cJobs;
DWORD AveragePPM;
} PRINTER_INFO_2;
Members
pServerName
Points to a
null-terminated string identifying the server that controls the printer. If
this string is NULL, the printer is controlled locally.
pPrinterName
Points to a
null-terminated string that specifies the name of the printer.
pShareName
Points to a
null-terminated string that identifies the sharepoint for the printer. (This
string is used only if the PRINTER_ATTRIBUTE_SHARED constant was set for the Attributes
member.)
pPortName
Points to a
null-terminated string that identifies the port(s) used to transmit data to the
printer. If a printer is connected to more than one port, the names of each
port must be separated by commas (for example, LPT1:,LPT2:,LPT3: ).
pDriverName
Points to a
null-terminated string that specifies the name of the printer driver.
pComment
Points to a
null-terminated string that provides a brief description of the printer.
pLocation
Points to a
null-terminated string that specifies the physical location of the printer (for
example, Bldg. 38, Room 1164 ).
pDevMode
Points to a DEVMODE
pSepFile
Points to a
null-terminated string that specifies the name of the file used to create the
separator page. This page is used to separate print jobs sent to the printer.
pPrintProcessor
Points to a
null-terminated string that specifies the name of the print processor used by
the printer.
pDatatype
Points to a
null-terminated string that specifies the data type used to record the print
job.
pParameters
Points to a
null-terminated string that specifies the default print-processor parameters.
pSecurityDescriptor
Points to a SECURITY_DESCRIPTOR
Attributes
Specifies the
printer attributes. This member can be one of the following values:
PRINTER_ATTRIBUTE_DEFAULT
PRINTER_ATTRIBUTE_DIRECT
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST
PRINTER_ATTRIBUTE_ENABLE_BIDI (Windows 95 only)
PRINTER_ATTRIBUTE_ENABLE_DEVQ
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS
PRINTER_ATTRIBUTE_QUEUED
PRINTER_ATTRIBUTE_SHARED
PRINTER_ATTRIBUTE_WORK_OFFLINE (Windows 95 only)
Priority
Specifies a
priority value that the spooler uses to route print jobs.
DefaultPriority
Specifies the
default priority value assigned to each print job.
StartTime
Specifies the
earliest time at which the printer will print a job. This value is expressed as
minutes elapsed since 12:00 A.M. GMT (Greenwich Mean Time).
UntilTime
Specifies the
latest time at which the printer will print a job. This value is expressed as
minutes elapsed since 12:00 A.M. GMT (Greenwich Mean Time).
Status
Specifies the
printer status. This member can be one of the following values:
Windows
NT:
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
Windows
95:
PRINTER_STATUS_BUSY
PRINTER_STATUS_DOOR_OPEN
PRINTER_STATUS_ERROR
PRINTER_STATUS_INITIALIZING
PRINTER_STATUS_IO_ACTIVE
PRINTER_STATUS_MANUAL_FEED
PRINTER_STATUS_NO_TONER
PRINTER_STATUS_NOT_AVAILABLE
PRINTER_STATUS_OFFLINE
PRINTER_STATUS_OUT_OF_MEMORY
PRINTER_STATUS_OUTPUT_BIN_FULL
PRINTER_STATUS_PAGE_PUNT
PRINTER_STATUS_PAPER_JAM
PRINTER_STATUS_PAPER_OUT
PRINTER_STATUS_PAPER_PROBLEM
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
PRINTER_STATUS_PRINTING
PRINTER_STATUS_PROCESSING
PRINTER_STATUS_TONER_LOW
PRINTER_STATUS_UNAVAILABLE
PRINTER_STATUS_USER_INTERVENTION
PRINTER_STATUS_WAITING
PRINTER_STATUS_WARMING_UP
cJobs
Specifies the
number of print jobs that have been queued for the printer.
AveragePPM
Specifies the
average number of pages per minute that have been printed on the printer.
Remarks
Windows
95: The PRINTER_STATUS_PAGE_PUNT
value specifies that the page is being punted (that is, not printed) because
it is too complex for the printer to print.
See Also