Freigeben über


IPrintOemDriverUni::D rvYMoveTo-Methode (prcomoem.h)

Die IPrintOemDriverUni::DrvYMoveTo Methode wird vom Unidrv-Treiber bereitgestellt, sodass ein Rendering-Plug-In den Treiber über Änderungen der Cursorposition benachrichtigen kann.

Syntax

HRESULT DrvYMoveTo(
        PDEVOBJ pdevobj,
        INT     y,
        DWORD   dwFlags,
  [out] OUT INT *piResult
);

Parameter

pdevobj

Vom Aufrufer bereitgestellter Zeiger auf eine DEVOBJ- Struktur.

y

Vom Aufrufer bereitgestellter Wert, der die Anzahl der Einheiten darstellt, die der Cursor verschoben werden soll. Die Einheit wird durch die MV_GRAPHICS Flags in dwFlagsdefiniert.

dwFlags

Mindestens eines der folgenden vom Aufrufer bereitgestellten Bit-Flags:

Flagge Definition
MV_GRAPHICS Wenn festgelegt, wird der Wert des y Parameters in Punkten ausgedrückt, basierend auf der aktuellen Auflösung des Druckers. Wenn die y-Auflösung beispielsweise 150 DPI beträgt und y 75 ist, lautet die Bewegung ?? Zoll.

Wenn nicht festgelegt, wird der Wert des y Parameters in Mastereinheiten ausgedrückt. Wenn z. B. die y-Mastereinheit 600 ist und y 300 ist, lautet die Bewegung ?? Zoll.

MV_PHYSICAL Wenn festgelegt, ist der Wert des y Parameters relativ zum Cursorursprung.

Wenn nicht festgelegt, ist der Wert des y Parameters relativ zum Ursprung des druckbaren Bereichs.

Kann nicht festgelegt werden, wenn MV_RELATIVE festgelegt ist.

MV_RELATIVE Wenn festgelegt, gibt an, dass der Cursor y Einheiten von der aktuellen Position verschoben werden soll.

Wenn sie nicht festgelegt ist, wird angegeben, dass der Cursor y Einheiten vom Ursprung verschoben werden soll.

MV_UPDATE Wenn festgelegt, gibt an, dass Unidrv die aktuelle Berechnung der Cursorposition aktualisieren soll, ohne den Cursor tatsächlich zu verschieben. (Sollte festgelegt werden, wenn IPrintOemUni::ImageProcessing den Cursor verschoben hat.)

Wenn nicht festgelegt, gibt an, dass Unidrv die aktuelle Berechnung der Cursorposition aktualisieren und den Cursor auch verschieben soll.

[out] piResult

Empfängt das von der Methode bereitgestellte Ergebnis, um die tatsächliche neue Cursorposition von der angeforderten neuen Cursorposition zu subtrahieren. Dieser Wert kann null sein, aber er ist immer nichtegativ.

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 den IPrintOemDriverUni::D rvXMoveTo und IPrintOemDriverUni::DrvYMoveTo Methoden kann ein Rendering-Plug-In Bilddaten an den Druckerspooler senden, ohne dass der Druckertreiber die Cursorposition des Druckers verliert. Wenn Sie eine IPrintOemUni::ImageProcessing Methode bereitstellen, die Bilddaten direkt an den Druckpooler sendet, anstatt sie an den Druckertreiber zurückzugeben, sollte die Methode IPrintOemDriverUni::DrvXMoveTo und IPrintOemDriverUni::DrvYMoveToaufrufen.

Eine der beiden Techniken kann zum Aktualisieren der Cursorposition verwendet werden:

  • Wenn eine IPrintOemUni::ImageProcessing- Methode die Cursorposition aktualisieren muss, kann sie IPrintOemDriverUni::DrvXMoveTo oder IPrintOemDriverUni::DrvYMoveTo mit deaktiviertem MV_UPDATE-Flag aufrufen. Dies bewirkt, dass Unidrv Cursorbefehle an den Druckspooler sendet und die interne Berechnung der aktuellen Cursorposition aktualisiert.
  • Die IPrintOemUni::ImageProcessing Methode kann den Cursor aktualisieren, indem Cursorbefehle direkt an den Druckspooler gesendet werden. Wenn die Methode den Spoolingvorgang abgeschlossen hat, kann sie IPrintOemDriverUni::DrvXMoveTo oder IPrintOemDriverUni::DrvYMoveTo mit dem MV_UPDATE Flagsatz aufrufen. Dies bewirkt, dass Unidrv die interne Berechnung der aktuellen Cursorposition aktualisiert, ohne Cursorbefehle an den Druckspooler zu senden.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- prcomoem.h (einschließlich Prcomoem.h)