StylusInput API 的线程处理注意事项

RealTimeStylus 对象旨在提供对平板电脑笔中数据流的实时访问。 插件,实现 IStylusSyncPluginIStylusAsyncPlugin 接口的对象可以添加到 RealTimeStylus 对象。 同步插件通常由高优先级线程上的 RealTimeStylus 对象直接调用,而异步插件通常在应用程序的用户界面 (UI) 线程上调用。 为需要实时访问数据流且在计算上不要求的任务(如数据包筛选)创建或使用同步插件。 为不需要实时访问数据流的任务(如墨迹收集)创建或使用异步插件。

由于 RealTimeStylus 对象的异步插件集合的插件数据已排队,因此异步插件可能会在接收对其 RealTimeStylusDisabled 方法的调用之前接收数据,但在禁用 RealTimeStylus 对象之后接收数据。 请注意,如果 RealTimeStylus 对象被禁用,则 某些 RealTimeStylus 对象的方法和属性会引发异常。

以下 IStylusSyncPlugin 接口方法可以在非平板电脑笔数据线程的线程上调用 。

若要从同步插件与应用程序交互,请使用 RealTimeStylus 对象的 AddCustomStylusDataToQueue 方法,并在其中一个异步插件中处理自定义触笔数据。如果从同步插件对另一个线程进行同步调用,可能会阻止 RealTimeStylus 对象,从而阻止墨迹收集。

某些任务在计算上可能要求很大,但仍需要实时访问平板电脑笔的数据流,例如用于多击手势识别。 StylusInput API 提供级联 RealTimeStylus 模型,允许使用两个 RealTimeStylus 对象,每个对象从不同的线程调用其同步插件。 有关级联 RealTimeStylus 模型的详细信息,请参阅 级联 RealTimeStylus 模型

注意

不能将 RealTimeStylus 对象附加到不同进程中的窗口或控件。

 

有关平板电脑线程处理注意事项的详细信息,请参阅 平板电脑线程处理注意事项