Freigeben über


IAnalysisStatus-Schnittstelle

Stellt die status des Freihandanalysevorgangs dar, indem beschrieben wird, ob die Analyse erfolgreich abgeschlossen wurde und ob Warnungen aufgetreten sind.

Member

Die IAnalysisStatus-Schnittstelle erbt von der IUnknown-Schnittstelle . IAnalysisStatus verfügt auch über folgende Arten von Membern:

Methoden

Die IAnalysisStatus-Schnittstelle verfügt über diese Methoden.

Methode BESCHREIBUNG
GetAppliedChangesRegion Ruft den Bereich des Dokuments ab, der Änderungen entspricht, die als Ergebnis der Freihandanalyse in der Kontextknotenstruktur des IInkAnalyzer-Objekts vorgenommen wurden.
GetWarnings Ruft eine IAnalysisWarnings-Auflistung ab, die alle Fehler und Warnungen beschreibt, die vom Analysevorgang generiert werden.
IsSuccessful Ruft eine boolesche Zusammenfassung der Ergebnisse des Analysevorgangs ab.

Beispiele

Das folgende Beispiel zeigt eine Gliederung eines Ereignishandlers für das ereignis _IAnalysisEvents::Results . Der Handler überprüft IAnalysisStatus::IsSuccessful. Wenn der Analysevorgang Warnungen generiert, durchläuft der Handler die Auflistung von IAnalysisWarning-Objekten .

// _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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Nicht unterstützt
Header
IACom.h (erfordert auch IACom_i.c)
DLL
IACom.dll

Weitere Informationen

IInkAnalyzer::Analyze-Methode

IInkAnalyzer::BackgroundAnalyze-Methode

Freihandanalysereferenz