SkipPointerFrameMessages 関数 (winuser.h)
指定したポインターに対して最後に取得したメッセージを生成したポインター入力フレームを決定し、同じポインター入力フレームから生成されたキューに登録された (未削除の) ポインター入力メッセージを破棄します。 アプリケーションが GetPointerFrameInfo 関数、GetPointerFrameInfoHistory 関数、またはその型固有のバリアントのいずれかを使用してフレーム全体の情報を取得した場合、この関数を使用して、そのフレームから残りのメッセージを 1 つずつ取得および破棄しないようにすることができます。
構文
BOOL SkipPointerFrameMessages(
[in] UINT32 pointerId
);
パラメーター
[in] pointerId
ポインターの識別子。 このポインターに対して最後に取得された入力を含むフレームでは、保留中のメッセージはスキップされます。
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
並列モード デバイスは、フレーム内のポインター入力を報告する場合があります。つまり、1 つの入力レポート内のデバイスからのすべてのポインターの状態と位置をシステムに報告できます。 アプリケーション固有の要件で特に指示がない限り、アプリケーションはフレーム全体を 1 つの入力として表示することをお勧めします。
SkipPointerFrameMessages 関数は、GetPointerFrameInfo 関数 (またはその型固有のバリアントのいずれか) と組み合わせて使用して、フレーム全体を 1 つの入力として使用できます。
アプリケーションでポインター メッセージが表示されると、 GetPointerFrameInfo 関数を使用して、ポインター メッセージが属するポインター入力フレーム全体を取得できるため、ウィンドウが現在所有しているすべてのポインターの更新されたビューを取得できます。 返されるフレームには、指定したポインターと同じウィンドウによって現在所有されているポインターのみが含まれていることに注意してください。
情報のフレーム全体を取得すると、アプリケーションは SkipPointerFrameMessages 関数を呼び出して、取得待ちのこのフレームに関連付けられている残りのポインター メッセージをスキップできます。 これにより、残りのメッセージを 1 つずつ取得して処理するオーバーヘッドがアプリケーションに節約されます。
ポインター フレームに、指定したポインター以外に追加のポインターが含まれない場合、この関数はアクションなしで成功します。
呼び出し元のスレッドがポインター メッセージが配信されたウィンドウを所有していない場合、この関数は失敗し、最後のエラーが ERROR_ACCESS_DENIED に設定されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |