Win32 API 日本語リファレンス
ホーム › Devices.Display › PFN_DrvBitBlt

PFN_DrvBitBlt

コールバック

シグネチャ

BOOL PFN_DrvBitBlt(
    SURFOBJ* param0,
    SURFOBJ* param1,
    SURFOBJ* param2,
    CLIPOBJ* param3,
    XLATEOBJ* param4,
    RECTL* param5,
    POINTL* param6,
    POINTL* param7,
    BRUSHOBJ* param8,
    POINTL* param9,
    DWORD param10
);

パラメーター

フィールド型
param0SURFOBJ*
param1SURFOBJ*
param2SURFOBJ*
param3CLIPOBJ*
param4XLATEOBJ*
param5RECTL*
param6POINTL*
param7POINTL*
param8BRUSHOBJ*
param9POINTL*
param10DWORD

公式ドキュメント

DrvBitBlt 関数は、デバイス管理サーフェス間、GDI 管理の標準形式ビットマップ間、またはデバイス管理サーフェスと GDI 管理の標準形式ビットマップとの間で、汎用的なビットブロック転送機能を提供します。

戻り値

ビットブロック転送操作が成功した場合、DrvBitBlt は TRUE を返します。それ以外の場合、この関数は FALSE を返し、エラーコードが記録されます。

解説(Remarks)

ドライバーが DrvBitBlt をフックしている場合、いずれかのサーフェスがデバイス管理サーフェスである BitBlt 操作を実行する必要があるときに、GDI はこの関数を呼び出します。ドライバーが不透明なデバイス管理ビットマップを実装する場合は、DrvBitBlt をフックする必要があります。それ以外の場合、DrvBitBlt のフックは省略可能です。ドライバーが指定された呼び出しを処理できない場合は、EngBitBlt を呼び出して、そのコールバックを DIB エンジンに委ねることができます。

GDI の CLIPOBJXxx サービスを使用すると、クリッピングを一連のクリッピング矩形にまで簡略化できます。また、平行移動ベクトルによってパレットのカラーインデックス変換が補助されます。

注意 ROP が必要であることを示していない限り、パラメーターのポインターを逆参照しないでください。たとえば、pbo-->iSolidColor を不必要に逆参照してはなりません。BLACKNESS のような ROP に対してこれを行うと、アクセス違反が発生する可能性があります。(この規則は、MIX パラメーターを含むすべての関数にも適用されます。)

ドライバーが、rop4 パラメーターに 0XCCAA が設定されたこの関数の呼び出しを受け取った場合、ドライバーはその呼び出しを EngBitBlt に委ね、その呼び出しに応じて適切にデバイスサーフェスを公開する必要があります。

ラスター操作の詳細については、Microsoft Windows SDK のドキュメントを参照してください。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)