Função EnumJobs

A função EnumJobs recupera informações sobre um conjunto especificado de trabalhos de impressão para uma impressora especificada.

Sintaxe

BOOL EnumJobs(
  _In_  HANDLE  hPrinter,
  _In_  DWORD   FirstJob,
  _In_  DWORD   NoJobs,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pJob,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Parâmetros

hPrinter [in]

Um identificador para o objeto de impressora cujos trabalhos de impressão a função enumera. Use a função OpenPrinter ou AddPrinter para recuperar um identificador de impressora.

FirstJob [in]

A posição baseada em zero na fila de impressão do primeiro trabalho de impressão a ser enumerado. Por exemplo, um valor de 0 especifica que a enumeração deve começar no primeiro trabalho de impressão na fila de impressão; um valor 9 especifica que a enumeração deve começar no décimo trabalho de impressão na fila de impressão.

NoJobs [in]

O número total de trabalhos de impressão a serem enumerados.

Nível [in]

O tipo de informação retornada no buffer pJob .

Valor Significado
1
pJob recebe uma matriz de estruturas de JOB_INFO_1
2
pJob recebe uma matriz de estruturas de JOB_INFO_2
3
pJob recebe uma matriz de estruturas de JOB_INFO_3

pJob [out]

Um ponteiro para um buffer que recebe uma matriz de estruturas de JOB_INFO_1, JOB_INFO_2 ou JOB_INFO_3 . O buffer deve ser grande o suficiente para receber a matriz de estruturas e quaisquer cadeias de caracteres ou outros dados aos quais os membros da estrutura apontam.

Para determinar o tamanho do buffer necessário, chame EnumJobs com cbBuf definido como zero. EnumJobs falha, GetLastError retorna ERROR_INSUFFICIENT_BUFFER e o parâmetro pcbNeeded retorna o tamanho, em bytes, do buffer necessário para manter a matriz de estruturas e seus dados.

cbBuf [in]

O tamanho, em bytes, do buffer pJob .

pcbNeeded [out]

Um ponteiro para uma variável que recebe o número de bytes copiados se a função for bem-sucedida. Se a função falhar, a variável receberá o número de bytes necessários.

pcReturned [out]

Um ponteiro para uma variável que recebe o número de estruturas de JOB_INFO_1, JOB_INFO_2 ou JOB_INFO_3 retornadas no buffer pJob .

Valor retornado

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero.

Comentários

Observação

Essa é uma função de bloqueio ou síncrona e pode não retornar imediatamente. A rapidez com que essa função retorna depende de fatores de tempo de execução, como status de rede, configuração do servidor de impressão e fatores de implementação do driver de impressora que são difíceis de prever ao gravar um aplicativo. Chamar essa função de um thread que gerencia a interação com a interface do usuário pode fazer com que o aplicativo pareça não responder.

A estrutura JOB_INFO_1 contém informações gerais de trabalho de impressão; a estrutura JOB_INFO_2 tem informações muito mais detalhadas. A estrutura JOB_INFO_3 contém informações sobre como os trabalhos são vinculados.

Para determinar o número de trabalhos de impressão na fila da impressora, chame a função GetPrinter com o parâmetro Level definido como 2.

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)
Biblioteca
Winspool.lib
DLL
Winspool.drv
Nomes Unicode e ANSI
EnumJobsW (Unicode) e EnumJobsA (ANSI)

Confira também

Impressão

Funções da API do Spooler de impressão

Getjob

GetPrinter

JOB_INFO_1

JOB_INFO_2

JOB_INFO_3

OpenPrinter

SetJob