IPrintOemUni3::SetBandSize 方法(prcomoem.h)
IPrintOemUni3::SetBandSize
方法可与 Unidrv 支持的打印机一起使用,以指定打印输出中所需的带段大小。
语法
HRESULT SetBandSize(
[in] PDEVOBJ pdevobj,
[in] INT iFormat,
[in] DWORD dwPageWidthBytes,
[in] DWORD dwPageHeight,
[in] DWORD dwMaxHeight,
[in] PDWORD pdwRequiredHeight
);
参数
[in] pdevobj
调用方提供的指向 DEVOBJ 结构的指针。
[in] iFormat
一个整数值,该值指定位图的格式,以每个像素所需的颜色信息位数。 此参数可以是下列值之一。
价值 | 意义 |
---|---|
|
单色 |
|
每个像素 4 位 |
|
每个像素 8 位 |
|
每个像素 16 位 |
|
每个像素 24 位 |
|
每个像素 32 位 |
|
每个像素 4 位;运行长度编码 |
|
每个像素 8 位;运行长度编码 |
[in] dwPageWidthBytes
一个 Unidrv 提供的值,该值指定打印区域的宽度(以字节为单位)。
[in] dwPageHeight
一个 Unidrv 提供的值,该值指定打印区域的高度(以像素为单位)。
[in] dwMaxHeight
一个 Unidrv 提供的值,该值指定打印区域的最大允许高度(以像素为单位)。
[in] pdwRequiredHeight
一个调用方提供的指向 DWORD 的指针,其中包含呈现插件所需的打印区域的高度(以像素为单位)。
返回值
该方法必须返回以下值之一:
返回代码 | 描述 |
---|---|
|
作成功。 请参阅注释。 |
|
作失败。 请参阅注释。 |
|
Unidrv 应计算带状大小。 |
言论
此方法在 Windows Vista 及更高版本中可用。
此方法由呈现插件用来使用插件自己的计算来指定带大小,而不是使用 Unidrv 的带大小计算。
可以通过将 dwPageHeight 值设置为 *pdwRequiredHeight来禁用 Unidrv 的带带作,但应考虑呈现插件请求的高度值的性能效果。 为了呈现,Unidrv 至少需要通过将 dwPageWidthBytes 乘以 *pdwRequiredHeight计算的内存量。 如果呈现插件支持 IPrintOemUni::D riverDMS 方法,并且该方法返回“S_OK”,则不会调用 IPrintOemUni3::SetBandSize
。
如果定义了此方法,并且打印机的通用打印机说明(GPD)文件指示已禁用预分析(GPD 文件包括“*PreAnalysisOptions: 0”),Unidrv 调用此方法来计算带大小。 有关 PreAnalysisOptions 属性的信息,请参阅 预分析基础结构。
如果呈现插件支持 IPrintOemUni::D riverDMS 并且该方法返回S_OK,则不会调用 IPrintOemUni3::SetBandSize
。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |