Partager via


Séquence d’appels classique

Les méthodes que vous devez implémenter pour créer un outil de reconnaissance manuscrite sont appelées par les API de plateforme Tablet PC et non pas directement par une application avec entrée manuscrite.

Les étapes suivantes représentent une séquence d’appel classique pour l’implémentation de ces méthodes :

  1. La DLL est chargée.
  2. Un handle HRECOGNIZER est créé.
  3. Un handle HRECOCONTEXT est créé.
  4. Les options et modes de reconnaissance sont définis pour ce contexte.
  5. Des traits sont ajoutés aux données manuscrites.
  6. L’entrée est terminée.
  7. L’encre est reconnue.
  8. Les résultats de la reconnaissance sont retournés.
  9. Le handle HRECOCONTEXT est détruit.
  10. Le handle HRECOGNIZER est détruit.

La séquence d’appels est également illustrée dans le plan de code suivant :

CreateRecognizer(CLSID, &hrec);
while (more pieces of ink to recognize ... )
{
  // Create a context, once per piece of ink to be recognized
  hrc = CreateContext(hrec, &hrc);

  // Functions to set up options and modes for this context
  SetGuide(hrc, pGuide, 0);
  SetFactoid(hrc, 5, PHONE); // only if in application with forms
  SetFlags(hrc, RECOFLAG_WORDMODE); // rare, only if wanting word mode, no out-of-dictionary, or single segmentation
  SetWordList(hrc, hwl);

  // Adding all the strokes in this piece of ink
  while (more strokes ... )
  {
    AddStroke(hrc, NULL, 800, pPacket, pXForm);  // one call per stroke
  }
  EndInkInput(hrc);

  // This gets the ink recognized
  Process(hrc);

  // If this is a simple application, it calls this for a simple answer
  GetBestResultString(hrc, length, buffer);

  // If this is a complex application, it calls this for a complete answer
  GetLatticePtr(hrc, &pLattice);

  // Destroy the context
  DestroyContext(hrc);
}
// Called just before the application shuts down
DestroyRecognizer(hrec);

API recognizer

Architecture de l’API de reconnaissance