Partager via


Séquence d’appel classique

Les méthodes que vous devez implémenter pour créer un module de reconnaissance manuscrite sont appelées par les API de la plateforme Tablet PC et non 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. Les 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. La poignée HRECOGNIZER est détruite.

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 reconnaissance