Zugriff auf Plug-in-Schnittstellen von Druckertreibern
Wichtig
Die moderne Druckplattform ist die bevorzugte Methode von Windows für die Kommunikation mit Druckern. 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 im Designhandbuch für die App für Druckunterstützung .
Wenn ein UI-Plug-In oder ein Rendering-Plug-In installiert ist, verwendet der Druckertreiber (Unidrv oder Pscript5) die folgende Aufrufsequenz, um Zugriff auf die IPrintOemUI- IPrintOemUI2, IPrintOemUni, IPrintOemUni2, IPrintOemUni3, IPrintOemPS- oder IPrintOemPS2 COM-Schnittstelle zu erhalten:
Der Treiber ruft LoadLibrary auf, um die Plug-In-DLL zu laden, wodurch ein Aufruf der Funktion des Plug-Ins
DllMain
verursacht wird.Der Treiber ruft die Funktion des Plug-Ins
DllGetClassObject
auf, die einen Zeiger auf die IClassFactory-Schnittstelle des Plug-Ins zurückgibt.Der Treiber ruft die CreateInstance-Methode der IClassFactory-Schnittstelle auf, die einen Schnittstellenbezeichner von IID_IUnknown angibt, wodurch die Methode eine Instanz der IPrintOemUI-, IPrintOemUI2-, IPrintOemUni-, IPrintOemUni2-, IPrintOemUni3-, IPrintOemPS- oder IPrintOemPS2-Schnittstelle erstellt und einen Zeiger auf die IUnknown-Schnittstelle der Instanz zurückgibt.
Der Treiber ruft die QueryInterface-Methode der IUnknown-Schnittstelle auf, um zu bestimmen, welche Version der IPrintOemUI-, IPrintOemUI2-, IPrintOemUni-, IPrintOemUI2- IPrintOemUni3-, IPrintOemPS- oder IPrintOemPS2-Schnittstelle vom Plug-In unterstützt wird und einen Zeiger auf die unterstützte Schnittstelle empfängt.
Der Treiber ruft die Methode der Plug-In-Schnittstelle
PublishDriverInterface
auf, um die IPrintOemDriverUI, IPrintCoreUI2, IPrintOemDriverUni, IPrintOemDriverPS oder IPrintCorePS2-Schnittstelle für das Plug-In verfügbar zu machen.Wenn das Plug-In die IPrintOemUni-Schnittstelle implementiert hat, ruft der Treiber IPrintOemUni::GetImplementedMethod auf, um zu bestimmen, welche Schnittstellenmethoden implementiert wurden. Wenn das Plug-In die IPrintOemUni2-Schnittstelle implementiert hat, ruft der Treiber IPrintOemUni2::GetImplementedMethod für denselben Zweck auf.