現在のメッセージに関連付けられた指定ポインタ(PT_PEN 型)のペンベースのフレーム情報全体を取得する。
GetPointerFramePenInfo pointerId, pointerCount, penInfo
pointerId : [int] フレーム情報を取得する対象のポインタ識別子。 pointerCount : [var] penInfo が指すバッファ内の構造体数を指定する変数へのポインタ。GetPointerFramePenInfo が成功した場合、フレーム内のポインタ総数で pointerCount が更新される。 penInfo : [var] ポインタ情報を受け取る POINTER_PEN_INFO 構造体配列のアドレス。*pointerCount がゼロの場合は NULL でもよい。
(プラグイン / モジュール : user32.dll)
現在のメッセージに関連付けられた指定ポインタ(PT_PEN 型)のペンベースのフレーム情報全体を取得する。 [戻り値] 関数が成功した場合、戻り値は非ゼロである。関数が失敗した場合、戻り値はゼロである。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] 並列モードデバイスは、複数ポインタの状態と位置を 1 つの入力レポートとしてシステムに報告することがある。原則としてアプリケーションはフレーム全体を 1 つの入力単位として扱うべきである。GetPointerFramePenInfo は、ポインタ(PT_PEN 型)メッセージに関連付けられたポインタ入力フレーム全体を取得する。単一ポインタの情報を取得するには GetPointerPenInfo を使用する。フレームには、指定ポインタと同じウィンドウが現在所有するポインタのみが含まれる。GetPointerFrameInfo が返す情報は呼び出しスレッドがもっとも最近取得したポインタメッセージに関連付けられており、次のメッセージが取得されると失われる可能性がある。 アプリケーションがポインタ入力メッセージを生成速度ほど速く処理できない場合、一部のメッセージが WM_POINTERUPDATE メッセージに統合されることがある。直近の WM_POINTERUPDATE メッセージからメッセージ履歴を取得するには GetPointerFramePenInfoHistory を使用する。フレーム全体を取得した後は SkipPointerFrameMessages を呼んで残りのポインタメッセージをスキップできる。ただし SkipPointerFrameMessages は同一スレッドの他のエンティティが個別にメッセージを受け取ることを期待していないと確実な場合にのみ慎重に使うべきである。取得される情報は呼び出しスレッドがもっとも最近取得したポインタフレームに関連付けられるため、次のメッセージが取得されると失われる可能性がある。フレームに指定ポインタ以外のポインタが含まれない場合、関数は成功して指定ポインタの情報のみを返す。フレーム情報がもう利用できない場合、関数は失敗し最終エラーが ERROR_NO_DATA に設定される。呼び出しスレッドがポインタメッセージが配信されたウィンドウを所有していない場合、関数は失敗し最終エラーが ERROR_ACCESS_DENIED に設定される。指定ポインタが PT_PEN 型でない場合、関数は失敗し最終エラーが ERROR_DATATYPE_MISMATCH に設定される。 クライアント領域と非クライアント領域の両方を持つアプリでは、入力フレームに両方のデータが含まれることがある。両者を区別するには対象ウィンドウに対してヒットテストを行う必要がある。入力フレームからデータを絞り込みたい場合は次を推奨する。 (以下省略)
| プラグイン / モジュール | 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 |