共用方式為


EngBitBlt 函式 (winddi.h)

EngBitBlt函式提供裝置管理介面之間或裝置管理介面與 GDI 管理標準格式點陣圖之間的一般位區塊傳輸功能。

語法

ENGAPI BOOL EngBitBlt(
       SURFOBJ  *psoTrg,
       SURFOBJ  *psoSrc,
       SURFOBJ  *psoMask,
       CLIPOBJ  *pco,
       XLATEOBJ *pxlo,
       RECTL    *prclTrg,
       POINTL   *pptlSrc,
       POINTL   *pptlMask,
       BRUSHOBJ *pbo,
       POINTL   *pptlBrush,
  [in] ROP4     rop4
);

參數

psoTrg

SURFOBJ結構的指標,可識別要繪製的介面。

psoSrc

如果 rop4 需要它,則指向定義位區塊傳輸作業來源的 SURFOBJ 結構指標。

psoMask

SURFOBJ 結構的指標,定義要當做遮罩使用的介面。 遮罩會定義為每個圖元 1 位的點陣圖。 一般而言,遮罩會限制目的地介面中要修改的區域。 遮罩是由 rop4 選取,其值為 0xAACC。 當遮罩為零時,目的地表面不會受到影響。

遮罩夠大,足以涵蓋目的地矩形。

如果此參數的值是 Null ,且 rop4需要遮罩,則會使用筆刷中的隱含遮罩。 如果需要遮罩, psoMask 會覆寫筆刷中的隱含遮罩。

pco

CLIPOBJ結構的指標。 系統會提供 CLIPOBJ_Xxx服務常式,以將剪輯區域列舉為一組矩形。 此列舉會限制將修改之目的地的區域。 可能的話,GDI 可簡化涉及的裁剪;例如,永遠不會使用單一裁剪矩形呼叫此函式。 GDI 會先裁剪目的地矩形,再呼叫此函式,因此不需要進行額外的裁剪。

pxlo

XLATEOBJ結構的指標,指出來源和目標介面之間應該如何轉譯色彩索引。

prclTrg

目的地介面座標系統中 RECTL 結構的指標,定義要修改的區域。 矩形是由兩個點所定義;左上方和右下角。 這個矩形的下邊緣和右邊緣不是位區塊傳輸的一部分,這表示矩形是右下角獨佔的。

EngBitBlt 永遠不會使用空的目的地矩形呼叫。 定義矩形的兩個點一律會妥善排序。

pptlSrc

如果來源存在,則定義來源矩形左上角的 POINTL 結構的指標。 如果沒有來源,驅動程式應該忽略此參數。

pptlMask

POINTL 結構的指標,定義遮罩中的哪個圖元對應至目的地矩形的左上角。 如果 psoMask 中未指定遮罩,驅動程式應該忽略此參數。

pbo

要用來定義位區塊傳輸模式的 BRUSHOBJ 結構的指標。 GDI 的BRUSHOBJ_pvGetRbrush 服務常式會擷取裝置的筆刷實現。 如果 rop4 參數不需要模式,驅動程式可以忽略此參數。

pptlBrush

POINTL結構的指標,定義目的地介面中的筆刷原點。 筆刷的左上方圖元此時對齊,筆刷會根據其維度重複。 如果 rop4 參數不需要模式,請忽略此參數。

[in] rop4

表示點陣作業,定義遮罩、圖樣、來源和目的地圖元的結合方式,以將輸出圖元寫入目的地介面。

這是四元數點陣運算,這是一般三元 Rop3 作業的自然延伸。 Rop4 有 16 個相關位,類似于 Rop3 的 8 個定義位。 (忽略另一個 Rop3 的備援位。) 實作 Rop4 的最簡單方式是個別考慮其 2 個位元組。 下層位元組會指定應該在遮罩為 1 的位置計算的 Rop3。 高位元組指定可在遮罩為 0 的位置計算並套用的 Rop3。

傳回值

如果函式成功,則傳回值為 TRUE 。 否則,它會是 FALSE,並記錄錯誤碼。

備註

如果裝置的介面組織成標準格式點陣圖,驅動程式可以呼叫 EngBitBlt來要求 GDI 執行位區塊傳輸。 如果驅動程式有特殊硬體可快速處理簡單傳輸,但不想處理具有複雜傳輸的呼叫,則驅動程式可能會這麼做。

如需點陣作業的詳細資訊,請參閱Microsoft Windows SDK檔。

規格需求

   
最低支援的用戶端 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。
目標平台 Universal
標頭 winddi.h (包括 Winddi.h)
程式庫 Win32k.lib
Dll Win32k.sys

另請參閱

BRUSHOBJ

BRUSHOBJ_pvGetRbrush

CLIPOBJ

DrvBitBlt

EngAssociateSurface

SURFOBJ

XLATEOBJ