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.
Die IPrintOemPS::EnableDriver-Methode ermöglicht ein Rendering-Plug-In für Pscript-, um einige Grafik-DDI-Funktionen zu verbinden.
Syntax
HRESULT EnableDriver(
DWORD DriverVersion,
DWORD cbSize,
PDRVENABLEDATA pded
);
Parameter
DriverVersion
Vom Anrufer bereitgestellte Schnittstellenversionsnummer. Dieser Wert wird durch PRINTER_OEMINTF_VERSION in printoem.h definiert.
cbSize
Vom Aufrufer bereitgestellte Größe in Byte der Struktur, auf die durch pdedverwiesen wird.
pded
Aufrufer-bereitgestellter Zeiger auf eine DRVENABLEDATA--Struktur.
Rückgabewert
Die Methode muss einen der folgenden Werte zurückgeben:
| Rückgabecode | Beschreibung |
|---|---|
| S_OK | Der Vorgang war erfolgreich. |
| E_FAIL | Fehler beim Vorgang. |
| E_NOTIMPL | Die Methode ist nicht implementiert. |
Bemerkungen
Mit der IPrintOemPS::EnableDriver-Methode kann ein Rendering-Plug-In dieselben Arten von Vorgängen wie die DrvEnableDriver--Funktion ausführen, die von Druckergrafik-DLLs exportiert wird.
Wie die DrvEnableDriver--Funktion ist die IPrintOemPS::EnableDriver-Methode dafür verantwortlich, Adressen intern unterstützter Grafik-DDI-Funktionen bereitzustellen, die als Hooking-Funktionen bezeichnet werden. Sie kann auch andere einmalige Initialisierungsvorgänge ausführen. Im Gegensatz zur DrvEnableDriver--Funktion ist die Implementierung der IPrintOemPS::EnableDriver-Methode optional.
Wenn Sie IPrintOemPS::EnableDriverimplementieren, müssen Sie auch IPrintOemPS::D isableDriver-implementieren. Aktionen, die mit der früheren Methode begonnen wurden, müssen möglicherweise in der letztgenannten Methode abgeschlossen werden. Wenn z. B. ein großer Puffer in IPrintOemPS::EnableDriverzugeordnet ist, jedoch nicht in IPrintOemPS::D isableDriver, kann ein Speicherverlust auftreten.
Die Methode sollte die bereitgestellte DRVENABLEDATA Struktur ausfüllen und ein Array von DRVFN- Strukturen zuordnen. Es sollte das Array mit Zeigern auf Hooking-Funktionen zusammen mit winddi.h-definierten Indexwerten füllen, die die eingebundenen Grafik-DDI-Funktionen identifizieren.
Ein Rendering-Plug-In für Pscript5 kann eine Grafik-DDI-Funktion nur dann verbinden, wenn der Pscript5-Treiber die Funktion definiert. Die folgenden Grafik-DDI-Funktionen sind in Pscript5 und unidrv definiert und können daher eingebunden werden:
Wenn Sie eine benutzerdefinierte Hooking-Funktion bereitstellen, wird die entsprechende Grafik-DDI-Funktion des Treibers vorgebezahlt. Hooking-Funktionen können auch in die Grafik-DDI-Funktionen des Treibers zurückrufen. Weitere Informationen finden Sie unter Benutzerdefinierte Grafik-DDI-Funktionen.
Benutzerdefinierte Hooking-Funktionen verfügen über die gleichen Eingabe- und Ausgabeparameter wie die entsprechende Grafik-DDI-Funktion, mit einer Ausnahme: Grafik-DDI-Funktionen empfangen PDEV-Zeiger, angepasste Hookingfunktionen empfangen DEVOBJ Zeiger. Für diese Funktionen gibt es zwei Möglichkeiten, PDEV-Zeiger zu empfangen:
Als Inhalt des dhpdev Mitglied einer SURFOBJ Struktur für die Zieloberfläche. Für die entsprechende angepasste Hooking-Funktion verweist die ziel-SURFOBJ-Struktur auf die dhpdev Member auf eine DEVOBJ-Struktur und muss bei Verweisen in den Typ PDEVOBJ umgestellt werden. Eine Beispiel-Grafik-DDI-Funktion ist DrvBitBlt.
Als Eingabeargument für einen dhpdev Parameter. Die entsprechende benutzerdefinierte Hooking-Funktion muss diesen Eingabeparameter in den Typ PDEVOBJ umwandeln, wenn darauf verwiesen wird. Eine Beispiel-Grafik-DDI-Funktion ist DrvDitherColor.
Während eine Druckergrafik DLL die Adressen seiner DrvEnablePDEV, DrvDisablePDEVund DrvResetPDEV Funktionen in der DRVENABLEDATA-Struktur enthält, Ein Rendering-Plug-In für Pscript5 implementiert EnablePDEV-, DisablePDEV-und ResetPDEV als Methoden der IPrintOemPS--Schnittstelle und platziert ihre Adressen nicht in der DRVENABLEDATA-Struktur.
Wenn IPrintOemPS::EnableDriver Methoden von mehreren Rendering-Plug-Ins exportiert werden, werden die Methoden in der Reihenfolge aufgerufen, in der die Plug-Ins für die Installation angegeben werden.
Jede Grafik-DDI-Funktion kann durch ein Rendering-Plug-In eingebunden werden. Wenn mehrere Plug-Ins versuchen, dieselbe Grafik-DDI-Funktion zu verbinden, werden alle Hook-Outs nach dem ersten ignoriert.
Weitere Informationen zum Erstellen und Installieren von Rendering-Plug-Ins finden Sie unter Anpassen der Druckertreiber von Microsoft.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Desktop |
| Header- | prcomoem.h (einschließlich Prcomoem.h) |