PRINTER_INFO_2 结构

PRINTER_INFO_2结构指定详细的打印机信息。

语法

typedef struct _PRINTER_INFO_2 {
  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, *PPRINTER_INFO_2;

成员

pServerName

指向以 null 结尾的字符串的指针,标识控制打印机的服务器。 如果此字符串为 NULL,则在本地控制打印机。

pPrinterName

指向以 null 结尾的字符串的指针,该字符串指定打印机的名称。

pShareName

指向以 null 结尾的字符串的指针,该字符串标识打印机的共享点。 (仅当为 Attributes member 设置了PRINTER_ATTRIBUTE_SHARED常量时,才使用此字符串。)

pPortName

指向以 null 结尾的字符串的指针,该字符串标识用于将数据传输到打印机的端口 () 。 如果打印机连接到多个端口,则每个端口的名称必须用逗号分隔 (例如,“LPT1:,LPT2:,LPT3:”) 。

pDriverName

指向以 null 结尾的字符串的指针,该字符串指定打印机驱动程序的名称。

pComment

指向以 null 结尾的字符串的指针,该字符串提供打印机的简要说明。

pLocation

指向以 null 结尾的字符串的指针,该字符串指定打印机的物理位置 (例如,“Bldg. 38, Room 1164”) 。

pDevMode

指向 DEVMODE 结构的指针,该结构定义默认打印机数据,例如纸张方向和分辨率。

pSepFile

指向以 null 结尾的字符串的指针,该字符串指定用于创建分隔符页的文件的名称。 此页面用于分隔发送到打印机的打印作业。

pPrintProcessor

指向以 null 结尾的字符串的指针,该字符串指定打印机使用的打印处理器的名称。 可以使用 EnumPrintProcessors 函数获取服务器上安装的打印处理器的列表。

pDatatype

指向以 null 结尾的字符串的指针,该字符串指定用于记录打印作业的数据类型。 可以使用 EnumPrintProcessorDatatypes 函数获取特定打印处理器支持的数据类型列表。

pParameters

指向以 null 结尾的字符串的指针,该字符串指定默认打印处理器参数。

pSecurityDescriptor

指向打印机 SECURITY_DESCRIPTOR 结构的指针。 此成员可以为 NULL

特性

打印机属性。 此成员可以是以下值的任意合理组合。

含义
PRINTER_ATTRIBUTE_DIRECT 作业直接发送到打印机, (作业未) 后台打印。
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 如果为打印时后台打印设置了 并设置了打印机,则任何已完成后台打印的作业都安排在尚未完成后台打印的作业之前打印。
PRINTER_ATTRIBUTE_ENABLE_DEVQ 如果设置,则调用 DevQueryPrint 。 如果文档和打印机设置不匹配,DevQueryPrint 可能会失败。 设置此标志会导致不匹配的文档保存在队列中。
PRINTER_ATTRIBUTE_HIDDEN 保留。
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 如果设置,则作业在打印后保留。 如果未设置,则删除作业。
PRINTER_ATTRIBUTE_LOCAL 打印机是本地打印机。
PRINTER_ATTRIBUTE_NETWORK 打印机是网络打印机连接。
PRINTER_ATTRIBUTE_PUBLISHED 指示是否在目录服务中发布打印机。
PRINTER_ATTRIBUTE_QUEUED 如果设置,打印机将后台打印,并在最后一页后台打印后开始打印。 如果未设置且未设置PRINTER_ATTRIBUTE_DIRECT,则打印机在后台打印时会进行假脱机和打印。
PRINTER_ATTRIBUTE_RAW_ONLY 指示只能对原始数据类型的打印作业进行假脱机处理。
PRINTER_ATTRIBUTE_SHARED 打印机是共享的。

在 Windows XP 及更高版本的 Windows 中,还可以使用以下值。

含义
PRINTER_ATTRIBUTE_FAX 如果设置,打印机为传真打印机。 这只能由 AddPrinter 设置,但 EnumPrintersGetPrinter 可以检索它。

在 Windows Vista 及更高版本的 Windows 中,还可以使用以下值。

含义
PRINTER_ATTRIBUTE_FRIENDLY_NAME 计算机已连接到此打印机,并为其指定了友好名称。
PRINTER_ATTRIBUTE_MACHINE 打印机是每台计算机的连接。
PRINTER_ATTRIBUTE_PUSHED_USER 打印机是使用推送打印机连接用户策略安装的。
PRINTER_ATTRIBUTE_PUSHED_MACHINE 打印机是使用推送打印机连接计算机策略安装的。

在 Windows Server 2003 中,还可以使用以下值。

含义
PRINTER_ATTRIBUTE_TS 指示打印机当前通过终端服务器连接。

优先级

后台处理程序用于路由打印作业的优先级值。

DefaultPriority

分配给每个打印作业的默认优先级值。

StartTime

打印机打印作业的最早时间。 此值表示为格林威治标准时间 (格林威治标准时间) 凌晨 12:00 以来经过的分钟数。

UntilTime

打印机打印作业的最近时间。 此值以格林威治标准时间 (格林威治时间) 凌晨 12:00 以来的分钟数表示。

Status

打印机状态。 此成员可以是以下值的任意合理组合。

含义
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_POWER_SAVE 打印机处于节能模式。
PRINTER_STATUS_PRINTING 打印机正在打印。
PRINTER_STATUS_PROCESSING 打印机正在处理打印作业。
PRINTER_STATUS_SERVER_UNKNOWN 打印机状态未知。
PRINTER_STATUS_TONER_LOW 打印机的碳粉不足。
PRINTER_STATUS_USER_INTERVENTION 打印机有一个错误,要求用户执行某些操作。
PRINTER_STATUS_WAITING 打印机正在等待。
PRINTER_STATUS_WARMING_UP 打印机正在预热。

cJobs

已为打印机排队的打印作业数。

AveragePPM

已在打印机上打印的每分钟的平均页数。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winspool.h (包括 Windows.h)
Unicode 和 ANSI 名称
_PRINTER_INFO_2W (Unicode) 和 _PRINTER_INFO_2A (ANSI)

另请参阅

打印

打印后台处理程序 API 结构

DEVMODE

EnumPrinters

PRINTER_INFO_1

PRINTER_INFO_3

PRINTER_INFO_4

SECURITY_DESCRIPTOR