Skip to content

Latest commit

 

History

History
186 lines (145 loc) · 5.83 KB

nf-prcomoem-iprintoemdriveruni-drvymoveto.md

File metadata and controls

186 lines (145 loc) · 5.83 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:prcomoem.IPrintOemDriverUni.DrvYMoveTo
IPrintOemDriverUni::DrvYMoveTo (prcomoem.h)
The IPrintOemDriverUni::DrvYMoveTo method is provided by the Unidrv driver so that a rendering plug-in can notify the driver of cursor y-position changes.
print\iprintoemdriveruni_drvymoveto.htm
print
04/20/2018
IPrintOemDriverUni::DrvYMoveTo
DrvYMoveTo, DrvYMoveTo method [Print Devices], DrvYMoveTo method [Print Devices],IPrintOemDriverUni interface, IPrintOemDriverUni interface [Print Devices],DrvYMoveTo method, IPrintOemDriverUni.DrvYMoveTo, IPrintOemDriverUni::DrvYMoveTo, prcomoem/IPrintOemDriverUni::DrvYMoveTo, print.iprintoemdriveruni_drvymoveto, print_unidrv-pscript_rendering_ebfa0991-ad14-4303-9702-2b19962da5e6.xml
prcomoem.h
Prcomoem.h
Desktop
Windows
IPrintOemDriverUni::DrvYMoveTo
prcomoem/IPrintOemDriverUni::DrvYMoveTo
APIRef
kbSyntax
COM
prcomoem.h
IPrintOemDriverUni::DrvYMoveTo

IPrintOemDriverUni::DrvYMoveTo

-description

The IPrintOemDriverUni::DrvYMoveTo method is provided by the Unidrv driver so that a rendering plug-in can notify the driver of cursor y-position changes.

-parameters

-param pdevobj

Caller-supplied pointer to a DEVOBJ structure.

-param y

Caller-supplied value representing the number of units the cursor should be moved. The unit is defined by the MV_GRAPHICS flags in dwFlags.

-param dwFlags

One or more of the following caller-supplied bit flags:

Flag Definition
MV_GRAPHICS If set, the y parameter's value is expressed in dots, based on the printer's current resolution. For example, if the y resolution is 150 DPI and y is 75, the movement is ?? inch.

If not set, the y parameter's value is expressed in master units. For example, if the y master unit is 600 and y is 300, the movement is ?? inch.

MV_PHYSICAL If set, the y parameter's value is relative to the cursor origin.

If not set, the y parameter's value is relative to the printable area's origin.

Cannot be set if MV_RELATIVE is set.

MV_RELATIVE If set, specifies that the cursor should be moved y units from its current position.

If not set, specifies that the cursor should be moved y units from its origin.

MV_UPDATE If set, specifies that Unidrv should update its current calculation of the cursor position without actually moving the cursor. (Should be set if IPrintOemUni::ImageProcessing has moved the cursor.)

If not set, specifies that Unidrv should update its current calculation of the cursor position and also move the cursor.

-param piResult [out]

Receives the method-supplied result of subtracting the actual new cursor position from the requested new cursor position. This value might be zero, but it is always nonnegative.

-returns

The method must return one of the following values.

Return code Description
S_OK
The operation succeeded.
E_FAIL
The operation failed.
E_NOTIMPL
The method is not implemented.

-remarks

The IPrintOemDriverUni::DrvXMoveTo and IPrintOemDriverUni::DrvYMoveTo methods allow a rendering plug-in to send image data to the printer spooler without causing the printer driver to lose track of the printer's cursor position. If you provide an IPrintOemUni::ImageProcessing method that sends image data directly to the print spooler instead of returning it to the printer driver, the method should call IPrintOemDriverUni::DrvXMoveTo and IPrintOemDriverUni::DrvYMoveTo.

Either of two techniques can be used for updating the cursor position:

  • Whenever an IPrintOemUni::ImageProcessing method needs to update the cursor position, it can call IPrintOemDriverUni::DrvXMoveTo or IPrintOemDriverUni::DrvYMoveTo with the MV_UPDATE flag cleared. This causes Unidrv to send cursor commands to the print spooler and to update its internal calculation of the current cursor position.
  • The IPrintOemUni::ImageProcessing method can update the cursor by sending cursor commands directly to the print spooler. When the method has finished its spooling operation, it can call IPrintOemDriverUni::DrvXMoveTo or IPrintOemDriverUni::DrvYMoveTo with the MV_UPDATE flag set. This causes Unidrv to update its internal calculation of the current cursor position without sending cursor commands to the print spooler.