Freigeben über


Unterstützung für Druckspooler für Druckerverzeichnisdienste

Unterstützung für Druckspooler für Verzeichnisdienste besteht aus folgenden Elementen:

  • Veröffentlichen von Druckwarteschlangen

  • Verwalten von drei Registrierungsschlüsseln

  • Zugriff auf von Spooler verwaltete Registrierungsschlüssel zulassen

  • Zurückgeben des Veröffentlichungsstatus einer Druckwarteschlange

Veröffentlichen von Druckwarteschlangen

Mit der SetPrinter-Funktion können Aufrufer ein Druckwarteschlangenobjekt veröffentlichen, die Veröffentlichung aufheben oder aktualisieren. Zu diesen Zwecken muss die SetPrinter-Funktion mit einer Eingabestruktur von PRINTER_INFO_7 aufgerufen werden.

Ein Druckwarteschlangenobjekt kann nur veröffentlicht werden, wenn es dem Computerobjekt zugeordnet ist, das den Druckserver beschreibt, mit dem der Benutzer verbunden ist. Die Fähigkeit eines Benutzers, eine Druckwarteschlange zu veröffentlichen, hängt von seinen Zugriffsrechten ab, die im Clientsicherheitskontext des Benutzers enthalten sind. Sie können eine Druckwarteschlange veröffentlichen, wenn Sie über die Berechtigung Drucker verwalten für die Druckwarteschlange verfügen.

Verwalten von drei Registrierungsschlüsseln

Drei Registrierungsschlüssel enthalten Kopien aller Informationen, die im Druckwarteschlangenobjekt veröffentlicht werden. Auf die drei Schlüssel wird mit den folgenden Bezeichnern verwiesen, die in winspool.h definiert sind:

Schlüssel Definition
SPLDS_DRIVER_KEY Zum Speichern treiberspezifischer Informationen, die vom Spooler oder treiber bereitgestellt werden können.
SPLDS_SPOOLER_KEY Zum Speichern von Spooler-bereitgestellten, Spoolerspezifischen Informationen.
SPLDS_USER_KEY Zum Speichern von anwendungsspezifischen Informationen.

Der Spooler verwendet SPLDS_DRIVER_KEY, um Treiberfunktionen zu speichern, die durch Aufrufen der DeviceCapabilities-Funktion abgerufen werden können. Der Treiber ist für die Speicherung von Treiberfunktionen verantwortlich, die der Spooler nicht abrufen kann, wie unter Druckertreiberunterstützung für Druckerverzeichnisdienste beschrieben. Unter diesen Schlüsseln gespeicherte Werte müssen durch SPLDS_ Konstanten mit Präfix identifiziert werden, die in winspool.h definiert sind.

Der Spooler verfolgt, welche Werte unter diesen Schlüsseln seit der letzten Aktualisierung des Druckwarteschlangenobjekts geändert wurden. Jedes Mal, wenn der Spooler das Druckwarteschlangenobjekt veröffentlicht oder aktualisiert, kopiert er alle geänderten Werte in das -Objekt.

Zugriff auf von Spooler verwaltete Registrierungsschlüssel zulassen

Der Spooler ermöglicht Druckertreibern den Zugriff auf die drei von Spoolern verwalteten Registrierungsschlüssel, indem die Funktionen SetPrinterDataEx, GetPrinterDataEx und EnumPrinterDataEx aufgerufen werden. Die SetPrinterDataEx-Funktion legt Werte unter den Schlüsseln fest, während GetPrinterDataEx und EnumPrinterDataEx aktuelle Werte zurückgeben. Treiber sollten keine Werte unter dem SPLDS_SPOOLER_KEY-Schlüssel festlegen. Aufrufer dieser Funktionen geben keinen vollständigen Registrierungspfad an. Die Funktionen bestimmen automatisch den Pfad zu den Registrierungseinträgen der angegebenen Druckwarteschlange.

Zurückgeben des Veröffentlichungsstatus einer Druckwarteschlange

Mit der GetPrinter-Funktion können Aufrufer ermitteln, ob derzeit eine Druckwarteschlange veröffentlicht wird. Zu diesem Zweck muss die GetPrinter-Funktion mit einer Eingabestruktur von PRINTER_INFO_7 aufgerufen werden. Die Funktion gibt den Veröffentlichungsstatus der Druckwarteschlange (veröffentlicht oder nicht veröffentlicht) und den Objektbezeichner zurück.