FlushPrinter 函数

FlushPrinter 函数将缓冲区发送到打印机,以便将其从暂时性状态中清除。

语法

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

参数

hPrinter [in]

打印机对象的句柄。 这应与打印机驱动程序在之前的 WritePrinter 调用中使用的句柄相同。

pBuf [in]

指向字节数组的指针,该数组包含要写入打印机的数据。

cbBuf [in]

pBuf 指向的数组的大小(以字节为单位)。

pcWritten [out]

指向一个值的指针,该值接收写入打印机的数据的字节数。

cSleep [in]

打印机端口的 I/O 行应保持空闲状态的时间(以毫秒为单位)。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

注意

这是一个阻塞或同步函数,可能不会立即返回。 此函数的返回速度取决于运行时因素,例如网络状态、打印服务器配置以及编写应用程序时难以预测的打印机驱动程序实现因素。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。

仅当 WritePrinter 失败,使打印机处于暂时性状态时,才应调用 FlushPrinter。 例如,当作业中止且打印机驱动程序已将一些原始数据部分发送到打印机时,打印机可能会进入暂时性状态。

FlushPrinter 还可以指定空闲时段,在此期间,打印后台处理程序不会将任何作业安排到相应的打印机端口。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winspool.h (包括 Windows.h)

Winspool.lib
DLL
Winspool.drv

另请参阅

打印

打印后台处理程序 API 函数

WritePrinter