estrutura PRINTER_INFO_4

A estrutura PRINTER_INFO_4 especifica informações gerais da impressora.

A estrutura pode ser usada para recuperar informações mínimas da impressora em uma chamada para EnumPrinters. Essa chamada é uma maneira rápida e fácil de recuperar os nomes e atributos de todas as impressoras instaladas localmente em um sistema e todas as conexões de impressora remota que um usuário estabeleceu.

Sintaxe

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

Membros

pPrinterName

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome da impressora (local ou remota).

pServerName

Ponteiro para uma cadeia de caracteres terminada em nulo que é o nome do servidor.

Atributos

Especifica informações sobre os dados retornados.

Valor Significado
PRINTER_ATTRIBUTE_LOCAL A impressora é uma impressora local.
PRINTER_ATTRIBUTE_NETWORK A impressora é uma impressora remota.

Comentários

A estrutura PRINTER_INFO_4 fornece uma maneira fácil e extremamente rápida de recuperar os nomes das impressoras instaladas em um computador local, bem como as conexões remotas estabelecidas por um usuário. Quando EnumPrinters é chamado com uma estrutura de dados PRINTER_INFO_4 , essa função consulta o Registro para obter as informações especificadas e retorna imediatamente. Isso difere do comportamento de EnumPrinters quando chamado com outros níveis de estruturas de dados PRINTER_INFO_xxx. Em particular, quando EnumPrinters é chamado com uma estrutura de dados de nível 2 (PRINTER_INFO_2 ), ele executa uma chamada OpenPrinter em cada conexão remota. Se uma conexão remota estiver inativa, se o servidor remoto não existir mais ou se a impressora remota não existir mais, a função deverá aguardar o tempo limite do RPC e, consequentemente, falhar na chamada do OpenPrinter . Isso pode levar algum tempo. Passar uma estrutura PRINTER_INFO_4 permite que um aplicativo recupere um mínimo de informações necessárias; se forem desejadas informações mais detalhadas, uma chamada subsequente de nível 2 do EnumPrinter poderá ser feita.

Os atributos também podem conter valores definidos no campo Atributos de PRINTER_INFO_2.

Algumas configurações de impressora, como conexões de impressora com alguns servidores de impressão não baseados no Windows, podem retornar PRINTER_ATTRIBUTE_LOCAL e PRINTER_ATTRIBUTE_NETWORK.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Winspool.h (inclua Windows.h)
Nomes Unicode e ANSI
_PRINTER_INFO_4W (Unicode) e _PRINTER_INFO_4A (ANSI)

Confira também

Impressão

Estruturas de API do Spooler de Impressão

GetPrinter

EnumPrinters

OpenPrinter

PRINTER_INFO_1

PRINTER_INFO_2

PRINTER_INFO_3