PRINTER_INFO_4结构

PRINTER_INFO_4 结构指定常规打印机信息。

结构可用于在调用 EnumPrinters 时检索最少的打印机信息。 此类调用是检索系统上所有本地安装的打印机的名称和属性以及用户已建立的所有远程打印机连接的快速且简单的方法。

语法

typedef struct _PRINTER_INFO_4 {
  LPTSTR pPrinterName;
  LPTSTR pServerName;
  DWORD  Attributes;
} PRINTER_INFO_4, *PPRINTER_INFO_4;

成员

pPrinterName

指向以 null 结尾的字符串的指针,该字符串指定打印机的名称 (本地或远程) 。

pServerName

指向以 null 结尾的字符串的指针,该字符串是服务器的名称。

特性

指定有关返回的数据的信息。

含义
PRINTER_ATTRIBUTE_LOCAL 打印机是本地打印机。
PRINTER_ATTRIBUTE_NETWORK 打印机是远程打印机。

备注

PRINTER_INFO_4结构提供了一种简单且极快的方法,用于检索本地计算机上安装的打印机的名称,以及用户已建立的远程连接。 使用PRINTER_INFO_4数据结构调用 EnumPrinters 时,该函数会查询注册表中的指定信息,然后立即返回 。 这不同于使用其他级别的PRINTER_INFO_xxx数据结构调用 EnumPrinters 的行为。 具体而言,当使用级别 2 (PRINTER_INFO_2 ) 数据结构调用 EnumPrinters 时,它会在每个远程连接上执行 OpenPrinter 调用。 如果远程连接已关闭、远程服务器不再存在或远程打印机不再存在,则函数必须等待 RPC 超时,从而导致 OpenPrinter 调用失败。 这可能需要一段时间。 通过传递 PRINTER_INFO_4 结构,应用程序可以检索最少的必需信息;如果需要更详细的信息,可以进行后续 EnumPrinter 级别 2 调用。

属性还可以包含PRINTER_INFO_2“属性”字段中定义的值。

某些打印机配置(例如打印机连接到某些非基于 Windows 的打印服务器)可能会同时返回 PRINTER_ATTRIBUTE_LOCALPRINTER_ATTRIBUTE_NETWORK

要求

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

另请参阅

打印

打印后台处理程序 API 结构

GetPrinter

EnumPrinters

OpenPrinter

PRINTER_INFO_1

PRINTER_INFO_2

PRINTER_INFO_3