AddPrintDeviceObject 函数 (winsplp.h)

警告

从 Windows 10 开始,支持第三方打印提供程序的 API 已弃用。 Microsoft不建议对第三方打印提供商进行任何投资。 此外,在提供 v4 打印驱动程序模型的 Windows 8 和较新版本产品上,第三方打印提供程序可能不会创建或管理使用 v4 打印驱动程序的队列。

AddPrintDeviceObject 打印提供程序函数为打印提供程序队列创建设备对象。

语法

HRESULT AddPrintDeviceObject(
  [in]  HANDLE hPrinter,
  [out] HANDLE *phDeviceObject
);

参数

[in] hPrinter

打开的打印机的句柄。 这应该是 AddPrinter 返回的 HANDLE,或者 OpenPrinter 后台处理程序函数返回。

[out] phDeviceObject

成功创建设备对象的 HANDLE。

返回值

如果成功创建设备对象,则 AddPrintDeviceObject 函数返回S_OK。 否则,它将返回错误。

言论

在以下情况下,应调用 AddPrintDeviceObject 函数:

用户安装打印机

  • 安装打印机后,打印提供程序应调用此函数。

  • 必须通过模拟正在安装打印机的用户来调用该函数。

打印提供程序应为提供程序拥有的每个以前安装的打印机调用此函数。 在此期间,AddPrintDeviceObject 不必在调用用户上下文时模拟用户上下文。

使用 AddPrintDeviceObject 添加的任何设备对象 将一直保留,直到使用 removePrintDeviceObject删除它,或直到后台处理程序服务重新启动为止。 后台处理程序服务停止时,将自动删除所有设备对象。

要求

要求 价值
目标平台 桌面
标头 winsplp.h (包括 Winspool.h)
WinSpool.lib
DLL WinSpool.drv

另请参阅

RemovePrintDeviceObject