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 结构的 类型、字段和 ID 成员。 如果它们都与 PRINTER_NOTIFY_INFO_DATA 结构数组的现有元素匹配,则现有元素将被提供的元素覆盖。 如果未找到匹配项,该函数会将指定的结构添加到数组的末尾。
返回值
如果作成功,该函数将返回 true 。 否则,该函数返回 FALSE。 调用方可以通过调用 GetLastError来获取错误代码。
言论
打印提供程序的 RefreshPrinterChangeNotification 函数应尽可能频繁地调用 AppendPrinterNotifyInfoData 以填充 PRINTER_NOTIFY_INFO_DATA 结构数组,然后首先调用 RouterAllocPrinterNotifyInfo 来为数组及其关联的PRINTER_NOTIFY_INFO结构分配存储。
根据是否设置PRINTER_NOTIFY_INFO_DATA_COMPACT标志,函数要么将指定的 PRINTER_NOTIFY_INFO_DATA 结构追加到结构数组的末尾,要么覆盖现有数组元素。 如果追加了结构,该函数将递增 PRINTER_NOTIFY_INFO 结构的 计数 成员。
如果 AppendPrinterNotifyInfoData 检测到指定 PRINTER_NOTIFY_INFO 结构中设置了PRINTER_NOTIFY_INFO_DISCARDED标志,该函数将清除所有PRINTER_NOTIFY_INFO_DATA结构并将错误代码设置为ERROR_OUT_OF_STRUCTURES。
如果为 pInfoDataSrc 指定了 null 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) |
库 | Spoolss.lib |
DLL | Spoolss.dll |