AbortPrinter 函式

如果印表機設定為可進行幕後處理, AbortPrinter 函式會刪除印表機的多工緩衝處理檔案。

語法

BOOL AbortPrinter(
  _In_ HANDLE hPrinter
);

參數

hPrinter [在]

從刪除多工緩衝處理檔案之印表機的控制碼。 使用 OpenPrinterinteractivesession.addprinter 函式來取出印表機控制碼。

傳回值

如果函式成功,則傳回值為非零值。

如果此函式失敗,則傳回值為零。

備註

注意

這是封鎖或同步函式,可能不會立即傳回。 此函式傳回的速度,取決於執行時間因素,例如網路狀態、列印伺服器設定,以及在撰寫應用程式時難以預測的印表機驅動程式執行因素。 從管理與使用者介面互動的執行緒呼叫這個函式,可能會讓應用程式看起來沒有回應。

如果印表機未設定為進行幕後處理, AbortPrinter 函式不會有任何作用。

列印工作的順序如下所示:

  1. 若要開始列印工作,請呼叫 StartDocPrinter
  2. 若要開始每個頁面,請呼叫 StartPagePrinter
  3. 若要將資料寫入頁面,請呼叫 WritePrinter
  4. 若要結束每個頁面,請呼叫 EndPagePrinter
  5. 視需要針對任意數量的頁面重複2、3和4。
  6. 若要結束列印工作,請呼叫 EndDocPrinter

當多工緩衝處理檔案中的頁面超過大約 350 MB 時,可能會無法列印,且不會傳送錯誤訊息。 例如,列印大型 EMF 檔案時可能會發生這種情況。 頁面大小限制取決於許多因素,包括可用的虛擬記憶體數量、呼叫進程所配置的記憶體數量,以及進程堆積中的片段量。

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Winspool.drv (包含) 的 Windows。h
程式庫
Winspool.drv .lib
DLL
Spoolss.dll

另請參閱

列印

列印多工緩衝處理器 API 函式

EndDocPrinter

EndPagePrinter

OpenPrinter

StartDocPrinter

StartPagePrinter

WritePrinter