IPrintOemUni::EnablePDEV-Methode (prcomoem.h)
Die IPrintOemUni::EnablePDEV
Methode ermöglicht es einem Rendering-Plug-In für Unidrv , eine eigene PDEV-Struktur zu erstellen.
Syntax
HRESULT EnablePDEV(
PDEVOBJ pdevobj,
PWSTR pPrinterName,
ULONG cPatterns,
HSURF *phsurfPatterns,
ULONG cjGdiInfo,
GDIINFO *pGdiInfo,
ULONG cjDevInfo,
DEVINFO *pDevInfo,
DRVENABLEDATA *pded,
[out] OUT PDEVOEM *pDevOem
);
Parameter
pdevobj
Vom Aufrufer bereitgestellter Zeiger auf eine DEVOBJ-Struktur .
pPrinterName
Vom Aufrufer bereitgestellter Zeiger auf eine Textzeichenfolge, die die logische Adresse des Druckers darstellt.
cPatterns
Vom Aufrufer bereitgestellter Wert, der die Anzahl der HSURF-typisierten Oberflächenhandles darstellt, die im Puffer enthalten sind, auf den von phsurfPatterns verwiesen wird.
phsurfPatterns
Vom Aufrufer bereitgestellter Zeiger auf einen Puffer, der groß genug ist, um cPatterns-Anzahl von HSURF-typisierten Oberflächenhandles zu enthalten. Die Griffe stellen Flächenfüllmuster dar.
cjGdiInfo
Vom Aufrufer bereitgestellter Wert, der die Größe der Struktur darstellt, auf die pGdiInfo verweist.
pGdiInfo
Vom Aufrufer bereitgestellter Zeiger auf eine GDIINFO-Struktur .
cjDevInfo
Vom Aufrufer bereitgestellter Wert, der die Größe der Struktur darstellt, auf die pDevInfo verweist.
pDevInfo
Vom Aufrufer bereitgestellter Zeiger auf eine DEVINFO-Struktur .
pded
Vom Aufrufer bereitgestellter Zeiger auf eine DRVENABLEDATA-Struktur , die die Adressen der Grafik-DDI-Hookingfunktionen des Druckertreibers enthält. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
[out] pDevOem
Empfängt einen von der Methode bereitgestellten Zeiger auf eine private PDEV-Struktur. (Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".)
Rückgabewert
Die -Methode muss einen der folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Der Vorgang wurde erfolgreich ausgeführt. |
|
Fehler beim Vorgang |
Wenn der Vorgang fehlschlägt, sollte die -Methode SetLastError aufrufen, um einen Fehlercode festzulegen.
Hinweise
Ein Rendering-Plug-In für Unidrv muss die IPrintOemUni::EnablePDEV
-Methode implementieren.
Die IPrintOemUni::EnablePDEV
-Methode führt dieselben Arten von Vorgängen aus wie die DrvEnablePDEV-Funktion , die von einer Druckergrafik-DLL exportiert wird. Sein Zweck besteht darin, einem Rendering-Plug-In das Erstellen einer eigenen PDEV-Struktur zu ermöglichen. (Weitere Informationen zu PDEV-Strukturen finden Sie unter Angepasste PDEV-Strukturen.)
Wenn Sie ein Rendering-Plug-In bereitstellen, das die IPrintOemUni::EnablePDEV
-Methode exportiert, ruft die Druckergrafik-DLL von Undrv die Methode aus der DrvEnablePDEV-Funktion auf.
Die IPrintOemUni::EnablePDEV
Methode sollte eine instance ihrer privaten PDEV-Struktur zuordnen, initialisieren und ihre Adresse als pDevOem-Parameter der Methode zurückgeben. Andere Plug-In-Methoden erhalten die Adresse als pdevOEM-Member der DEVOBJ-Struktur .
Das pdevOEM-Member der DEVOBJ-Struktur wird nicht mit der IPrintOemUni::EnablePDEV
-Methode verwendet.
Die Strukturen, auf die die Parameterwerte phsurfPatterns, pGdiInfo und pDevInfo verweisen, sind dieselben, die die DrvEnablePDEV-Funktion von Unidrv empfängt. Das Rendering-Plug-In kann den Strukturinhalt bei Bedarf ändern. Es kann Oberflächenfüllmuster liefern, indem HSURF-typisierte Oberflächengriffe abgerufen und in den Puffer platziert werden, auf den von phsurfPatterns verwiesen wird. Füllmustertypen und Handlereihenfolge sind in der Beschreibung von DrvEnablePDEV aufgeführt.
Die DRVENABLEDATA-Struktur , auf die von pded verwiesen wird , enthält die Adressen von Grafik-DDI-Funktionen, die unidrvs Druckergrafik-DLL bereitgestellt werden. Sie können benutzerdefinierte Hookingfunktionen in Ihrem Plug-In für diese Grafik-DDI-Funktionen bereitstellen. Der Inhalt der DRVENABLEDATA-Struktur ermöglicht es Ihren benutzerdefinierten Hookingfunktionen, die Grafik-DDI-Funktionen des Treibers zurückzurufen. Weitere Informationen finden Sie unter Angepasste Grafik-DDI-Funktionen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | prcomoem.h (einschließlich Prcomoem.h) |