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 |
|
Library |
|
DLL |
|