Compartir a través de


Función FlushPrinter

La función FlushPrinter envía un búfer a la impresora para borrarlo de un estado transitorio.

Sintaxis

BOOL FlushPrinter(
  _In_  HANDLE  hPrinter,
  _In_  LPVOID  pBuf,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcWritten,
  _In_  DWORD   cSleep
);

Parámetros

hPrinter [in]

Identificador del objeto de impresora. Debe ser el mismo identificador que se usó, en una llamada a WritePrinter anterior, por el controlador de impresora.

pBuf [in]

Puntero a una matriz de bytes que contiene los datos que se van a escribir en la impresora.

cbBuf [in]

Tamaño, en bytes, de la matriz a la que apunta pBuf.

pcWritten [out]

Puntero a un valor que recibe el número de bytes de datos escritos en la impresora.

cSleep [in]

El tiempo, en milisegundos, para el que se debe mantener inactiva la línea de E/S al puerto de la impresora.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es 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.

Solo se debe llamar a FlushPrinter si se produjo un error en WritePrinter, dejando la impresora en un estado transitorio. Por ejemplo, la impresora podría entrar en un estado transitorio cuando se anula el trabajo y el controlador de impresora ha enviado parcialmente algunos datos sin procesar a la impresora.

FlushPrinter también puede especificar un período de inactividad durante el cual el administrador de trabajos de impresión no programa ningún trabajo en el puerto de impresora correspondiente.

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

Consulte también

Impresión

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

WritePrinter