estrutura PRINTER_INFO_2

A estrutura PRINTER_INFO_2 especifica informações detalhadas da impressora.

Sintaxe

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;

Membros

pServerName

Um ponteiro para uma cadeia de caracteres terminada em nulo que identifica o servidor que controla a impressora. Se essa cadeia de caracteres for NULL, a impressora será controlada localmente.

pPrinterName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome da impressora.

pShareName

Um ponteiro para uma cadeia de caracteres terminada em nulo que identifica o ponto de compartilhamento da impressora. (Essa cadeia de caracteres será usada somente se a constante PRINTER_ATTRIBUTE_SHARED tiver sido definida para o membro Attributes .)

pPortName

Um ponteiro para uma cadeia de caracteres terminada em nulo que identifica as portas usadas para transmitir dados para a impressora. Se uma impressora estiver conectada a mais de uma porta, os nomes de cada porta deverão ser separados por vírgulas (por exemplo, "LPT1:,LPT2:,LPT3:").

pDriverName

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do driver da impressora.

pComment

Um ponteiro para uma cadeia de caracteres terminada em nulo que fornece uma breve descrição da impressora.

pLocation

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o local físico da impressora (por exemplo, "Bldg. 38, Room 1164").

pDevMode

Um ponteiro para uma estrutura DEVMODE que define dados de impressora padrão, como a orientação do papel e a resolução.

pSepFile

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do arquivo usado para criar a página separadora. Esta página é usada para separar trabalhos de impressão enviados para a impressora.

pPrintProcessor

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do processador de impressão usado pela impressora. Você pode usar a função EnumPrintProcessors para obter uma lista de processadores de impressão instalados em um servidor.

pDatatype

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o tipo de dados usado para registrar o trabalho de impressão. Você pode usar a função EnumPrintProcessorDatatypes para obter uma lista de tipos de dados compatíveis com um processador de impressão específico.

pParameters

Um ponteiro para uma cadeia de caracteres terminada em nulo que especifica os parâmetros padrão do processador de impressão.

pSecurityDescriptor

Um ponteiro para uma estrutura SECURITY_DESCRIPTOR para a impressora. Esse membro pode ser NULL.

Atributos

Os atributos da impressora. Esse membro pode ser qualquer combinação razoável dos valores a seguir.

Valor Significado
PRINTER_ATTRIBUTE_DIRECT O trabalho é enviado diretamente para a impressora (ele não está em spool).
PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST Se set e printer estiverem definidos para print-while-spooling, todos os trabalhos que concluíram o spooling serão agendados para serem impressos antes dos trabalhos que não concluíram o spooling.
PRINTER_ATTRIBUTE_ENABLE_DEVQ Se definido, DevQueryPrint será chamado. O DevQueryPrint poderá falhar se as configurações do documento e da impressora não corresponderem. Definir esse sinalizador faz com que documentos incompatíveis sejam mantidos na fila.
PRINTER_ATTRIBUTE_HIDDEN Reservado.
PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS Se definido, os trabalhos serão mantidos após serem impressos. Se não estiverem em conjunto, os trabalhos serão excluídos.
PRINTER_ATTRIBUTE_LOCAL Impressora é uma impressora local.
PRINTER_ATTRIBUTE_NETWORK Impressora é uma conexão de impressora de rede.
PRINTER_ATTRIBUTE_PUBLISHED Indica se a impressora foi publicada no serviço de diretório.
PRINTER_ATTRIBUTE_QUEUED Se definido, a impressora é spools e começa a imprimir depois que a última página é spooled. Se não estiver definido e PRINTER_ATTRIBUTE_DIRECT não estiver definido, a impressora será impressa durante o spool.
PRINTER_ATTRIBUTE_RAW_ONLY Indica que somente trabalhos de impressão de tipo de dados brutos podem ser spooled.
PRINTER_ATTRIBUTE_SHARED A impressora é compartilhada.

No Windows XP e versões posteriores do Windows, o valor a seguir também pode ser usado.

Valor Significado
PRINTER_ATTRIBUTE_FAX Se definido, a impressora é uma impressora de fax. Isso só pode ser definido por AddPrinter, mas pode ser recuperado por EnumPrinters e GetPrinter.

No Windows Vista e versões posteriores do Windows, os valores a seguir também podem ser usados.

Valor Significado
PRINTER_ATTRIBUTE_FRIENDLY_NAME Um computador se conectou a esta impressora e lhe deu um nome amigável.
PRINTER_ATTRIBUTE_MACHINE A impressora é uma conexão por computador.
PRINTER_ATTRIBUTE_PUSHED_USER A impressora foi instalada usando a política de usuário Conexões de Impressora push.
PRINTER_ATTRIBUTE_PUSHED_MACHINE A impressora foi instalada usando a política de computador Conexões de Impressora push.

No Windows Server 2003, o valor a seguir também pode ser usado.

Valor Significado
PRINTER_ATTRIBUTE_TS Indica que a impressora está conectada no momento por meio de um servidor de terminal.

Prioridade

Um valor de prioridade que o spooler usa para rotear trabalhos de impressão.

DefaultPriority

O valor de prioridade padrão atribuído a cada trabalho de impressão.

StartTime

A primeira vez em que a impressora imprimirá um trabalho. Esse valor é expresso como minutos decorridos desde 00:00 GMT (Horário de Greenwich).

UntilTime

A última vez em que a impressora imprimirá um trabalho. Esse valor é expresso como minutos decorridos desde 00:00 GMT (Horário de Greenwich).

Status

A impressora status. Esse membro pode ser qualquer combinação razoável dos valores a seguir.

Valor Significado
PRINTER_STATUS_BUSY A impressora está ocupada.
PRINTER_STATUS_DOOR_OPEN A porta da impressora está aberta.
PRINTER_STATUS_ERROR A impressora está em um estado de erro.
PRINTER_STATUS_INITIALIZING A impressora está sendo inicializada.
PRINTER_STATUS_IO_ACTIVE A impressora está em um estado de entrada/saída ativo
PRINTER_STATUS_MANUAL_FEED A impressora está em um estado de feed manual.
PRINTER_STATUS_NO_TONER A impressora está sem toner.
PRINTER_STATUS_NOT_AVAILABLE A impressora não está disponível para impressão.
PRINTER_STATUS_OFFLINE A impressora está offline.
PRINTER_STATUS_OUT_OF_MEMORY A impressora ficou sem memória.
PRINTER_STATUS_OUTPUT_BIN_FULL O compartimento de saída da impressora está cheio.
PRINTER_STATUS_PAGE_PUNT A impressora não pode imprimir a página atual.
PRINTER_STATUS_PAPER_JAM O papel está preso na impressora
PRINTER_STATUS_PAPER_OUT A impressora está sem papel.
PRINTER_STATUS_PAPER_PROBLEM A impressora tem um problema com papel.
PRINTER_STATUS_PAUSED A impressora está em pausa.
PRINTER_STATUS_PENDING_DELETION A impressora está sendo excluída.
PRINTER_STATUS_POWER_SAVE A impressora está no modo de economia de energia.
PRINTER_STATUS_PRINTING A impressora está imprimindo.
PRINTER_STATUS_PROCESSING A impressora está processando um trabalho de impressão.
PRINTER_STATUS_SERVER_UNKNOWN A impressora status é desconhecida.
PRINTER_STATUS_TONER_LOW A impressora está com pouco toner.
PRINTER_STATUS_USER_INTERVENTION A impressora tem um erro que exige que o usuário faça algo.
PRINTER_STATUS_WAITING A impressora está aguardando.
PRINTER_STATUS_WARMING_UP A impressora está em preparação.

cJobs

O número de trabalhos de impressão que foram enfileirados para a impressora.

AveragePPM

O número médio de páginas por minuto que foram impressas na impressora.

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_2W (Unicode) e ANSI (_PRINTER_INFO_2A )

Confira também

Impressão

Estruturas de API do Spooler de Impressão

DEVMODE

EnumPrinters

PRINTER_INFO_1

PRINTER_INFO_3

PRINTER_INFO_4

SECURITY_DESCRIPTOR