StylusInput API のスレッド処理に関する考慮事項
RealTimeStylus オブジェクトは、タブレット ペンからデータ ストリームにリアルタイムでアクセスできるように設計されています。 プラグイン。 IStylusSyncPlugin または IStylusAsyncPlugin インターフェイスを実装するオブジェクトを RealTimeStylus オブジェクトに追加できます。 同期プラグインは通常、優先度の高いスレッドの RealTimeStylus オブジェクトによって直接呼び出されますが、非同期プラグインは通常、アプリケーションのユーザー インターフェイス (UI) スレッドで呼び出されます。 データ ストリームへのリアルタイム アクセスを必要とし、パケット フィルター処理などの計算的に管理されていないタスクに対して同期プラグインを作成または使用します。 インク コレクションなど、データ ストリームへのリアルタイム アクセスを必要としないタスクに対して非同期プラグインを作成または使用します。
RealTimeStylus オブジェクトの非同期プラグイン コレクションのプラグイン データはキューに登録されているため、非同期プラグインは、RealTimeStylusDisabled メソッドの呼び出しを受信する前に、RealTimeStylus オブジェクトが無効になった後にデータを受信する可能性があります。 RealTimeStylus オブジェクトのメソッドとプロパティの一部では、RealTimeStylus オブジェクトが無効になっている場合に例外がスローされることに注意してください。
次の IStylusSyncPlugin インターフェイス メソッドは、タブレット ペン データ スレッド以外のスレッドで を呼び出す場合があります。
- RealTimeStylusEnabled メソッドと RealTimeStylusDisabled メソッドは、RealTimeStylus オブジェクトの Enabled プロパティを更新するか、RealTimeStylus オブジェクトが有効になっている間にプラグインを追加または削除するスレッドで呼び出されます。
- CustomStylusDataAdded メソッドは、RealTimeStylus オブジェクトの AddCustomStylusDataToQueue メソッドを呼び出すスレッドで呼び出されます。
- Error メソッドは、同期プラグインが例外をスローするときに実行されているスレッドで呼び出されます。
同期プラグインからアプリケーションを操作するには、RealTimeStylus オブジェクトの AddCustomStylusDataToQueue メソッドを使用し、非同期プラグインのいずれかでカスタム スタイラス データを処理します。同期プラグインから別のスレッドに対して同期呼び出しを行う場合は、RealTimeStylus オブジェクトをブロックし、インクコレクションをブロックすることができます。
特定のタスクでは、計算が要求される場合もありますが、マルチストローク ジェスチャ認識など、タブレット ペンのデータ ストリームへのリアルタイム アクセスが必要な場合があります。 StylusInput API には、2 つの RealTimeStylus オブジェクトを使用できるカスケードされた RealTimeStylus モデルが用意されています。各オブジェクトは、それぞれ異なるスレッドから同期プラグインを呼び出します。 カスケードされた RealTimeStylus モデルの詳細については、「 カスケードされた RealTimeStylus モデル」を参照してください。
注意
RealTimeStylus オブジェクトを別のプロセスのウィンドウまたはコントロールにアタッチすることはできません。
タブレット PC のスレッド処理に関する一般的な考慮事項の詳細については、「タブレット PC のスレッドに関する考慮事項」を参照してください。