Interface IAnalysisWarning

Représente un avertissement ou une erreur qui se produit pendant une opération d’analyse d’encre.

Membres

L’interface IAnalysisWarning hérite de l’interface IUnknown. IAnalysisWarning a également les types de membres suivants :

Méthodes

L’interface IAnalysisWarning a ces méthodes.

Méthode Description
GetBackgroundError Récupère le code d’erreur pour l’opération d’analyse d’entrée manuscrite en arrière-plan si une erreur s’est produite.
GetHint Récupère l’indicateur d’analyse à l’origine de cet avertissement
GetNodeIds Récupère les identificateurs de tous les nœuds de contexte pertinents associés à cet avertissement.
GetWarningCode Récupère le type d’avertissement qui s’est produit à l’aide de l’énumération AnalysisWarningCode .

Notes

Les types d’avertissements qui peuvent se produire sont décrits par l’énumération AnalysisWarningCode . Souvent, des avertissements se produisent lorsque vous essayez d’utiliser une fonctionnalité qui n’est pas prise en charge par IInkAnalysisRecognizer que l’IInkAnalyzer utilise.

Certains avertissements indiquent que le IInkAnalyzer n’a pas terminé l’opération d’analyse. Pour plus d’informations, consultez AnalysisWarningCode.

Exemples

L’exemple suivant montre un plan d’un gestionnaire d’événements pour l’événement _IAnalysisEvents::Results . Le gestionnaire vérifie IAnalysisStatus::IsSuccessful. Si l’opération d’analyse génère des avertissements, le gestionnaire itère dans la collection d’objets IAnalysisWarning .

// _IAnalysisEvents::Results event handler.
STDMETHODIMP CMyClass::Results(
    IInkAnalyzer *pInkAnalyzer,
    IAnalysisStatus *pAnalysisStatus)
{
    // Check the status of the analysis operation.
    VARIANT_BOOL bResult = VARIANT_FALSE;
    HRESULT hr = pAnalysisStatus->IsSuccessful(&bResult);

    if( SUCCEEDED(hr) )
    {
        if( bResult )
        {
            // Insert code that handles a successful result.
        }
        else
        {
            // Get the analysis warnings.
            IAnalysisWarnings* pAnalysisWarnings = NULL;
            hr = pAnalysisStatus->GetWarnings(&pAnalysisWarnings);
            if (SUCCEEDED(hr))
            {
                // Iterate through the warning collection.
                ULONG warningCount = 0;
                hr = pAnalysisWarnings->GetCount(&warningCount);
                if (SUCCEEDED(hr))
                {
                    IAnalysisWarning *pAnalysisWarning = NULL;
                    AnalysisWarningCode analysisWarningCode;
                    for (ULONG index=0; index<warningCount; index++)
                    {
                        // Get an analysis warning.
                        hr = pAnalysisWarnings->GetAnalysisWarning(
                            index, &pAnalysisWarning);

                        if (SUCCEEDED(hr))
                        {
                            // Get the warning code for the warning.
                            hr = pAnalysisWarning->GetWarningCode(
                                &analysisWarningCode);

                            if (SUCCEEDED(hr))
                            {
                                // Insert code that handles each
                                // analysis warning.
                            }
                        }

                        // Release this reference to the analysis warning.
                        if (pAnalysisWarning != NULL)
                        {
                            pAnalysisWarning->Release();
                            pAnalysisWarning = NULL;
                        }

                        if (FAILED(hr))
                        {
                            break;
                        }
                    }
                }
            }

            // Release this reference to the analysis warnings collection.
            if (pAnalysisWarnings != NULL)
            {
                pAnalysisWarnings->Release();
                pAnalysisWarnings = NULL;
            }
        }
    }
    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

IAnalysisWarnings

AnalysisWarningCode

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