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

以下两种方法之一可用于更新游标位置:

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

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)