IPrintOemUni::D riverDMS-Methode (prcomoem.h)
Mit der IPrintOemUni::DriverDMS
-Methode kann ein Rendering-Plug-In für Unidrv- angegeben werden, dass es eine geräteverwaltete Zeichnungsoberfläche verwendet.
Syntax
HRESULT DriverDMS(
PVOID pDevObj,
PVOID pBuffer,
DWORD cbSize,
PDWORD pcbNeeded
);
Parameter
pDevObj
Vom Aufrufer bereitgestellter Zeiger auf eine DEVOBJ- Struktur.
pBuffer
Vom Aufrufer bereitgestellter Zeiger auf einen Puffer zum Empfangen von methodenspezifischen Flags. (Siehe den folgenden Abschnitt "Hinweise".)
cbSize
Vom Aufrufer bereitgestellte Größe des Puffers in Byte, auf den pBuffer-verweist.
pcbNeeded
Vom Anrufer bereitgestellter Zeiger auf einen Standort, um die erforderliche mindeste pBuffer- Größe zu empfangen.
Rückgabewert
Die Methode muss einen der folgenden Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang war erfolgreich. |
|
Fehler beim Vorgang. |
Bemerkungen
Ein Rendering-Plug-In für Unidrv muss die IPrintOemUni::DriverDMS
-Methode implementieren. Die Methode wird nur aufgerufen, wenn Unidrv einen gültigen Schnittstellenzeiger auf das Rendering-Plug-In des OEM findet.
Mit der IPrintOemUni::DriverDMS
-Methode kann ein Rendering-Plug-In angeben, dass es eine vom Gerät verwaltete Zeichnungsoberfläche anstelle der standardmäßigen GDI-verwalteten Oberfläche verwendet.
Die Methode muss HOOK_-präfixierten Flags im Puffer angeben, auf die durch pBuffer-verwiesen wird, und gibt an, welche der Grafik-DDI-Hookingfunktionen des Plug-Ins für die Zeichnungsoberfläche aufgerufen werden sollen. Die HOOK_präfix-Flags werden in winddi.h definiert und in der Beschreibung der EngAssociateSurface Funktion beschrieben. Durch IPrintOemUni::DriverDMS
angegebene Flags werden von Unidrv an EngAssociateSurface-übergeben. (Beachten Sie, dass für die Unterstützung einer geräteverwalteten Oberfläche das Rendering-Plug-In alle Zeichnungsfunktionen einbinden muss.) Weitere Informationen finden Sie unter Handling Device-Managed Surfaces.
Wenn IPrintOemUni::DriverDMS
Flags im Puffer festlegt, auf die pBuffer-verweist, erstellt Unidrv eine geräteverwaltete Oberfläche, indem EngCreateDeviceSurfaceaufgerufen wird. Wenn IPrintOemUni::DriverDMS
keine Flags festlegen, erstellt Unidrv eine GDI-verwaltete Oberfläche, indem EngCreateBitmap-aufgerufen wird. In einem dieser Fälle sollte IPrintOemUni::DriverDMS
S_OK zurückgeben.
Wenn die durch cbSize angegebene Ausgabepuffergröße zu klein ist, sollte die Methode die erforderliche Größe in der Position angeben, auf die pcbNeedverweist, rufen Sie SetLastError(ERROR_INSUFFICIENT_BUFFER) auf, und geben Sie E_FAIL zurück.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | prcomoem.h (einschließlich Prcomoem.h) |