Compartir a través de


Función EnumJobs

La función EnumJobs recupera información sobre un conjunto especificado de trabajos de impresión para una impresora especificada.

Sintaxis

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]

Identificador del objeto de impresora cuyos trabajos de impresión enumera la función. Use la función OpenPrinter o AddPrinter para recuperar un identificador de impresora.

FirstJob [in]

Posición de base cero dentro de la cola de impresión del primer trabajo de impresión que se va a enumerar. Por ejemplo, un valor de 0 especifica que la enumeración debe comenzar en el primer trabajo de impresión de la cola de impresión; Un valor de 9 especifica que la enumeración debe comenzar en el décimo trabajo de impresión de la cola de impresión.

NoJobs [in]

Número total de trabajos de impresión que se van a enumerar.

Nivel [in]

Tipo de información devuelta en el búfer de pJob .

Valor Significado
1
pJob recibe una matriz de estructuras de JOB_INFO_1
2
pJob recibe una matriz de estructuras de JOB_INFO_2
3
pJob recibe una matriz de estructuras de JOB_INFO_3

pJob [out]

Puntero a un búfer que recibe una matriz de estructuras de JOB_INFO_1, JOB_INFO_2 o JOB_INFO_3 . El búfer debe ser lo suficientemente grande como para recibir la matriz de estructuras y cualquier cadena u otros datos a los que apunten los miembros de la estructura.

Para determinar el tamaño de búfer necesario, llame a EnumJobs con cbBuf establecido en cero. Se produce un error en EnumJobs, GetLastError devuelve ERROR_INSUFFICIENT_BUFFER y el parámetro pcbNeeded devuelve el tamaño, en bytes, del búfer necesario para contener la matriz de estructuras y sus datos.

cbBuf [in]

Tamaño, en bytes, del búfer de pJob .

pcbNeededed [out]

Puntero a una variable que recibe el número de bytes copiados si la función se realiza correctamente. Si se produce un error en la función, la variable recibe el número de bytes necesarios.

pcReturned [out]

Puntero a una variable que recibe el número de JOB_INFO_1, JOB_INFO_2 o JOB_INFO_3 estructuras devueltas en el búfer de pJob .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Comentarios

Nota

Se trata de una función de bloqueo o sincrónica y podría no devolverse inmediatamente. La rapidez con la que devuelve esta función depende de factores en tiempo de ejecución, como el estado de red, la configuración del servidor de impresión y los factores de implementación de controladores de impresora que son difíciles de predecir al escribir una aplicación. Llamar a esta función desde un subproceso que administra la interacción con la interfaz de usuario podría hacer que la aplicación parezca que no responde.

La estructura JOB_INFO_1 contiene información general sobre trabajos de impresión; la estructura JOB_INFO_2 tiene información mucho más detallada. La estructura JOB_INFO_3 contiene información sobre cómo se vinculan los trabajos.

Para determinar el número de trabajos de impresión en la cola de impresoras, llame a la función GetPrinter con el parámetro Level establecido en 2.

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

Consulte también

Impresión

Funciones de la API del administrador de trabajos de impresión

GetJob

GetPrinter

JOB_INFO_1

JOB_INFO_2

JOB_INFO_3

OpenPrinter

SetJob