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结构的 Type、Field 和 Id 成员。 如果它们都匹配 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 |