現在のメッセージに関連付けられたポインタ情報座標に対する 1 つ以上の変換を取得する。
GetPointerInputTransform pointerId, historyCount, inputTransform
pointerId : [int] 情報を取得する対象のポインタ識別子。 historyCount : [int] inputTransform が指せる INPUT_TRANSFORM 構造体の個数。この値は 1 以上かつ、GetPointerInfo, GetPointerTouchInfo, GetPointerPenInfo(単一入力変換の場合)または GetPointerInfoHistory, GetPointerTouchInfoHistory, GetPointerPenInfoHistory(入力変換配列の場合)が返す POINTER_INFO 構造体の historyCount 以下でなければならない。GetPointerInputTransform が成功した場合、利用可能な構造体の総数で inputTransform が更新される。この総数は POINTER_INFO 構造体の historyCount フィールドと同じ値である。 inputTransform : [var] 変換情報を受け取る INPUT_TRANSFORM 構造体配列のアドレス。このパラメータは NULL にできない。
(プラグイン / モジュール : user32.dll)
現在のメッセージに関連付けられたポインタ情報座標に対する 1 つ以上の変換を取得する。 [戻り値] 関数が成功した場合、戻り値は非ゼロである。関数が失敗した場合、戻り値はゼロである。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] ポインタ入力メッセージの利用側は通常、ScreenToClient や MapWindowPoints で画面座標をクライアント座標に変換する。メッセージ利用側で変換が適用されている場合、入力発生時点の変換を取得するには GetPointerInputTransform を使用する。その逆変換を使えば、ポインタ入力座標を画面座標からメッセージ利用側のクライアント座標へ変換できる。入力に変換が関連付けられていない場合、GetPointerInputTransform は最終エラー ERROR_NO_DATA で失敗する。代わりに ScreenToClient または MapWindowPoints を使う。入力変換は入力先の右から左レイアウト設定を考慮しない。右から左レイアウト用の座標補正が必要なアプリケーションは、自前でミラーリングするか、適切なミラーリング変換を入力変換と組み合わせる必要がある。 GetPointerInputTransform が返す情報は呼び出しスレッドがもっとも最近取得したポインタメッセージに関連付けられており、次のメッセージが取得されると失われる可能性がある。GetPointerInfo を呼んだ場合、同じポインタ ID と 1 要素の INPUT_TRANSFORM 出力バッファで GetPointerInputTransform を呼ぶことでそのデータに関連付けられた入力変換を取得できる。GetPointerFrameInfo を呼んだ場合も同様で、同一の入力変換がフレーム全体に適用される。GetPointerInfoHistory を呼んだ場合、同じポインタ ID と取得済みエントリを格納する出力バッファで GetPointerInputTransform を呼ぶことができる。返された配列内の各入力変換は GetPointerInfoHistory が返す対応エントリに適用できる。GetPointerFrameInfoHistory を呼んだ場合も同様で、返された配列内の各入力変換は GetPointerFrameInfoHistory が返す対応フレームに適用でき、同一の入力変換がフレーム全体に適用される。 メッセージに関連付けられた情報がもう利用できない場合、関数は失敗し最終エラーが ERROR_INVALID_PARAMETER に設定される。historyCount が GetPointerInfo が返す POINTER_INFO 構造体(あるいは GetPointerInfoHistory が返す配列の最初の POINTER_INFO 構造体)の historyCount より大きい値を含む場合、関数は失敗し最終エラーが ERROR_INVALID_PARAMETER に設定される。
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |