AppendPrinterNotifyInfoData 函数 (winsplp.h)

打印后台处理程序的 AppendPrinterNotifyInfoData 函数将指定PRINTER_NOTIFY_INFO_DATA结构的内容添加到指定的PRINTER_NOTIFY_INFO结构。

语法

BOOL AppendPrinterNotifyInfoData(
  [in] PPRINTER_NOTIFY_INFO      pInfoDest,
       PPRINTER_NOTIFY_INFO_DATA pDataSrc,
       DWORD                     fdwFlags
);

参数

[in] pInfoDest

调用方提供的指向 PRINTER_NOTIFY_INFO 结构的指针。

pDataSrc

调用方提供的指向 PRINTER_NOTIFY_INFO_DATA 结构的指针。

fdwFlags

调用方提供的标志。 定义了以下标志。

PRINTER_NOTIFY_INFO_DATA_COMPACT
如果设置,函数将检查所提供的PRINTER_NOTIFY_INFO_DATA结构的 TypeFieldId 成员。 如果它们都匹配 PRINTER_NOTIFY_INFO_DATA 结构数组的现有元素,则现有元素将被提供的 元素覆盖。 如果未找到匹配项,函数会将指定的结构添加到数组的末尾。

返回值

如果操作成功,函数将返回 TRUE。 否则,函数返回 FALSE。 调用方可以通过调用 GetLastError 获取错误代码。

注解

在首先调用 RouterAllocPrinterNotifyInfo 为数组及其关联的PRINTER_NOTIFY_INFO结构分配存储后,打印提供程序的 RefreshPrinterChangeNotification 函数应根据需要经常调用 AppendPrinterNotifyInfoData 以填充PRINTER_NOTIFY_INFO_DATA结构数组。

根据是否设置PRINTER_NOTIFY_INFO_DATA_COMPACT标志,函数会将指定的 PRINTER_NOTIFY_INFO_DATA 结构追加到结构数组的末尾,或者覆盖现有的数组元素。 如果追加结构,函数将递增 PRINTER_NOTIFY_INFO 结构的 Count 成员。

如果 AppendPrinterNotifyInfoData 检测到在指定的PRINTER_NOTIFY_INFO结构中设置了 PRINTER_NOTIFY_INFO_DISCARDED 标志,则函数会清除所有PRINTER_NOTIFY_INFO_DATA结构,并将错误代码设置为ERROR_OUT_OF_STRUCTURES。

如果为 pInfoDataSrc 指定 NULL,AppendPrinterNotifyInfoData 会在指定的PRINTER_NOTIFY_INFO结构中设置PRINTER_NOTIFY_INFO_DISCARDED标志,清除所有PRINTER_NOTIFY_INFO_DATA结构,并将错误代码设置为ERROR_OUT_OF_STRUCTURES。

(有关PRINTER_NOTIFY_INFO_DISCARDED标志的详细信息,请参阅 Windows SDK 文档中的 FindNextPrinterChangeNotification 的说明。)

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

要求

要求
目标平台 桌面
标头 winsplp.h (包括 Winsplp.h)
Library Spoolss.lib
DLL Spoolss.dll

另请参阅

RefreshPrinterChangeNotification

RouterAllocPrinterNotifyInfo