Поделиться через


Функция ReplyPrinterChangeNotification (winsplp.h)

Функция ReplyPrinterChangeNotification в очереди печати позволяет поставщику печати обновлять базу данных очереди печати очереди печати, связанную с дескриптором уведомления, и уведомлять клиента о возникновении событий очереди печати.

Синтаксис

BOOL ReplyPrinterChangeNotification(
                  HANDLE hPrinter,
                  DWORD  fdwChangeFlags,
  [out, optional] PDWORD pdwResult,
  [in, optional]  PVOID  pPrinterNotifyInfo
);

Параметры

hPrinter

Дескриптор, предоставленный вызывающим абонентом. Этот дескриптор должен быть ранее получен в качестве входных данных hNotify для функции FindFirstPrinterChangeNotification поставщика печати.

fdwChangeFlags

Один или несколько флагов, предоставленных вызывающим абонентом PRINTER_CHANGE_ с префиксом, перечисленных в описании FindNextPrinterChangeNotification документации по Microsoft Windows SDK.

[out, optional] pdwResult

Необязательный элемент. Если значение не равно NULL, оно получает PRINTER_NOTIFY_INFO флаги с префиксом, указывающие результаты обновления предоставленных сведений.

[in, optional] pPrinterNotifyInfo

Необязательный элемент. Указанный вызывающим абонентом адрес структуры PRINTER_NOTIFY_INFO (описан в документации по Windows SDK). Может иметь значение NULL , если новые сведения о уведомлениях не добавляются.

Возвращаемое значение

Если операция выполнена успешно, функция возвращает значение TRUE. В противном случае функция возвращает значение FALSE. Вызывающий объект может получить код ошибки, вызвав Метод GetLastError.

Комментарии

Поставщики печати, которые не поддерживают опрос (см. FindFirstPrinterChangeNotification), должны уведомлять диспетчер очереди очереди о возникновении событий, представленных флагами с PRINTER_CHANGE_ префиксом, полученными функцией FindFirstPrinterChangeNotification поставщика. При возникновении события поставщик печати может вызвать ReplyPrinterChangeNotification , чтобы сообщить диспетчеру очереди очереди о событии и предоставить сведения, связанные с событием. Диспетчер очереди очереди отслеживает сведения об этом событии для каждого дескриптора уведомлений и доставляет их приложению, когда приложение вызывает FindNextPrinterChangeNotification (описано в документации по Windows SDK).

Когда поставщик печати вызывает ReplyPrinterChangeNotification, он должен определить событие, которое произошло, установив флаг с PRINTER_CHANGE_ префиксом в fwdFlags или используя pPrinterNotifyInfo для возврата структуры PRINTER_NOTIFY_INFO. (Используйте флаги, перечисленные в описании FindNextPrinterChangeNotification в документации по Windows SDK, а не флаги, перечисленные в описании FindFirstPrinterChangeNotification документации по Windows SDK.)

Вызов ReplyPrinterChangeNotification приводит к тому, что очередь очереди очереди сигнализирует клиентскому приложению о возникновении события очереди печати. Это происходит, даже если поставщик предоставляет значение NULL для pPrinterNotifyInfo. Чтобы обновить запись очереди печати очереди печати без уведомления клиента, используйте PartialReplyPrinterChangeNotification. Как правило, метод PartialReplyPrinterChangeNotification вызывается несколько раз, чтобы обновить базу данных очереди, а затем вызвать ReplyPrinterChangeNotification , чтобы уведомить клиента об изменениях.

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

Требования

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

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

FindFirstPrinterChangeNotification

PartialReplyPrinterChangeNotification