Freigeben über


Übersicht über Spoolerbenachrichtigungen

Spoolerbenachrichtigung besteht aus einer Reihe von COM-Schnittstellen für von Spooler gehostete Druckkomponenten, die es ihnen ermöglichen, einen bidirektionalen oder unidirektionalen Datenkanal mit Anwendungen zu öffnen, die in anderen Sitzungen als der Sitzung des Spoolers ausgeführt werden.

Dieser Datenkanal basiert auf Benachrichtigungen und ist entweder einem Druckernamen oder einem Servernamen zugeordnet. Nur Druckkomponenten, die vom Spooler gehostet werden, können den Benachrichtigungskanal öffnen, aber Benachrichtigungen können in beide Richtungen gesendet werden.

Spoolerbenachrichtigung enthält auch eine Reihe von COM-Schnittstellen, die Druckkomponenten und Anwendungen verwenden können, um sich für Druckbenachrichtigungen zu registrieren. Anwendungen können sich für Benachrichtigungen registrieren, aber keine Benachrichtigungskanäle öffnen. Druckkomponenten, die vom Spooler geladen werden, können sich für Benachrichtigungen registrieren.

Bei bidirektionalen Kanälen wird der Listenerclient beim Empfang einer Benachrichtigung auch darüber informiert, welchen Kanal er zum Zurücksenden von Daten an die Druckkomponente verwenden kann.

Bei unidirektionalen Kanälen empfängt der Listenerclient nur die Benachrichtigung, da nicht erwartet wird, dass er auf die Benachrichtigung reagiert.

Eine prozessinterne Spoolerkomponente kann einen Benachrichtigungskanal öffnen, unabhängig davon, ob Listener vorhanden sind oder nicht. Nachdem der Kanal geöffnet wurde, kann die Druckkomponente Benachrichtigungen senden. Wenn keine Listener vorhanden sind, ist der Aufruf weiterhin erfolgreich, aber der zurückgegebene Wert gibt an, dass niemand die Benachrichtigung erhalten hat.

Eine Druckkomponente, die entweder vom Spooler oder einer Anwendung geladen wird, kann sich für Benachrichtigungen bei einem Drucker oder bei einem Server (lokal oder remote) registrieren, unabhängig davon, ob es offene Kanäle gibt oder nicht.

Nachdem ein Kanal geöffnet und eine Benachrichtigung gesendet wurde, empfängt der Listenerclient die Benachrichtigung. Der Listenerclient empfängt auch Informationen darüber, welcher Kanal für die Benachrichtigung (für bidirektionale Kanäle) verwendet wurde.

Der Benachrichtigungsmechanismus ist asynchron. Die Reihenfolge der Benachrichtigungen ist garantiert.