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