InkRecognizerContext
構造体サイズ=各フィールドのバイト数(x64/x86 で異なる場合は x64/x86 と併記)。x64/x86 列=フィールドのバイトオフセット(HSPで dupptr / lpoke / wpoke 等に使用)。
フィールド
(フィールドなし)
公式ドキュメント
インク認識の実行、認識結果の取得、および代替候補の取得を可能にします。InkRecognizerContext により、システムにインストールされているさまざまな認識エンジンがインク認識を使用して入力を適切に処理できるようになります。
InkRecognizerContext には次の種類のメンバーがあります。
Events
InkRecognizerContext クラスには次のイベントがあります。
| イベント | 説明 |
|---|---|
| Recognition | InkRecognizerContext が BackgroundRecognize メソッドから結果を生成したときに発生します。 |
| RecognitionWithAlternates | InkRecognizerContext が BackgroundRecognizeWithAlternates メソッドの呼び出し後に結果を生成したときに発生します。 |
Interfaces
InkRecognizerContext クラスは次のインターフェイスを定義します。
| インターフェイス | 説明 |
|---|---|
| IInkRecognizerContext | このオブジェクトは IInkRecognizerContext COM インターフェイスを実装します。 |
Methods
InkRecognizerContext クラスには次のメソッドがあります。
| メソッド | 説明 |
|---|---|
| BackgroundRecognize | 認識エンジンが関連付けられたストロークを認識し、認識の完了時に Recognition イベントを発生させるように指定します。 |
| BackgroundRecognizeWithAlternates | 認識エンジンが関連付けられたストロークを認識し、認識の完了時に RecognitionWithAlternates イベントを発生させるように指定します。 |
| Clone | InkRecognizerContext の複製を作成します。 |
| EndInkInput | InkRecognizerContext へのインク入力を終了します。 |
| IsStringSupported | システム辞書、ユーザー辞書、または 単語リスト に指定された文字列が含まれているかどうかを示します。 |
| Recognize | InkStrokes コレクションに対して認識を実行し、認識結果を返します。 |
| StopBackgroundRecognition | BackgroundRecognize または BackgroundRecognizeWithAlternates の呼び出しによって開始されたバックグラウンド認識を終了します。 |
Properties
InkRecognizerContext クラスには次のプロパティがあります。
| プロパティ | アクセス種別 | 説明 |
|---|---|---|
| CharacterAutoCompletion |
読み取り/書き込み |
文字または単語がいつ認識されるかを決定する、文字の自動補完モードを取得または設定します。 |
| Factoid |
読み取り/書き込み |
InkRecognizerContext オブジェクトが使用する factoid の文字列名を取得または設定します。 |
| Guide |
読み取り/書き込み |
インク入力に使用する InkRecognizerGuide を取得または設定します。 |
| PrefixText |
読み取り/書き込み |
InkRecognizerContext オブジェクト内で InkStrokes コレクションの前に来る文字を取得または設定します。 |
| RecognitionFlags |
読み取り/書き込み |
認識エンジンがインクをどのように解釈し、結果文字列を決定するかを指定するフラグを取得または設定します。 |
| Recognizer |
読み取り/書き込み |
InkRecognizerContext オブジェクトが使用する IInkRecognizer オブジェクトを取得または設定します。 |
| Strokes |
読み取り/書き込み |
InkRecognizerContext オブジェクトに関連付けられた InkStrokes コレクションを取得または設定します。 |
| SuffixText |
読み取り/書き込み |
InkRecognizerContext オブジェクト内で InkStrokes コレクションの後に来る文字を取得または設定します。 |
| WordList |
読み取り/書き込み |
認識結果を改善するために使用される InkWordList オブジェクトを取得または設定します。 |
解説(Remarks)
このオブジェクトは、C++ では CoCreateInstance メソッドを呼び出すことでインスタンス化できます。
認識には、バックグラウンド (非同期) とフォアグラウンド (同期) の 2 種類があります。バックグラウンド認識は BackgroundRecognize メソッドまたは BackgroundRecognizeWithAlternates メソッドの呼び出しによって開始され、バックグラウンド スレッドで実行されて、イベント機構を通じてアプリケーションに結果を通知します。フォアグラウンド認識はすべての認識が完了するまで戻らないため、認識イベントを待ち受けることなく、呼び出し元のスレッドで認識結果を利用できます。
インクはバックグラウンドで継続的に処理されます。InkRecognizerContext が参照する InkStrokes コレクションに IInkStrokeDisp が追加されると、その IInkStrokeDisp はただちに認識されます。詳細については、EndInkInput メソッドのトピックの解説を参照してください。
すべての認識は認識コンテキストを通じて行われます。コンテキストは 1 回の認識セッションの設定を定義します。コンテキストは認識対象のインクを受け取り、インク入力および認識出力に対する制約を定義します。コンテキストに設定できる制約には、言語、辞書、使用される文法などがあります。
Strokes プロパティおよび CharacterAutoCompletion プロパティ以外のプロパティの設定は、InkStrokes コレクションが NULL の場合にのみ成功します。InkStrokes コレクションを InkRecognizerContext に関連付ける前に他のプロパティを設定するか、InkStrokes コレクションを NULL に設定してから他のプロパティを設定する必要があります。InkStrokes コレクションを NULL に設定してから他のプロパティを設定した場合は、InkStrokes コレクションを再度関連付ける必要が生じることがあります。これは、InkStrokes を InkRecognizerContext に割り当てた直後に認識が開始されるためです。Recognize メソッド [InkRecognizeContext クラス] または BackgroundRecognize を呼び出した時点で、呼び出し結果がすでに利用可能になっている場合があります。
アプリケーションのパフォーマンスを向上させるため、InkRecognizerContext オブジェクトが不要になったら破棄してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp)