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