GetPointerInfoHistory 関数 (winuser.h)
指定したポインターの現在のメッセージに結合された個々の入力に関連付けられた情報 (存在する場合) を取得します。 最新の入力は返された履歴に含まれ、 GetPointerInfo 関数によって返される最新の入力と同じです。
構文
BOOL GetPointerInfoHistory(
[in] UINT32 pointerId,
[in, out] UINT32 *entriesCount,
[out, optional] POINTER_INFO *pointerInfo
);
パラメーター
[in] pointerId
情報を取得するポインターの識別子。
[in, out] entriesCount
pointerInfo が指すバッファー内の構造体の数を指定する変数へのポインター。 GetPointerInfoHistory が成功した場合、entriesCount は使用可能な構造体の合計数で更新されます。 使用可能な構造体の合計数は、GetPointerInfo の呼び出しによって返されるPOINTER_INFO構造体の historyCount フィールドと同じです。
[out, optional] pointerInfo
ポインター情報を受信 するPOINTER_INFO 構造体の配列のアドレス。 *entriesCount が 0 の場合、このパラメーターは NULL にすることができます。
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
アプリケーションがポインター入力メッセージを生成ほど速く処理しない場合は、一部の移動が結合される可能性があります。 アプリケーションは、結合可能なポインター メッセージを受信すると、 GetPointerInfoHistory 関数を使用して、メッセージに結合されたすべての個々の入力 (存在する場合) の情報を取得できます。 取得された情報は、呼び出し元のスレッドによって最後に取得されたポインター メッセージに関連付けられていることに注意してください。 呼び出し元のスレッドが次のメッセージを取得すると、前のメッセージに関連付けられた情報が使用できなくなる可能性があります。
取得された情報は、逆の時系列順に表示され、返される配列の最初の行に最新のエントリが表示されます。 最新のエントリは、 GetPointerInfo 関数によって返されるエントリと同じです。
指定されたバッファー内の行数が、使用可能なすべての履歴エントリを保持するのに不十分な場合、この関数は、最新のエントリを含むバッファーと、使用可能なエントリの合計数を含む *entriesCount で成功します。
ポインター フレームに、指定したポインター以外に追加のポインターが含まれない場合、この関数は成功し、指定されたポインターの情報のみを返します。
ポインター フレームに関連付けられている情報が使用できなくなった場合、この関数は最後のエラーが ERROR_NO_DATA に設定されて失敗します。
呼び出し元のスレッドが、ポインター メッセージが配信されたウィンドウ (入力が最初に配信されたウィンドウ、またはメッセージが転送された場所) を所有していない場合、この関数は最後のエラーを ERROR_ACCESS_DENIED に設定して失敗します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |