Функция ReplyPrinterChangeNotification (winsplp.h)
Функция spooler печати ReplyPrinterChangeNotification позволяет поставщику печати обновить базу данных очереди печати событий очереди печати, связанных с дескриптором уведомлений, и уведомить клиента о возникновении событий очереди печати.
Синтаксис
BOOL ReplyPrinterChangeNotification(
HANDLE hPrinter,
DWORD fdwChangeFlags,
[out, optional] PDWORD pdwResult,
[in, optional] PVOID pPrinterNotifyInfo
);
Параметры
hPrinter
Предоставленный вызывающим дескриптором. Этот дескриптор должен быть ранее получен в качестве входных данных hNotify для функции поставщика печати FindFirstPrinterChangeNotification.
fdwChangeFlags
Один или несколько флагов, предоставленных вызывающим PRINTER_CHANGE_-префиксом, перечисленные в описании FindNextPrinterChangeNotificationдокументации по пакету SDK для Microsoft Windows.
[out, optional] pdwResult
Необязательный. Если не null, он получает PRINTER_NOTIFY_INFO-префиксированные флаги, указывающие результаты обновления предоставленной информации.
[in, optional] pPrinterNotifyInfo
Необязательный. Указанный вызывающим адрес структуры PRINTER_NOTIFY_INFO (описан в документации по пакету SDK для Windows). Может быть значение NULL, если новые сведения о уведомлении не добавляются.
Возвращаемое значение
Если операция выполнена успешно, функция возвращает TRUE. В противном случае функция возвращает FALSE. Вызывающий объект может получить код ошибки, вызвав GetLastError.
Замечания
Поставщики печати, не поддерживающие опрос (см. раздел FindFirstPrinterChangeNotification) должны уведомлять spooler о возникновении любых событий, представленных PRINTER_CHANGE_-префиксированных флагами, полученными функции FindFirstPrinterChangeNotification. При возникновении события поставщик печати может вызвать ReplyPrinterChangeNotification, чтобы сообщить spooler о событии и предоставить сведения, связанные с событием. Spooler отслеживает эти сведения о событии, для каждого дескриптора уведомлений и предоставляет сведения приложению, когда приложение вызывает FindNextPrinterChangeNotification (описано в документации по пакету SDK для Windows).
Когда поставщик печати вызывает ReplyPrinterChangeNotification, он должен определить событие, которое произошло, задав PRINTER_CHANGE_ префиксированный флаг в fwdFlags или с помощью pPrinterNotifyInfo для возврата структуры PRINTER_NOTIFY_INFO. (Используйте флаги, перечисленные в описании пакета SDK для Windows FindNextPrinterChangeNotification- не флаги, перечисленные в описании FindFirstPrinterChangeNotification.)
Вызов ReplyPrinterChangeNotification приводит к тому, что spooler сигнализирует клиентскому приложению о том, что произошло событие очереди печати. Это происходит, даже если поставщик предоставляет NULL для pPrinterNotifyInfo. Чтобы обновить запись очереди печати без уведомления клиента, используйте partialReplyPrinterChangeNotification. Обычно вызывается PartialReplyPrinterChangeNotification несколько раз для обновления базы данных spooler, а затем вызывать ReplyPrinterChangeNotification, чтобы уведомить клиента о том, что произошли изменения.
Дополнительные сведения см. в уведомления о смене принтера.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | winsplp.h (include Winsplp.h) |
библиотеки | Spoolss.lib |
DLL | Spoolss.dll |