Partager via


Méthode IInkAnalyzer::GetRecognizedString

Récupère la chaîne de meilleur résultat de l’opération de reconnaissance pour l’ensemble de l’arborescence de nœuds de contexte dans IInkAnalyzer.

Syntaxe

HRESULT GetRecognizedString(
  [out] BSTR *pbstrRecognizedString
);

Paramètres

pbstrRecognizedString [out]

Chaîne de meilleur résultat de l’opération de reconnaissance pour l’ensemble de l’arborescence de nœud de contexte dans IInkAnalyzer.

Valeur retournée

Pour obtenir une description des valeurs de retour, consultez Classes et interfaces - Analyse manuscrite.

Notes

Attention

Pour éviter une fuite de mémoire, appelez SysFreeString pour pbstrRecognizedString lorsque vous n’avez plus besoin d’utiliser la chaîne.

Cette méthode retourne la même valeur que les données de propriété du nœud racine pour la chaîne reconnue. (Voir IInkAnalyzer::GetRootNode,IContextNode::GetPropertyData et Context Node Properties.)

Exemples

L’exemple suivant montre une méthode qui guide l’arborescence des résultats IContextNode de l’analyseur d’encre. Si IInkAnlyzer n’effectue pas actuellement d’analyse d’entrée manuscrite, la méthode effectue les opérations suivantes.

  • Obtient la chaîne de reconnaissance supérieure.
  • Obtient le nœud racine de l’analyseur d’encre.
  • Appelle une méthode d’assistance, ExploreContextNode, pour examiner le nœud racine et ses nœuds enfants.
// Helper method that explores the current analysis results of an ink analyzer.
HRESULT CMyClass::ExploreAnalysisResults(
    IInkAnalyzer *pInkAnalyzer)
{
    // Check that the ink analyzer is not currently analyzing ink.
    VARIANT_BOOL bIsAnalyzing;
    HRESULT hr = pInkAnalyzer->IsAnalyzing(&bIsAnalyzing);

    if (SUCCEEDED(hr))
    {
        if (bIsAnalyzing)
        {
            return E_PENDING;
        }

        // Get the ink analyzer's best-result string.
        BSTR recognizedString = NULL;
        hr = pInkAnalyzer->GetRecognizedString(&recognizedString);

        if (SUCCEEDED(hr))
        {
            // Insert code that records the ink analyzer's best-result string here.

            // Get the ink analyzer's root node.
            IContextNode *pRootNode = NULL;
            hr = pInkAnalyzer->GetRootNode(&pRootNode);

            if (SUCCEEDED(hr))
            {
                // Call a helper method that recursively explores context
                // nodes and their subnodes.
                hr = this->ExploreContextNode(pRootNode);
            }

            // Release this reference to the root node.
            if (pRootNode != NULL)
            {
                pRootNode->Release();
                pRootNode = NULL;
            }
        }

        // Free the system resources for the recognized string.
        SysFreeString(recognizedString);
    }

    return hr;
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP Édition Tablet PC [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
IACom.h (nécessite également IACom_i.c)
DLL
IACom.dll

Voir aussi

IInkAnalyzer

Informations de référence sur l’analyse manuscrite