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

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

语法

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

参数

pdevobj

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

x

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

dwFlags

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

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

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

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

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

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

MV_RELATIVE 如果设置,则指定光标应从当前位置移动 x 个单位。

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

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

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

[out] piResult

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

返回值

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

返回代码 说明
S_OK
操作成功。
E_FAIL
此操作失败。
E_NOTIMPL
该方法未实现。

注解

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

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

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

要求

   
目标平台 桌面
Header prcomoem.h (包括 Prcomoem.h)