IPrintOemDriverUni::D rvYMoveTo 方法 (prcomoem.h)

IPrintOemDriverUni::DrvYMoveTo 方法由 Unidrv 驱动程序提供,以便 呈现插件 可以通知驱动程序游标 y 位置更改。

语法

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

参数

pdevobj

调用方提供的指向 DEVOBJ 结构的指针。

y

表示游标应移动的单位数的调用方提供的值。 该单元由 dwFlags中的MV_GRAPHICS标志定义。

dwFlags

以下调用方提供的位标志之一或多项:

定义
MV_GRAPHICS 如果设置,则 y 参数的值以点表示,具体取决于打印机的当前分辨率。 例如,如果 y 分辨率为 150 DPI,y 为 75,则移动为 ?? 英寸。

如果未设置,则 y 参数的值以主单位表示。 例如,如果 y 主单元为 600,y 为 300,则移动为 ?? 英寸。

MV_PHYSICAL 如果设置,则 y 参数的值相对于游标原点。

如果未设置,则 y 参数的值相对于可打印区域的原点。

如果设置了MV_RELATIVE,则无法设置。

MV_RELATIVE 如果已设置,则指定应 y 单位从当前位置移动游标。

如果未设置,则指定应 y 单位从其原点移动游标。

MV_UPDATE 如果已设置,则指定 Unidrv 应更新其当前游标位置的计算,而无需实际移动游标。 (如果 IPrintOemUni::ImageProcessing 移动了光标,则应设置该设置。

如果未设置,则指定 Unidrv 应更新其当前游标位置的计算,并移动游标。

[out] piResult

接收从请求的新游标位置中减去实际新游标位置的方法提供的结果。 此值可能为零,但始终为非负值。

返回值

该方法必须返回以下值之一。

返回代码 描述
S_OK
作成功。
E_FAIL
作失败。
E_NOTIMPL
未实现该方法。

言论

IPrintOemDriverUni::D rvXMoveToIPrintOemDriverUni::DrvYMoveTo 方法允许呈现插件将图像数据发送到打印机后台处理程序,而不会导致打印机驱动程序失去对打印机光标位置的跟踪。 如果提供了 IPrintOemUni::ImageProcessing 方法,该方法将图像数据直接发送到打印后台处理程序,而不是将其返回到打印机驱动程序,则该方法应调用 IPrintOemDriverUni::DrvXMoveToIPrintOemDriverUni::DrvYMoveTo

这两种技术之一可用于更新游标位置:

  • 每当 IPrintOemUni::ImageProcessing 方法需要更新游标位置时,都可以使用清除MV_UPDATE标志调用 IPrintOemDriverUni::DrvXMoveToIPrintOemDriverUni::DrvYMoveTo。 这会导致 Unidrv 将游标命令发送到打印后台处理程序,并更新其当前游标位置的内部计算。
  • IPrintOemUni::ImageProcessing 方法可以通过将游标命令直接发送到打印后台处理程序来更新游标。 方法完成后台处理程序作后,可以使用设置MV_UPDATE标志调用 IPrintOemDriverUni::DrvXMoveToIPrintOemDriverUni::DrvYMoveTo。 这会导致 Unidrv 更新当前游标位置的内部计算,而不向打印后台处理程序发送游标命令。

要求

要求 价值
目标平台 桌面
标头 prcomoem.h (include Prcomoem.h)