AddPrintDeviceObject 函数 (winsplp.h)

警告

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

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

语法

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

参数

[in] hPrinter

打开的打印机的句柄。 这应该是 AddPrinterOpenPrinter 后台处理程序函数返回的 HANDLE。

[out] phDeviceObject

设备对象的句柄(如果已成功创建)。

返回值

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

注解

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

用户安装打印机

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

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

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

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

要求

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

另请参阅

RemovePrintDeviceObject