Escape

アプリケーションが GDI 経由で利用できないシステム定義のデバイス機能にアクセスできるようにする。

Escape hdc, iEscape, cjIn, pvIn, pvOut

hdc : [intptr] デバイスコンテキストのハンドル。
iEscape : [int] 実行するエスケープ関数。このパラメータには備考に列挙された定義済みエスケープ値のいずれかを指定しなければならない。アプリケーション独自のエスケープ値を使用する場合は ExtEscape 関数を利用する。
cjIn : [int] lpvInData パラメータが指すデータのバイト数。0 を指定することもできる。
pvIn : [str] 指定エスケープに必要な入力構造体へのポインタ。
pvOut : [intptr] このエスケープからの出力を受け取る構造体へのポインタ。データが返されない場合は NULL を指定する。

(プラグイン / モジュール : gdi32.dll)

解説

アプリケーションが GDI 経由で利用できないシステム定義のデバイス機能にアクセスできるようにする。

[戻り値]
関数が成功した場合、戻り値は 0 より大きい(ただし QUERYESCSUPPORT
プリンタエスケープの場合は実装の有無のみを確認する)。エスケープが実装されていない場合の戻り値は 0
である。関数が失敗した場合、戻り値はシステムエラーコードとなる。

[備考]
注意
これはブロッキング(同期)関数であり、すぐには戻らない可能性がある。戻るまでの時間は、ネットワーク状態、プリントサーバの構成、プリンタドライバの実装など、アプリケーション側では予測しにくい実行時要因に依存する。ユーザインタフェースを管理するスレッドからこの関数を呼び出すと、アプリケーションが応答不能に見えることがある。cbInput
に 0 を渡したときの動作は、nEscape
の値とエスケープを処理するドライバに依存する。元々のプリンタエスケープのうち、使用可能なのは以下のものだけである。
(以下省略)

情報

プラグイン / モジュール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