Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anwendungen können Benachrichtigungen über das Auftreten von Druckwarteschlangenereignissen anfordern, indem sie die Funktionen FindFirstPrinterChangeNotification, FindNextPrinterChangeNotification und FindClosePrinterChangeNotification aufrufen. Wenn Sie denken, dass Anwendungsautoren ereignisbenachrichtigungen für Druckwarteschlangen anfordern möchten, die von Ihrem Teildruckanbieter unterstützt werden, müssen Sie die Ereignisbenachrichtigung in Ihrem Anbieter wie folgt unterstützen:
Stellen Sie eine FindFirstPrinterChangeNotification-Funktion bereit.
Der Spooler ruft diese Funktion auf, um den Druckanbieter mit den folgenden Informationen zu versorgen:
Eine Reihe von Flags, die die Typen von Druckerereignissen angeben, für die die Anwendung eine Benachrichtigung angefordert hat.
Ein Handle für eine Druckwarteschlange, für die Benachrichtigungen angefordert werden.
Eine Liste der Informationstypen, die die Anwendung angefordert hat, wenn ein Ereignis auftritt.
Die Funktion muss einen Flagwert zurückgeben, der angibt, ob der Anbieter abgefragt werden soll, um festzustellen, ob Änderungen aufgetreten sind. Nicht abgefragte Anbieter senden Signale an den Client, wenn Änderungen auftreten. Ein Anbieter, der abgefragt werden muss, sendet keine Signale an einen Client, wenn Änderungen auftreten. Stattdessen signalisiert der Spooler den Client in regelmäßigen Abständen, ob Änderungen aufgetreten sind oder nicht.
Auf Anbieterebene weist diese Funktion unterschiedliche Argumente auf als auf Win32-Ebene.
Verfolgen Sie alle Druckwarteschlangenereignisse, die die Anwendung beim Aufrufen von FindFirstPrinterChangeNotification angegeben hat.
Eine Liste der Typen von Benachrichtigungen, die eine Anwendung anfordern kann, und eine Liste der Informationstypen, die zum Beschreiben eines Ereignisses verwendet werden können, finden Sie in der Win32 FindFirstPrinterChangeNotification-Funktion . Zu den Ereignistypen, für die eine Anwendung möglicherweise eine Benachrichtigung anfordern kann, gehören das Hinzufügen oder Löschen eines Druckauftrags oder Formulars. Arten von Informationen, die eine Anwendung anfordern kann, umfassen Auftrags- oder Formularparameter.
Druckanbieter, die nicht abgefragt werden, müssen partialReplyPrinterChangeNotification oder ReplyPrinterChangeNotification aufrufen, wenn Änderungen vorgenommen werden, um den Spooler mit Informationen zur Beschreibung der Änderungen anzugeben. Die ReplyPrinterChangeNotification-Funktion muss irgendwann aufgerufen werden, da der Spooler die Anwendung signalisiert, während die PartialReplyPrinterChangeNotification-Funktion nicht funktioniert. Wenn die Anwendung ein Signal von ReplyPrinterChangeNotification empfängt, soll FindNextPrinterChangeNotification aufgerufen werden. Diese letztere Funktion stellt die Anwendung mit den Ereignisinformationen bereit, die der Spooler zuvor vom Druckanbieter erhalten hat.
Druckanbieter, die abgefragt werden, sollten einfach änderungen nachverfolgen. Der Spooler signalisiert die Anwendung in regelmäßigen Abständen. Wenn die Anwendung ein Signal empfängt, soll die FindNextPrinterChangeNotification-Funktion des Spoolers aufgerufen werden. Bei abgefragten Anbietern ruft diese Funktion die RefreshPrinterChangeNotification-Funktion des Anbieters auf.
Stellen Sie eine RefreshPrinterChangeNotification-Funktion bereit.
Diese Funktion muss den aktuellen Status aller überwachten Druckwarteschlangenoptionen für die angegebene Druckwarteschlange zurückgeben. Der Spooler ruft diese Funktion auf, wenn eine Anwendung FindNextPrinterChangeNotification mit dem PRINTER_NOTIFY_OPTIONS_REFRESH Flagsatz aufruft.
Anwendungen sollten dieses Kennzeichen festlegen, wenn ein vorheriger Aufruf von FindNextPrinterChangeNotification eine PRINTER_NOTIFY_INFO Struktur mit dem PRINTER_NOTIFY_INFO_DISCARDED Flagsatz zurückgibt. Sowohl abgefragte als auch nichtpolierte Anbieter müssen RefreshPrinterChangeNotification unterstützen.
Stellen Sie eine FindClosePrinterChangeNotification-Funktion bereit.