次の方法で共有


StylusInput API のエラー処理に関する考慮事項

プラグインによってスローされたハンドルされない例外は、 RealTimeStylus オブジェクトによってキャッチされます。 プラグインが例外をスローすると、データの通常のフローが中断されます。 RealTimeStylus オブジェクト:

  1. ErrorData オブジェクトを (マネージド コードで) 作成します。
  2. 例外をスローしたプラグインの Error メソッド (マネージド コードでは Microsoft.StylusInput.IStylusSyncPlugin.Error または Microsoft.StylusInput.IStylusAsyncPlugin.Error メソッド) を呼び出します。
  3. そのコレクション内の残りのプラグインの Error メソッドを呼び出します。
  4. 例外をスローしたプラグインが同期プラグインの場合、 ErrorData オブジェクト (マネージド コード内) が出力キューに追加されます。
  5. RealTimeStylus オブジェクトは、元のデータの通常の処理を再開します。

プラグインが Error メソッドから例外をスローした場合、 RealTimeStylus オブジェクトは例外をキャッチしますが、新しい ErrorData オブジェクトは生成しません。 ErrorData をキューに追加する方法の詳細については、「 プラグイン データ」と「RealTimeStylus クラス」を参照してください。

RealTimeStylus オブジェクトは、プラグインの 1 つが例外をスローしたときに、タブレット ペンのデータ ストリームからのデータの処理を停止しません。 設計によっては、一部のプラグインで ErrorData 通知をサブスクライブし、例外が発生したときに動作を変更する必要がある場合があります。