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 的帶狀大小計算。
您可以藉由 Unidrv 停用帶狀作業,方法是將 dwPageHeight 值設定為 *pdwRequiredHeight,但您應該考慮轉譯外掛程式要求的高度值效能效果。 若要轉譯,Unidrv 至少需要藉由乘以 *pdwRequiredHeight 的 dwPageWidthBytes 來計算的內存量。 如果轉譯外掛程式支援 IPrintOemUni::D riverDMS 方法,且該方法傳回 「S_OK」, IPrintOemUni3::SetBandSize
則不會呼叫。
如果已定義這個方法,而且印表機的一般印表機描述 (GPD) 檔案 (表示在 GPD 檔案中包含 “*PreAnalysisOptions: 0”) 時,Unidrv 會呼叫此方法來計算訊號範圍大小。 如需 PreAnalysisOptions 屬性的相關信息,請參閱 預先分析基礎結構。
如果轉譯外掛程式支援 IPrintOemUni::D riverDMS ,且該方法會傳回S_OK, IPrintOemUni3::SetBandSize
則不會呼叫。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | prcomoem.h (包括 Prcomoem.h) |