STROBJ_bEnumPositionsOnly 関数は、指定したテキスト文字列のグリフのアイデンティティと位置を列挙するが、キャッシュ済みグリフビットマップは作成しない。
STROBJ_bEnumPositionsOnly pstro, pc, ppgpos
pstro : [var] テキスト文字列を記述する STROBJ 構造体への呼び出し元が提供するポインタ。これは通常、ドライバの DrvTextOut 関数が受け取る STROBJ 構造体である。 pc : [var] ppgpos が指すポインタが指す GLYPHPOS 構造体の数を GDI から受け取る、呼び出し元が提供するアドレス。 ppgpos : [var] GLYPHPOS 構造体の配列への GDI 提供のポインタを受け取る、呼び出し元が提供するアドレス(後述の「解説」セクションを参照)。
(プラグイン / モジュール : gdi32.dll)
STROBJ_bEnumPositionsOnly 関数は、指定したテキスト文字列のグリフのアイデンティティと位置を列挙するが、キャッシュ済みグリフビットマップは作成しない。 [戻り値] 列挙するグリフがまだある場合、戻り値は TRUE となる。列挙が完了した場合は FALSE となる。グリフを列挙できない場合、戻り値は DDI_ERROR となり、エラーコードがログに記録される。 [備考] STROBJ_bEnumPositionsOnly 関数は通常、ドライバの DrvTextOut 関数内から呼び出される。STROBJ_bEnum と同じ動作を実行するが、1 つ重要な違いがある ? GDI はグリフのキャッシュ済みビットマップを作成しない。STROBJ_bEnum 関数は、ドライバが最終的にこれらのビットマップを必要とすると仮定する。しかし、多くの新しいプリンタは内部ラスタライザを持ち、グリフのレンダリングに GDI を必要としない。そのようなプリンタの場合、サーバメモリ内でのグリフビットマップの自動レンダリングとキャッシュを排除することで、処理時間とメモリ割り当ての両方で大幅な節約が得られる。内部グリフラスタライズをサポートするプリンタでは、次のルールに従うべきである: (以下省略)
| プラグイン / モジュール | 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 |