ExtEscape

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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs