勇芳软件工作室.汉化:  Printing > Print Spooler API > Print Spooler API Reference > Print Spooler API Structures >

PRINTER_INFO_4

Previous pageReturn to chapter overviewNext page

描述

 

PRINTER_INFO_4结构指定一般的打印机信息。

 

该结构可用于在对EnumPrinters的调用中检索最少的打印机信息。这种调用是一种快速简单的方式来检索系统上所有本地安装的打印机的名称和属性以及用户已建立的所有远程打印机连接。

 

C++ 语法

 

typedef struct _PRINTER_INFO_4 {

LPTSTR pPrinterName;

LPTSTR pServerName;

DWORD  Attributes;

} PRINTER_INFO_4,

*PPRINTER_INFO_4;

 

PowerBASIC 语法

 

TYPE PRINTER_INFO_4A

pPrinterName AS ASCIIZ PTR

pServerName  AS ASCIIZ PTR

Attributes   AS DWORD

END TYPE

 

Unicode版本:

 

TYPE PRINTER_INFO_4W

pPrinterName AS WSTRINGZ PTR

pServerName  AS WSTRINGZ PTR

Attributes   AS DWORD

END TYPE

 

成员

 

pPrinterName

 

指向指定打印机名称(本地或远程)的以空值终止的字符串的指针。

 

pServerName

 

指向作为服务器名称的以null结尾的字符串的指针。

 

Attributes

 

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

 

含义

PRINTER_ATTRIBUTE_LOCAL

打印机是本地打印机。

PRINTER_ATTRIBUTE_NETWORK

打印机是远程打印机。

 

备注

 

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

 

属性也可以包含PRINTER_INFO_2属性字段中定义的值。

 

某些打印机配置可能会返回PRINTER_ATTRIBUTE_LOCAL和PRINTER_ATTRIBUTE_NETWORK。

 

引用文件 #INCLUDE Once

 

WinSpool.inc(包括Windows.inc)