getPointerTouchInfoHistory 函数 (winuser.h)

获取与PT_TOUCH ) 类型的指定 指针 (合并到当前消息中的单个输入(如果有)关联的基于触摸的信息。 最新输入包含在返回的历史记录中,与 GetPointerTouchInfo 函数返回的最新输入相同。

语法

BOOL GetPointerTouchInfoHistory(
  [in]            UINT32             pointerId,
  [in, out]       UINT32             *entriesCount,
  [out, optional] POINTER_TOUCH_INFO *touchInfo
);

参数

[in] pointerId

要检索其信息的指针的标识符。

[in, out] entriesCount

指向变量的指针,该变量指定 touchInfo 指向的缓冲区中的结构计数。 如果 GetPointerTouchInfoHistory 成功, 则 entriesCount 将更新为可用结构的总计数。 可用结构的总计数与调用 GetPointerInfo 或 GetPointerTouchInfo 返回的POINTER_INFO结构中的 historyCount 字段相同。

[out, optional] touchInfo

要接收指针信息的 POINTER_TOUCH_INFO 结构的数组的地址。 如果 *entriesCount 为零,此参数可以为 NULL。

返回值

如果函数成功,则返回值为非零。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

如果应用程序处理指针输入消息的速度不及生成消息的速度,则某些移动可能会被合并。 当应用程序收到PT_TOUCH) 消息类型的可 合并指针 (时,它可以使用 GetPointerTouchInfoHistory 函数检索合并到消息中的所有单个输入(如果有)的信息。 请注意,检索到的信息与调用线程最近检索的指针消息相关联。 调用线程检索其下一条消息后,与上一条消息关联的信息可能不再可用。

检索到的信息按倒序显示,返回的数组的第一行中包含最新的条目。 最新的条目与 GetPointerTouchInfo 函数返回的条目相同。

如果提供的缓冲区中的行计数不足以容纳所有可用的历史记录条目,则此函数会成功,并且包含最新条目的缓冲区和 *entriesCount ,其中包含可用条目的总计数。

如果指针帧除了指定的指针之外没有其他指针,则此函数将成功并仅返回指定指针的信息。

如果与指针帧关联的信息不再可用,此函数将失败,最后一个错误设置为 ERROR_NO_DATA

如果调用线程不拥有最初传递输入的窗口 (或消息转发) 指针消息传递到的位置,则此函数将失败,最后一个错误设置为 ERROR_ACCESS_DENIED

如果指定的指针的类型不是 PT_TOUCH,则此函数将失败,最后一个错误设置为 ERROR_DATATYPE_MISMATCH

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

请参阅

函数

GetPointerFrameTouchInfo

GetPointerFrameTouchInfoHistory

GetPointerTouchInfo