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

Die IPrintOemDriverUni::DrvXMoveTo -Methode wird vom Unidrv-Treiber bereitgestellt, damit ein Rendering-Plug-In den Treiber über Änderungen der x-Position des Cursors benachrichtigen kann.

Syntax

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

Parameter

pdevobj

Vom Aufrufer bereitgestellter Zeiger auf eine DEVOBJ-Struktur .

x

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 dwFlags definiert.

dwFlags

Mindestens eines der folgenden vom Aufrufer bereitgestellten Bitflags:

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

Wenn dieser Wert nicht festgelegt ist, wird der Wert des x-Parameters in master Einheiten ausgedrückt. Wenn z. B. die x master Einheit 600 und x 300 ist, ist die Bewegung ?? Zoll.

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

Wenn er nicht festgelegt ist, ist der Wert des x-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 x Einheiten von seiner aktuellen Position verschoben werden soll.

Wenn nicht festgelegt, gibt an, dass der Cursor x Einheiten von seinem Ursprung verschoben werden soll.

MV_UPDATE Wenn festgelegt, gibt an, dass Unidrv seine 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 verschieben soll.

[out] piResult

Empfängt das von der Methode bereitgestellte Ergebnis des Subtrahierens der tatsächlichen neuen Cursorposition von der angeforderten neuen Cursorposition. Dieser Wert kann 0 (null) sein, aber er ist immer nicht negativ.

Rückgabewert

Die -Methode muss einen der folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Der Vorgang wurde erfolgreich ausgeführt.
E_FAIL
Fehler beim Vorgang.
E_NOTIMPL
Die Methode ist nicht implementiert.

Hinweise

Die IPrintOemDriverUni::DrvXMoveToMethoden und IPrintOemDriverUni::D rvYMoveTo ermöglichen es einem Rendering-Plug-In, Bilddaten an den Druckerspooler zu senden, ohne dass der Druckertreiber den Überblick über die Cursorposition des Druckers verliert. Wenn Sie eine IPrintOemUni::ImageProcessing-Methode bereitstellen, die Bilddaten direkt an den Druckspooler sendet, anstatt sie an den Druckertreiber zurückzugeben, sollte die -Methode und IPrintOemDriverUni::DrvYMoveToaufrufenIPrintOemDriverUni::DrvXMoveTo.

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

  • Wenn eine IPrintOemUni::ImageProcessing-Methode die Cursorposition aktualisieren muss, kann sie oder IPrintOemDriverUni::DrvYMoveTo mit deaktiviertem MV_UPDATE-Flag aufrufenIPrintOemDriverUni::DrvXMoveTo. Dies bewirkt, dass Unidrv Cursorbefehle an den Druckspooler sendet und seine 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 ihren Spoolingvorgang abgeschlossen hat, kann sie oder aufrufen IPrintOemDriverUni::DrvXMoveTo , IPrintOemDriverUni::DrvYMoveTo wobei das flag MV_UPDATE festgelegt ist. Dies bewirkt, dass Unidrv seine interne Berechnung der aktuellen Cursorposition aktualisiert, ohne Cursorbefehle an den Druckspooler zu senden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile prcomoem.h (include Prcomoem.h)