ホーム › Devices.Display › PFN_DrvDrawEscape
PFN_DrvDrawEscape
コールバックシグネチャ
DWORD PFN_DrvDrawEscape(
SURFOBJ* param0,
DWORD param1,
CLIPOBJ* param2,
RECTL* param3,
DWORD param4,
void* param5
);パラメーター
| フィールド | 型 |
|---|---|
| param0 | SURFOBJ* |
| param1 | DWORD |
| param2 | CLIPOBJ* |
| param3 | RECTL* |
| param4 | DWORD |
| param5 | void* |
公式ドキュメント
DrvDrawEscape 関数は、複数の関数呼び出しを受け持つエントリポイントです。どの機能が実行されるかは、iEsc パラメーターの値によって決まります。
戻り値
戻り値は、iEsc で指定された機能によって異なります。サポートされていない機能が呼び出された場合、ドライバーは 0xFFFFFFFF を返す必要があります。
解説(Remarks)
このエントリポイントは、CLIPOBJ 構造体が提供される点で DrvEscape とは異なります。これにより、ドライバーはウィンドウ環境で独自の描画関数を実装できます。
GDI は (悪意がある可能性のある) クライアントアプリケーションからのデータをドライバーへ直接渡します。そのため、DrvDrawEscape 関数はすべての入力引数を検証する必要があります。具体的には、この関数は次の処理を行う必要があります。
- iEsc パラメーターで受け取った値が有効なクエリを表していることを確認します。
- 入力バッファーのサイズ (cjIn パラメーターの値) が、指定されたクエリに対して有効であることを確認します。
- pvIn パラメーターが指すバッファーの内容が、指定されたクエリに対して有効であることを確認します。
Microsoft が予約しているエスケープコードの詳細については、DrvEscape を参照してください。
DrvDrawEscape は、すべてのドライバーで省略可能です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)