Freigeben über


Veröffentlichen der Interfaces

Wichtig

Die moderne Druckplattform ist das bevorzugte Mittel von Windows, um mit Druckern zu kommunizieren. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.

Weitere Informationen finden Sie unter Moderne Druckplattform und im Entwurfsleitfaden für die Druckunterstützungs-App.

Plug-ins erhalten in der Regel Instanzen von Objekten, die das Verhalten der Kerntreiber implementieren, über einen Mechanismus namens Publishing. Die Hilfsschnittstellen IPrintCoreHelper, IPrintCoreHelperPSund IPrintCoreHelperUni werden mit Hilfe desselben Modells veröffentlicht, mit ein paar kleinen Unterschieden.

Die folgenden Listen fassen die Reihenfolge zusammen, in der Objekte in der Benutzeroberfläche (UI) und in den Rendermodulen veröffentlicht werden, sowohl für Unidrv als auch für Pscript5. Für jedes der vier Module gibt die Nummer in der Liste die Reihenfolge an, in der ein Objekt veröffentlicht wird, und die genannten COM-Schnittstellen geben an, welche Schnittstellen das Objekt implementiert.

In jedem Modul sollte der Treiber nur eines der veröffentlichten Objekte behalten, indem er einen Zeiger speichert und die Methode AddRef für dieses Objekt aufruft. Nachdem das Plug-in den Verweis auf das Objekt gespeichert hat, sollte das Plug-in S_OK zurückgeben. Der Kerntreiber wird dann die Veröffentlichung von Schnittstellen einstellen. Dieses Modell unterscheidet sich nicht wesentlich von dem früheren Veröffentlichungsmechanismus.

Im UI-Kontext werden die Objekte in der Schnittstelle IPrintOemUI der Klasse veröffentlicht, deren Klassenkennung CLSID_OEMUI lautet. Im Renderkontext werden Objekte an die Schnittstellen IPrintOemPS oder IPrintOemUni veröffentlicht.

Die Objekte, die in den folgenden Listen mit einem Sternchen (*) gekennzeichnet sind, werden für die Schnittstelle IPrintOemPrintTicketProvider veröffentlicht.

Unidrv UI Modul Veröffentlichungsreihenfolge

  1. IUnknown und *IPrintCoreHelper und IPrintCoreHelperUni

  2. IUnknown und IPrintOemDriverUI

Unidrv Rendermodul Veröffentlichungsauftrag

  1. IUnknown und IPrintCoreHelper und IPrintCoreHelperUni

  2. IUnknown und IPrintOemDriverUni

Pscript5 UI-Modul Veröffentlichungsreihenfolge

  1. IUnknown und *IPrintCoreHelper und IPrintCoreHelperPS

  2. IUnknown und IPrintCoreUI2

  3. IUnknown und IPrintOemDriverUI

Pscript5 Rendermodul Veröffentlichungsreihenfolge

  1. IUnknown und IPrintCoreHelper und IPrintCoreHelperPS

  2. IUnknown und IPrintCorePS2