次の方法で共有


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 のバンド サイズの計算を使用するのではなく、プラグイン独自の計算を使用してバンド サイズを指定するためにレンダリング プラグインによって使用されます。

dwPageHeight 値を *pdwRequiredHeightに設定することで、Unidrv によるバンディング操作を無効にできますが、レンダリング プラグインが要求する高さの値のパフォーマンス効果を考慮する必要があります。 レンダリングの場合、Unidrv には少なくとも dwPageWidthBytes に *pdwRequiredHeightを乗算して計算されるメモリの量が必要です。 レンダリング プラグインが IPrintOemUni::D riverDMS メソッドをサポートし、そのメソッドが "S_OK" を返す場合、IPrintOemUni3::SetBandSize は呼び出されません。

このメソッドが定義されていて、プリンターの汎用プリンター記述 (GPD) ファイルが、事前分析が無効 (GPD ファイルに "*PreAnalysisOptions: 0" が含まれている) ことを示している場合、Unidrv はこのメソッドを呼び出してバンド サイズを計算します。 PreAnalysisOptions 属性の詳細については、「Preanalysis Infrastructure」を参照してください。

レンダリング プラグインが IPrintOemUni::D riverDMS サポートしていて、そのメソッドがS_OKを返す場合、IPrintOemUni3::SetBandSize は呼び出されません。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー prcomoem.h (Prcomoem.h を含む)