Функция 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
Если задано, функция проверяет элементы Type, Field и Id указанной структуры PRINTER_NOTIFY_INFO_DATA . Если все они соответствуют существующему элементу массива структуры 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 элемент Countструктуры.

Если AppendPrinterNotifyInfoData обнаруживает, что флаг PRINTER_NOTIFY_INFO_DISCARDED задан в указанной PRINTER_NOTIFY_INFO структуре, функция очищает все структуры PRINTER_NOTIFY_INFO_DATA и задает код ошибки в ERROR_OUT_OF_STRUCTURES.

Если для pInfoDataSrcзадано значение NULL, AppendPrinterNotifyInfoData устанавливает флаг PRINTER_NOTIFY_INFO_DISCARDED в указанной структуре PRINTER_NOTIFY_INFO, очищает все PRINTER_NOTIFY_INFO_DATA структуры и задает код ошибки в ERROR_OUT_OF_STRUCTURES.

(Дополнительные сведения о флаге PRINTER_NOTIFY_INFO_DISCARDED см. в описании FindNextPrinterChangeNotification в документации по Windows SDK.)

Дополнительные сведения см. в разделе Поддержка уведомлений об изменении принтера.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winsplp.h (включая Winsplp.h)
Библиотека Spoolss.lib
DLL Spoolss.dll

См. также раздел

RefreshPrinterChangeNotification

RouterAllocPrinterNotifyInfo