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