DeletePrinter 函式

DeletePrinter 函式會刪除指定的印表機物件。

語法

BOOL DeletePrinter(
  _Inout_ HANDLE hPrinter
);

參數

hPrinter [in, out]

將刪除之印表機物件的控制碼。 使用 OpenPrinterAddPrinter 函式來擷取印表機控制碼。

傳回值

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

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

備註

注意

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

如果指定印表機剩餘列印工作, DeletePrinter 會將印表機標示為擱置刪除,然後在列印所有列印工作時刪除它。 無法將列印工作新增至標示為擱置刪除的印表機。

標示為擱置刪除的印表機無法保留,但其列印工作可以保留、繼續和重新開機。 如果印表機已保留,而且印表機有作業, DeletePrinter 會因為ERROR_ACCESS_DENIED而失敗。

請注意, DeletePrinter 不會關閉傳遞給它的控制碼。 因此,應用程式仍然必須呼叫 ClosePrinter

規格需求

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

另請參閱

列印

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

AddPrinter

EnumPrinters

OpenPrinter