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

定义 DWORD 参数 fdwFilter

fdwOptions

未使用。

pPrinterNotifyOptions

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

返回值

返回打印驱动程序句柄。

注解

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

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

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

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

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

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

要求

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

另请参阅

ReplyPrinterChangeNotification

PartialReplyPrinterChangeNotification

RefreshPrinterChangeNotification