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
接收从请求的新游标位置中减去实际新游标位置的方法提供的结果。 此值可能为零,但始终为非负值。
返回值
该方法必须返回以下值之一。
返回代码 | 描述 |
---|---|
|
作成功。 |
|
作失败。 |
|
未实现该方法。 |
言论
IPrintOemDriverUni::D rvXMoveTo 和 IPrintOemDriverUni::DrvYMoveTo
方法允许呈现插件将图像数据发送到打印机后台处理程序,而不会导致打印机驱动程序失去对打印机光标位置的跟踪。 如果提供了 IPrintOemUni::ImageProcessing 方法,该方法将图像数据直接发送到打印后台处理程序,而不是将其返回到打印机驱动程序,则该方法应调用 IPrintOemDriverUni::DrvXMoveTo
和 IPrintOemDriverUni::DrvYMoveTo
。
这两种技术之一可用于更新游标位置:
-
每当 IPrintOemUni::ImageProcessing 方法需要更新游标位置时,都可以使用清除MV_UPDATE标志调用
IPrintOemDriverUni::DrvXMoveTo
或IPrintOemDriverUni::DrvYMoveTo
。 这会导致 Unidrv 将游标命令发送到打印后台处理程序,并更新其当前游标位置的内部计算。 -
IPrintOemUni::ImageProcessing 方法可以通过将游标命令直接发送到打印后台处理程序来更新游标。 方法完成后台处理程序作后,可以使用设置MV_UPDATE标志调用
IPrintOemDriverUni::DrvXMoveTo
或IPrintOemDriverUni::DrvYMoveTo
。 这会导致 Unidrv 更新当前游标位置的内部计算,而不向打印后台处理程序发送游标命令。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |