Compartir a través de


Función EndDocPrinter

La función EndDocPrinter finaliza un trabajo de impresión para la impresora especificada.

Sintaxis

BOOL EndDocPrinter(
  _In_ HANDLE hPrinter
);

Parámetros

hPrinter [in]

Asa a una impresora para la que se debe finalizar el trabajo de impresión. Use la función OpenPrinter o AddPrinter para recuperar un identificador de impresora.

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 función EndDocPrinter devuelve un error si el trabajo de impresión no se inició llamando a la función StartDocPrinter .

La secuencia de un trabajo de impresión es la siguiente:

  1. Para comenzar un trabajo de impresión, llame a StartDocPrinter.
  2. Para comenzar cada página, llame a StartPagePrinter.
  3. Para escribir datos en una página, llame a WritePrinter.
  4. Para finalizar cada página, llame a EndPagePrinter.
  5. Repita 2, 3 y 4 para tantas páginas como sea necesario.
  6. Para finalizar el trabajo de impresión, llame a EndDocPrinter.

Cuando una página de un archivo en cola supera aproximadamente 350 MB, puede que no se pueda imprimir y no enviar un mensaje de error. Por ejemplo, esto puede ocurrir al imprimir archivos EMF grandes. El límite de tamaño de página depende de muchos factores, incluida la cantidad de memoria virtual disponible, la cantidad de memoria asignada mediante la llamada a procesos y la cantidad de fragmentación en el montón del proceso.

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
Spoolss.dll

Consulte también

Impresión

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

EndDocPrinter

EndPagePrinter

StartDocPrinter

StartPagePrinter

WritePrinter