Función AddJob
La función AddJob agrega un trabajo de impresión a la lista de trabajos de impresión que el administrador de trabajos de impresión puede programar. La función recupera el nombre del archivo que puede usar para almacenar el trabajo.
Nota:
En Windows 8 y sistemas operativos posteriores, no se recomienda usar AddJob directamente porque hay casos (como imprimir en una cola mediante File: o PORTPROMPT:) donde Se producirá un error en AddJob. En su lugar, se recomienda usar GDI Print API, XPS Print API, StartDocPrinter o el método adecuado del espacio de nombres Windows.Graphics.Printing , según el escenario de impresión.
Si intenta imprimir en una cola mediante File: o PORTPROMPT:, AddJob devolverá el error NOT_SUPPORTED.
Sintaxis
BOOL AddJob(
_In_ HANDLE hPrinter,
_In_ DWORD Level,
_Out_ LPBYTE pData,
_In_ DWORD cbBuf,
_Out_ LPDWORD pcbNeeded
);
Parámetros
-
hPrinter [in]
-
Identificador que especifica la impresora para el trabajo de impresión. Debe ser una impresora local configurada como una impresora en cola. Si hPrinter es un identificador de una conexión de impresora remota o si la impresora está configurada para la impresión directa, se produce un error en la función AddJob . Use la función OpenPrinter o AddPrinter para recuperar un identificador de impresora.
-
Nivel [in]
-
La versión de la estructura de datos de información del trabajo de impresión que almacena la función en el búfer al que apunta pData. Establezca este parámetro en uno.
-
pData [out]
-
Puntero a un búfer que recibe una estructura de datos ADDJOB_INFO_1 y una cadena de ruta de acceso.
-
cbBuf [in]
-
Tamaño, en bytes, del búfer al que apunta pData. El búfer debe ser lo suficientemente grande como para contener una estructura de ADDJOB_INFO_1 y una cadena de ruta de acceso.
-
pcbNeededed [out]
-
Puntero a una variable que recibe el tamaño total, en bytes, de la estructura de datos ADDJOB_INFO_1 más la cadena de ruta de acceso. Si este valor es menor o igual que cbBuf y la función se realiza correctamente, este es el número real de bytes escritos en el búfer al que apunta pData. Si este número es mayor que cbBuf, el búfer es demasiado pequeño y debe llamar a la función de nuevo con un tamaño de búfer al menos tan grande como *pcbNeeded.
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.
Puede llamar a la función CreateFile para abrir el archivo de cola especificado por el miembro Path de la estructura ADDJOB_INFO_1 y, a continuación, llamar a la función WriteFile para escribir datos de trabajos de impresión en él. Una vez hecho esto, llame a la función ScheduleJob para notificar al administrador de trabajos de impresión que el trabajo de impresión ahora puede programar el administrador de trabajos de impresión para imprimir.
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 |
|
Biblioteca |
|
Archivo DLL |
|
Nombres Unicode y ANSI |
AddJobW (Unicode) y AddJobA (ANSI) |