estructura de PRINTER_INFO_4

La estructura PRINTER_INFO_4 especifica información general de la impresora.

La estructura se puede usar para recuperar información mínima de la impresora en una llamada a EnumPrinters. Esta llamada es una manera rápida y sencilla de recuperar los nombres y atributos de todas las impresoras instaladas localmente en un sistema y todas las conexiones de impresora remota que un usuario ha establecido.

Sintaxis

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

Miembros

pPrinterName

Puntero a una cadena terminada en null que especifica el nombre de la impresora (local o remota).

pServerName

Puntero a una cadena terminada en null que es el nombre del servidor.

Atributos

Especifica información sobre los datos devueltos.

Valor Significado
PRINTER_ATTRIBUTE_LOCAL La impresora es una impresora local.
PRINTER_ATTRIBUTE_NETWORK La impresora es una impresora remota.

Comentarios

La estructura de PRINTER_INFO_4 proporciona una manera sencilla y extremadamente rápida de recuperar los nombres de las impresoras instaladas en un equipo local, así como las conexiones remotas que ha establecido un usuario. Cuando se llama a EnumPrinters con una estructura de datos PRINTER_INFO_4 , esa función consulta el Registro para obtener la información especificada y, a continuación, devuelve inmediatamente. Esto difiere del comportamiento de EnumPrinters cuando se llama con otros niveles de PRINTER_INFO_xxx estructuras de datos. En concreto, cuando se llama a EnumPrinters con una estructura de datos de nivel 2 (PRINTER_INFO_2 ), realiza una llamada a OpenPrinter en cada conexión remota. Si una conexión remota está inactiva, si el servidor remoto ya no existe o si la impresora remota ya no existe, la función debe esperar a que RPC agote el tiempo de espera y, por consiguiente, produzca un error en la llamada a OpenPrinter . Esto puede tardar unos minutos. Pasar una estructura de PRINTER_INFO_4 permite a una aplicación recuperar un mínimo de información necesaria; si se desea obtener información más detallada, se puede realizar una llamada posterior al nivel 2 de EnumPrinter .

Los atributos también pueden contener valores definidos en el campo Atributos de PRINTER_INFO_2.

Algunas configuraciones de impresora, como las conexiones de impresora a algunos servidores de impresión no basados en Windows, pueden devolver PRINTER_ATTRIBUTE_LOCAL y PRINTER_ATTRIBUTE_NETWORK.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winspool.h (incluye Windows.h)
Nombres Unicode y ANSI
_PRINTER_INFO_4W (Unicode) y _PRINTER_INFO_4A (ANSI)

Consulte también

Impresión

Imprimir estructuras de API de Spooler

GetPrinter

EnumPrinters

OpenPrinter

PRINTER_INFO_1

PRINTER_INFO_2

PRINTER_INFO_3