estrutura PRINTER_NOTIFY_INFO_DATA

A estrutura PRINTER_NOTIFY_INFO_DATA identifica um campo de informações de trabalho ou impressora e fornece os dados atuais para esse campo.

A função FindNextPrinterChangeNotification retorna uma estrutura PRINTER_NOTIFY_INFO , que contém uma matriz de estruturas PRINTER_NOTIFY_INFO_DATA .

Sintaxe

typedef struct _PRINTER_NOTIFY_INFO_DATA {
  WORD  Type;
  WORD  Field;
  DWORD Reserved;
  DWORD Id;
  union {
    DWORD  adwData[2];
    struct {
      DWORD  cbBuf;
      LPVOID pBuf;
    } Data;
  } NotifyData;
} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA; ;

Membros

Tipo

Indica o tipo de informação fornecida. Esse membro pode ser um dos valores a seguir.

Valor Significado
JOB_NOTIFY_TYPE
0x01
Indica que o membro Field especifica uma constante JOB_NOTIFY_FIELD_*.
PRINTER_NOTIFY_TYPE
0x00
Indica que o membro Field especifica uma constante PRINTER_NOTIFY_FIELD_*.

Campo

Indica o campo que foi alterado. Para obter uma lista de valores possíveis, consulte a seção Comentários.

Reserved

Reservado.

Id

Indica o identificador de trabalho se o membro Type especifica JOB_NOTIFY_TYPE. Se o membro Type especificar PRINTER_NOTIFY_TYPE, esse membro será indefinido.

NotifyData

Uma união de informações de dados com base nos membros Tipo e Campo . Para obter uma descrição do tipo de dados associado a cada campo, consulte a seção Comentários.

adwData[2]

Uma matriz de dois valores DWORD . Para obter campos de informações que usam apenas um único DWORD, os dados estão em adwData [0].

Dados

cbBuf

Indica o tamanho, em bytes, do buffer apontado por pBuf.

pBuf

Ponteiro para um buffer que contém os dados atuais do campo.

Comentários

Se o membro Type especificar PRINTER_NOTIFY_TYPE, o membro Field poderá ser um dos valores a seguir.

Campo Tipo de dados Valor
PRINTER_NOTIFY_FIELD_SERVER_NAME Sem suporte. 0x00
PRINTER_NOTIFY_FIELD_PRINTER_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome da impressora. 0x01
PRINTER_NOTIFY_FIELD_SHARE_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que identifica o ponto de compartilhamento da impressora. 0x02
PRINTER_NOTIFY_FIELD_PORT_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome da porta na qual os trabalhos de impressão serão impressos. Se "Pooling de Impressoras" estiver selecionado, esta será uma lista separada por vírgulas de portas. 0x03
PRINTER_NOTIFY_FIELD_DRIVER_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome do driver da impressora. 0x04
PRINTER_NOTIFY_FIELD_COMMENT pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que contém a nova cadeia de caracteres de comentário, que normalmente é uma breve descrição da impressora. 0x05
PRINTER_NOTIFY_FIELD_LOCATION pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que contém o novo local físico da impressora (por exemplo, "Bldg. 38, Sala 1164"). 0x06
PRINTER_NOTIFY_FIELD_DEVMODE pBuf é um ponteiro para uma estrutura DEVMODE que define dados padrão da impressora, como a orientação de papel e a resolução. 0x07
PRINTER_NOTIFY_FIELD_SEPFILE pBuf é 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. 0x08
PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do processador de impressão usado pela impressora. 0x09
PRINTER_NOTIFY_FIELD_PARAMETERS pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica os parâmetros padrão do processador de impressão. 0x0A
PRINTER_NOTIFY_FIELD_DATATYPE pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o tipo de dados usado para registrar o trabalho de impressão. 0x0B
PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR pBuf é um ponteiro para uma estrutura de SECURITY_DESCRIPTOR para a impressora. O ponteiro poderá ser NULL se não houver nenhum descritor de segurança. 0x0C
PRINTER_NOTIFY_FIELD_ATTRIBUTES adwData [0] especifica os atributos da impressora, que podem ser um dos seguintes valores:
PRINTER_ATTRIBUTE_QUEUED
PRINTER_ATTRIBUTE_DIRECT
PRINTER_ATTRIBUTE_DEFAULT
PRINTER_ATTRIBUTE_SHARED
0x0D
PRINTER_NOTIFY_FIELD_PRIORITY adwData [0] especifica um valor de prioridade que o spooler usa para rotear trabalhos de impressão. 0x0E
PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY adwData [0] especifica o valor de prioridade padrão atribuído a cada trabalho de impressão. 0x0F
PRINTER_NOTIFY_FIELD_START_TIME adwData [0] especifica a hora mais antiga em que a impressora imprimirá um trabalho. (Esse valor é especificado em minutos decorridos desde 12:00 da manhã) 0x10
PRINTER_NOTIFY_FIELD_UNTIL_TIME adwData [0] especifica a hora mais recente em que a impressora imprimirá um trabalho. (Esse valor é especificado em minutos decorridos desde 12:00 da manhã) 0x11
PRINTER_NOTIFY_FIELD_STATUS adwData [0] especifica a impressora status. Para obter uma lista de valores possíveis, consulte a estrutura PRINTER_INFO_2 . 0x12
PRINTER_NOTIFY_FIELD_STATUS_STRING Sem suporte. 0x13
PRINTER_NOTIFY_FIELD_CJOBS adwData [0] especifica o número de trabalhos de impressão que foram enfileirados para a impressora. 0x14
PRINTER_NOTIFY_FIELD_AVERAGE_PPM adwData [0] especifica o número médio de páginas por minuto que foram impressas na impressora. 0x15
PRINTER_NOTIFY_FIELD_TOTAL_PAGES Sem suporte. 0x16
PRINTER_NOTIFY_FIELD_PAGES_PRINTED Sem suporte. 0x17
PRINTER_NOTIFY_FIELD_TOTAL_BYTES Sem suporte. 0x18
PRINTER_NOTIFY_FIELD_BYTES_PRINTED Sem suporte. 0x19
PRINTER_NOTIFY_FIELD_OBJECT_GUID Isso será definido se o GUID do objeto for alterado. 0x1A
PRINTER_NOTIFY_FIELD_FRIENDLY_NAME Isso será definido se a conexão da impressora for renomeada. 0x1B

Se o membro Type especificar JOB_NOTIFY_TYPE, o membro Field poderá ser um dos valores a seguir.

Campo Tipo de dados Valor
JOB_NOTIFY_FIELD_PRINTER_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome da impressora para a qual o trabalho é spooled. 0x00
JOB_NOTIFY_FIELD_MACHINE_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do computador que criou o trabalho de impressão. 0x01
JOB_NOTIFY_FIELD_PORT_NAME pBuf é 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 das portas serão separados por vírgulas (por exemplo, "LPT1:,LPT2:,LPT3:"). 0x02
JOB_NOTIFY_FIELD_USER_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do usuário que enviou o trabalho de impressão. 0x03
JOB_NOTIFY_FIELD_NOTIFY_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do usuário que deve ser notificado quando o trabalho foi impresso ou quando ocorre um erro durante a impressão do trabalho. 0x04
JOB_NOTIFY_FIELD_DATATYPE pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o tipo de dados usados para registrar o trabalho de impressão. 0x05
JOB_NOTIFY_FIELD_PRINT_PROCESSOR pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do processador de impressão a ser usado para imprimir o trabalho. 0x06
JOB_NOTIFY_FIELD_PARAMETERS pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica parâmetros de processador de impressão. 0x07
JOB_NOTIFY_FIELD_DRIVER_NAME pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do driver de impressora que deve ser usado para processar o trabalho de impressão. 0x08
JOB_NOTIFY_FIELD_DEVMODE pBuf é um ponteiro para uma estrutura DEVMODE que contém dados de ambiente e inicialização do dispositivo para o driver da impressora. 0x09
JOB_NOTIFY_FIELD_STATUS adwData [0] especifica o trabalho status. Para obter uma lista de valores possíveis, consulte a estrutura JOB_INFO_2 . 0x0A
JOB_NOTIFY_FIELD_STATUS_STRING pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o status do trabalho de impressão. 0x0B
JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR Sem suporte. 0x0C
JOB_NOTIFY_FIELD_DOCUMENT pBuf é um ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do trabalho de impressão (por exemplo, "MS-WORD: Review.doc"). 0x0D
JOB_NOTIFY_FIELD_PRIORITY adwData [0] especifica a prioridade do trabalho. 0x0E
JOB_NOTIFY_FIELD_POSITION adwData [0] especifica a posição do trabalho na fila de impressão. 0x0F
JOB_NOTIFY_FIELD_SUBMITTED pBuf é um ponteiro para uma estrutura SYSTEMTIME que especifica a hora em que o trabalho foi enviado. 0x10
JOB_NOTIFY_FIELD_START_TIME adwData [0] especifica a primeira vez que o trabalho pode ser impresso. (Esse valor é especificado em minutos decorridos desde 12:00 da manhã) 0x11
JOB_NOTIFY_FIELD_UNTIL_TIME adwData [0] especifica a hora mais recente em que o trabalho pode ser impresso. (Esse valor é especificado em minutos decorridos desde 12:00 da manhã) 0x12
JOB_NOTIFY_FIELD_TIME adwData [0] especifica o tempo total, em segundos, decorrido desde que o trabalho começou a ser impresso. 0x13
JOB_NOTIFY_FIELD_TOTAL_PAGES adwData [0] especifica o tamanho, em páginas, do trabalho. 0x14
JOB_NOTIFY_FIELD_PAGES_PRINTED adwData [0] especifica o número de páginas impressas. 0x15
JOB_NOTIFY_FIELD_TOTAL_BYTES adwData [0] especifica o tamanho, em bytes, do trabalho. 0x16
JOB_NOTIFY_FIELD_BYTES_PRINTED adwData [0] especifica o número de bytes que foram impressos neste trabalho. Para esse campo, o objeto de notificação de alteração é sinalizado quando bytes são enviados para a impressora. 0x17

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)

Confira também

Impressão

Estruturas de API do Spooler de Impressão

DEVMODE

FindNextPrinterChangeNotification

JOB_INFO_2

PRINTER_INFO_2

PRINTER_NOTIFY_INFO

SECURITY_DESCRIPTOR

SYSTEMTIME