PRINTER_INFO_2结构指定详细的打印机信息。
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;
会员
pServerName
指向以空字符结尾的字符串,标识控制打印机的服务器。如果此字符串为NULL,则打印机在本地进行控制。
pPrinterName
指向指定打印机名称的以null结尾的字符串。
pShareName
指向以空字符结尾的字符串,用于标识打印机的共享点。(仅当为属性成员设置了PRINTER_ATTRIBUTE_SHARED常量时,才使用此字符串。)
pPortName
指向以空字符结尾的字符串,用于标识用于向打印机传输数据的端口。如果打印机连接到多个端口,每个端口的名称必须用逗号分隔(例如“LPT1:,LPT2:,LPT3:”)。
pDriverName
指向以空字符结尾的字符串,指定打印机驱动程序的名称。
pLocation
指向以空字符结尾的字符串,提供打印机的简要说明。
// pointer to string with environment variables
指向以空字符结尾的字符串,指定打印机的物理位置(例如“Bldg。38,Room 1164“)。
pDevMode
指向定义默认打印机数据(例如纸张方向和分辨率)的DEVMODE结构。
pSepFile
指向一个以null结尾的字符串,指定用于创建分隔页的文件的名称。此页面用于分离发送到打印机的打印作业。
pPrintProcessor
指向以空字符结尾的字符串,指定打印机使用的打印处理器的名称。
pDatatype
指向一个以null结尾的字符串,指定用于记录打印作业的数据类型。
pParameters
指向指定默认打印处理器参数的以null结尾的字符串。
pSecurityDescriptor
指向打印机的SECURITY_DESCRIPTOR结构。该成员可能为NULL。
属性
指定打印机属性。该成员可以是以下值之一:
PRINTER_ATTRIBUTE_DEFAULT
PRINTER_ATTRIBUTE_DIRECT
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST
PRINTER_ATTRIBUTE_ENABLE_BIDI(仅限Windows 95)
PRINTER_ATTRIBUTE_ENABLE_DEVQ
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS
PRINTER_ATTRIBUTE_QUEUED
PRINTER_ATTRIBUTE_SHARED
PRINTER_ATTRIBUTE_WORK_OFFLINE(仅限Windows 95)
优先
指定假脱机程序用于路由打印作业的优先级值。
DefaultPriority
指定分配给每个打印作业的默认优先级值。
StartTime
指定打印机打印作业的最早时间。该值表示为自12:00 A.M.以来经过的分钟。格林威治标准时间(格林威治标准时间)。
UntilTime
指定打印机打印作业的最新时间。该值表示为自12:00 A.M.以来经过的分钟。格林威治标准时间(格林威治标准时间)。
状态
指定打印机状态。该成员可以是以下值之一:
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
指定打印机排队的打印作业数。
AveragePPM
指定打印机上打印的每分钟平均页数。
备注
Windows 95: PRINTER_STATUS_PAGE_PUNT值指定该页面是“punted”(即未打印),因为打印机打印过于复杂。
也可以看看
DEVMODE, EnumPrinters, PRINTER_INFO_1, PRINTER_INFO_3, PRINTER_INFO_4, SECURITY_DESCRIPTOR