次の方法で共有


GetPointerPenInfoHistory 関数 (winuser.h)

指定したポインターの現在のメッセージに結合された個々の入力 (存在する場合) に関連付けられているペンベースの情報を取得します ( 型PT_PEN)。 最新の入力は返された履歴に含まれ、 GetPointerPenInfo 関数によって返された最新の入力と同じです。

構文

BOOL GetPointerPenInfoHistory(
  [in]            UINT32           pointerId,
  [in, out]       UINT32           *entriesCount,
  [out, optional] POINTER_PEN_INFO *penInfo
);

パラメーター

[in] pointerId

情報を取得するポインターの識別子。

[in, out] entriesCount

penInfo が指すバッファー内の構造体の数を指定する変数へのポインター。 GetPointerPenInfoHistory が成功した場合、entriesCount は使用可能な構造体の合計数で更新されます。 使用できる構造体の合計数は、GetPointerPenInfo の呼び出しによって返されるPOINTER_PEN_INFO構造体の historyCount フィールドと同じです。

[out, optional] penInfo

ポインター情報を受け取 るPOINTER_PEN_INFO 構造体の配列のアドレス。 *entriesCount が 0 の場合、このパラメーターは NULL にすることができます。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

アプリケーションがポインター入力メッセージを生成ほど速く処理しない場合は、一部の移動が結合される可能性があります。 アプリケーションは、(PT_PEN 型の) 合体可能なポインター メッセージ 受信すると、 GetPointerPenInfoHistory 関数を使用して、メッセージに結合されたすべての個々の入力 (ある場合) の情報を取得できます。 取得された情報は、呼び出し元のスレッドによって最後に取得されたポインター メッセージに関連付けられていることに注意してください。 呼び出し元のスレッドが次のメッセージを取得すると、前のメッセージに関連付けられている情報が使用できなくなる可能性があります。

取得された情報は、逆の時系列順に表示され、返された配列の最初の行に最新のエントリが表示されます。 最新のエントリは、 GetPointerPenInfo 関数によって返されるエントリと同じです。

指定されたバッファー内の行数が、使用可能なすべての履歴エントリを保持するのに不十分な場合、この関数は、最新のエントリを含むバッファーと、使用可能なエントリの合計数を含む *entriesCount で成功します。

ポインター フレームに、指定したポインター以外に追加のポインターが含まれない場合、この関数は成功し、指定されたポインターの情報のみを返します。

ポインター フレームに関連付けられている情報が使用できなくなった場合、この関数は最後のエラーが ERROR_NO_DATA に設定されて失敗します。

呼び出し元のスレッドが、ポインター メッセージが配信されたウィンドウ (入力が最初に配信されたウィンドウ、またはメッセージが転送された場所) を所有していない場合、この関数は最後のエラーを ERROR_ACCESS_DENIED に設定して失敗します。

指定したポインターが 型PT_PENでない場合、この関数は最後のエラーが ERROR_DATATYPE_MISMATCH に設定されて失敗します。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

関連項目

関数

GetPointerFramePenInfo

GetPointerFramePenInfoHistory

GetPointerPenInfo