ExtEscape 関数は、アプリケーションが GDI 経由で利用できないデバイス機能にアクセスできるようにする。
ExtEscape hdc, iEscape, cjInput, lpInData, cjOutput, lpOutData
hdc : [intptr] デバイスコンテキストのハンドル。 iEscape : [int] 実行するエスケープ関数。以下のいずれか、またはアプリケーション定義のエスケープ関数を指定できる。 cjInput : [int] lpszInData パラメータが指すデータのバイト数。 lpInData : [str] 指定エスケープに必要な入力構造体へのポインタ。備考も参照。 cjOutput : [int] lpszOutData パラメータが指すデータのバイト数。 lpOutData : [str] このエスケープからの出力を受け取る構造体へのポインタ。ExtEscape をクエリ関数として呼ぶ場合、このパラメータは NULL であってはならない。この構造体にデータを返さない場合は、cbOutput に 0 を指定する。備考も参照。
(プラグイン / モジュール : gdi32.dll)
ExtEscape 関数は、アプリケーションが GDI 経由で利用できないデバイス機能にアクセスできるようにする。 [戻り値] 戻り値は関数の結果を示す。関数が成功した場合は 0 より大きい値となる(ただし QUERYESCSUPPORT プリンタエスケープの場合は実装の有無のみを確認する)。エスケープが実装されていない場合、戻り値は 0 である。戻り値が 0 未満の場合はエラーを示す。 [備考] 注意 これはブロッキング(同期)関数であり、すぐには戻らない可能性がある。戻るまでの時間は、ネットワーク状態、プリントサーバの構成、プリンタドライバの実装など、アプリケーション側では予測しにくい実行時要因に依存する。ユーザインタフェースを管理するスレッドからこの関数を呼び出すと、アプリケーションが応答不能に見えることがある。この関数はドライバ定義のエスケープ値をデバイスに渡すために使用する。システム定義のエスケープ値(nEscape で定義された値を除く)を渡すには Escape 関数を使用する。ExtEscape はシステム定義エスケープでは正しく動作しない場合がある。特に、lpszInData がポインタを含む構造体へのポインタであるようなエスケープは失敗する。ここで説明する動作は期待される動作だが、このモデルに従うかはドライバ次第である。lpszInData と lpszOutData が参照する変数は同じでも重なってもいけない。入力と出力のバッファサイズ変数が重なっていると、呼び出し後に正しい値にならない可能性がある。最良の結果を得るには、lpszInData と lpszOutData は別々の変数を参照すべきである。CHECKJPEGFORMAT プリンタエスケープ関数は、プリンタが JPEG 画像の印刷をサポートしているかを判定する。CHECKJPEGFORMAT プリンタエスケープを使用する前に、QUERYESCSUPPORT プリンタエスケープを呼び出してドライバが CHECKJPEGFORMAT をサポートするかを確認すること。CHECKJPEGFORMAT の使用例は、「プリンタの JPEG/PNG サポートのテスト」を参照。CHECKPNGFORMAT プリンタエスケープ関数は、プリンタが PNG 画像の印刷をサポートしているかを判定する。CHECKPNGFORMAT を使用する前に、QUERYESCSUPPORT プリンタエスケープを呼び出してドライバがサポートするかを確認すること。サンプルコードは「プリンタの JPEG/PNG サポートのテスト」を参照。DRAWPATTERNRECT プリンタエスケープは、Hewlett-Packard LaserJet または LaserJet 互換プリンタ上で Page Control Language (PCL) のパターンと罫線機能を使い、白、グレースケール、または塗りつぶしの黒い矩形を作成する。グレースケールとは、白黒ピクセルを特定の比率で混合したグレーのパターンである。DRAWPATTERNRECT エスケープを使用する前に、アプリケーションは QUERYESCSUPPORT エスケープで、プリンタがパターンや罫線を描画できるかを確認すべきである。 (以下省略)
| プラグイン / モジュール | gdi32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_gdi32_gen2.hs |