FindFirstPrinterChangeNotification 函数 (winspool.h)

警告

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

打印提供程序的 FindFirstPrinterChangeNotification 函数通知提供程序,当指定打印队列上发生指定事件集时,应用程序已请求通知。

语法

HANDLE FindFirstPrinterChangeNotification(
  HANDLE hPrinter,
  DWORD  fdwFilter,
  DWORD  fdwOptions,
  PVOID  pPrinterNotifyOptions
);

参数

hPrinter

调用方提供的打印机句柄,用于标识请求其事件通知的打印机。 此句柄以前必须从 OpenPrinter获取。

fdwFilter

fdwFilter定义 DWORD 参数。

fdwOptions

未使用。

pPrinterNotifyOptions

调用方提供的指向PRINTER_NOTIFY_OPTIONS结构的指针(在 Windows SDK 文档中介绍)。

返回值

返回打印驱动程序句柄。

言论

当后台处理程序调用打印提供程序的 FindFirstPrinterChangeNotification 函数时,pPrinterNotifyOptions 标识打印提供程序在发生指定事件时应发送到后台处理程序的信息类型。

有关应用程序可以请求的通知类型的列表,以及可用于描述事件的信息的类型的列表,请参阅 Windows SDK 文档 FindFirstPrinterChangeNotification的说明。 应用程序可能请求通知的事件类型包括添加或删除打印作业或表单。 应用程序可能请求的信息类型包括作业或表单参数。

如果打印提供程序不请求轮询,则打印提供程序必须通过调用 PartialReplyPrinterChangeNotificationReplyPrinterChangeNotification来提供 pPrinterNotifyOptions标识的信息类型。

如果提供程序确实请求轮询(即设置PRINTER_NOTIFY_STATUS_POLL),则它不应调用 ReplyPrinterChangeNotification。 相反,后台处理程序会定期向应用程序发出信号。

每当调用其 RefreshPrinterChangeNotification 函数时,轮询和非打印提供程序都必须返回所有请求的信息类型的当前状态。

有关详细信息,请参阅 支持打印机更改通知

要求

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

另请参阅

ReplyPrinterChangeNotification

PartialReplyPrinterChangeNotification

RefreshPrinterChangeNotification