Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

FlushPrinter function

The FlushPrinter function sends a buffer to the printer in order to clear it from a transient state.

Syntax

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

Parameters

hPrinter [in]

A handle to the printer object. This should be the same handle that was used, in a prior WritePrinter call, by the printer driver.

pBuf [in]

A pointer to an array of bytes that contains the data to be written to the printer.

cbBuf [in]

The size, in bytes, of the array pointed to by pBuf.

pcWritten [out]

A pointer to a value that receives the number of bytes of data that were written to the printer.

cSleep [in]

The time, in milliseconds, for which the I/O line to the printer port should be kept idle.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

Remarks

Note

This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.

FlushPrinter should be called only if WritePrinter failed, leaving the printer in a transient state. For example, the printer could get into a transient state when the job gets aborted and the printer driver has partially sent some raw data to the printer.

FlushPrinter also can specify an idle period during which the print spooler does not schedule any jobs to the corresponding printer port.

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]
Header
Winspool.h (include Windows.h)
Library
Winspool.lib
DLL
Winspool.drv

See also

Printing

Print Spooler API Functions

WritePrinter


Feedback

Was this page helpful?

Additional resources