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

整數值,指定位圖格式,以每個必要圖元的色彩資訊位數來指定。 此參數可以是下列其中一個值。

意義
BMF_1BPP
單色
BMF_4BPP
每個像素 4 位
BMF_8BPP
每個像素8位
BMF_16BPP
每個像素 16 位
BMF_24BPP
每個像素 24 位
BMF_32BPP
每個像素32位
BMF_4RLE
每個圖元 4 位;執行長度編碼
BMF_8RLE
每個像素8位;執行長度編碼

[in] dwPageWidthBytes

Unidrv 提供的值,指定列印區域的寬度,以位元組為單位。

[in] dwPageHeight

Unidrv 提供的值,指定列印區域的高度,以像素為單位。

[in] dwMaxHeight

Unidrv 提供的值,指定列印區域的最大允許高度,以像素為單位。

[in] pdwRequiredHeight

DWORD 的呼叫端提供的指標,其中包含轉譯外掛程式所需的列印區域高度,以像素為單位。

傳回值

方法必須傳回下列其中一個值:

傳回碼 描述
S_OK
作業成功。 請參閱附註。
E_FAIL
作業失敗。 請參閱附註。
E_NOTIMPL
Unidrv 應該計算帶狀大小。

備註

這個方法可在 Windows Vista 和更新版本中使用。

這個方法是由轉譯外掛程式使用,以使用外掛程式自己的計算來指定頻號大小,而不是使用 Unidrv 的帶狀大小計算。

您可以藉由 Unidrv 停用帶狀作業,方法是將 dwPageHeight 值設定為 *pdwRequiredHeight,但您應該考慮轉譯外掛程式要求的高度值效能效果。 若要轉譯,Unidrv 至少需要藉由乘以 *pdwRequiredHeightdwPageWidthBytes 來計算的內存量。 如果轉譯外掛程式支援 IPrintOemUni::D riverDMS 方法,且該方法傳回 「S_OK」, IPrintOemUni3::SetBandSize 則不會呼叫。

如果已定義這個方法,而且印表機的一般印表機描述 (GPD) 檔案 (表示在 GPD 檔案中包含 “*PreAnalysisOptions: 0”) 時,Unidrv 會呼叫此方法來計算訊號範圍大小。 如需 PreAnalysisOptions 屬性的相關信息,請參閱 預先分析基礎結構

如果轉譯外掛程式支援 IPrintOemUni::D riverDMS ,且該方法會傳回S_OK, IPrintOemUni3::SetBandSize 則不會呼叫。

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包括 Prcomoem.h)