Interface IAnalysisStatus

Représente la status de l’opération d’analyse d’entrée manuscrite en indiquant si l’analyse a été effectuée avec succès et si des avertissements se sont produits.

Membres

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

Méthodes

L’interface IAnalysisStatus a ces méthodes.

Méthode Description
GetAppliedChangesRegion Récupère la région du document qui correspond aux modifications apportées dans l’arborescence de nœuds de contexte de l’objet IInkAnalyzer à la suite de l’analyse manuscrite.
GetWarnings Récupère une collection IAnalysisWarnings qui décrit les erreurs et avertissements générés par l’opération d’analyse.
IsSuccessful Récupère un résumé booléen des résultats de l’opération d’analyse.

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 effectue une itération au sein de 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 Tablette 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::Analyze, méthode

IInkAnalyzer::BackgroundAnalyze, méthode

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