ホーム › 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
);パラメーター
| フィールド | 型 |
|---|---|
| param0 | SURFOBJ* |
| param1 | SURFOBJ* |
| param2 | SURFOBJ* |
| param3 | CLIPOBJ* |
| param4 | XLATEOBJ* |
| param5 | RECTL* |
| param6 | POINTL* |
| param7 | POINTL* |
| param8 | BRUSHOBJ* |
| param9 | POINTL* |
| param10 | DWORD |
公式ドキュメント
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 の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)