Freigeben über


IAnalysisWarning-Schnittstelle

Stellt eine Warnung oder einen Fehler dar, der während eines Freihandanalysevorgangs auftritt.

Member

Die IAnalysisWarning-Schnittstelle erbt von der IUnknown-Schnittstelle . IAnalysisWarning verfügt auch über folgende Membertypen:

Methoden

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

Methode BESCHREIBUNG
GetBackgroundError Ruft den Fehlercode für den Freihandanalysevorgang im Hintergrund ab, wenn ein Fehler aufgetreten ist.
GetHint Ruft den Analysehinweis ab, der diese Warnung verursacht hat.
GetNodeIds Ruft die Bezeichner aller relevanten Kontextknoten ab, die dieser Warnung zugeordnet sind.
GetWarningCode Ruft den Typ der Warnung ab, die mithilfe der AnalysisWarningCode-Enumeration aufgetreten ist.

Bemerkungen

Die Arten von Warnungen, die auftreten können, werden durch die AnalysisWarningCode-Enumeration beschrieben. Häufig treten Warnungen auf, wenn Sie versuchen, ein Feature zu verwenden, das vom IInkAnalysisRecognizer nicht unterstützt wird, das von IInkAnalyzer verwendet wird.

Einige Warnungen deuten darauf hin, dass der IInkAnalyzer den Analysevorgang nicht abgeschlossen hat. Weitere Informationen finden Sie unter AnalysisWarningCode.

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

Siehe auch

IAnalysisWarnings

Analysiswarningcode

Freihandanalysereferenz